当前位置:文档之家› C语言课程设计报告火车票信息管理系统

C语言课程设计报告火车票信息管理系统

C语言课程设计报告火车票信息管理系统
C语言课程设计报告火车票信息管理系统

江苏教育学院信息技术专业

课程设计报告

2010-2011学年第一学期

票务信息管理程序

一、课程设计内容

47座城市的火车票的查询,购买,退订的程序。

其涉及的主要算法有:1输入;2.查询;3.输出;4.选择;5.返回。

二、课程设计目的

设计南京火车站的票务信息管理程序,其主要问题要求是做一个车票购买的函数的显示程序

三、算法的基本思想

1.数据的结构

此程序需要设计2个数据结构,结构体设计如下:

(1)typedef struct traininfor

{

char station[10][10]; //记录车站信息

char tnumber[20]; //车次号

float price;//车票价格

int lnumber;//生成票量

char time[20];//到站时间

}pemp;

(2)struct ticket

{

char buyer[10];//购票人姓名

char source[30];//起始站

char dest[30];//终点站

int bnumber;//购买张数

};

2.函数定义

程序源文件中包含的函数如下

3.处理过程

1)菜单显示程序

void menu(pemp *pointtr,struct ticket *pointtk)

{

int a;

printf("\n\n\n\n -----------------目录-----------------\n"); printf(" 1,查询车票\n");

printf(" 2,购买车票\n");

printf(" 3,退订车票\n");

printf(" 4,退出程序\n");

printf(" 请输入选项序号:");

scanf("%d",&a);

if(a==1)

{

check(pointtr,pointtk);//按起始地查找

menu(pointtr,pointtk);//显示菜单程序

}

else if(a==2)

buy(pointtr,pointtk);//购买车票

else if(a==3)

returnt(pointtr,pointtk);//退订车票

else if(a==4)

{

printf("谢谢使用!");

//exit();

exit(0);

}

}

2)车票购买函数

void buy(pemp *pointtr,struct ticket *pointtk)

{

char choice[10];

int buynumber;

printf("请输入您的姓名:\n");

scanf("%s",pointtk->buyer);//输入姓名

check(pointtr,pointtk);//查询是否有车票

if((strcmp(pointtk->dest,"o"))==0)//如果没有给出提示

{

printf("无此站!返回菜单!\n");

menu(pointtr,pointtk);

}

else

{

printf("您确定购买此车票吗? 1.是 2.否\n");//确认购买

scanf("%d",choice);

if((strcmp(choice,"1"))==0)

{

printf("请输入您要购买的张数:\n");//输入张数

{

scanf("%d",&buynumber);

if(buynumber<0)return;

}

if(((pointtr->lnumber)-buynumber)>=0)

{

printf("购买成功!返回菜单\n");

pointtk->bnumber=buynumber;

(pointtr->lnumber)-=buynumber;

menu(pointtr,pointtk);

}

else

{

printf("车票已售完或不足,不能购买!返回菜单\n");

menu(pointtr,pointtk);

}

}

else if((strcmp(choice,"2"))==0)//放弃购买

{

printf("放弃购买,返回菜单 \n");

menu(pointtr,pointtk);

}

else

{

menu(pointtr,pointtk);

printf("错误,返回菜单\n");

menu(pointtr,pointtk);

}

}

}

3)退订票务程序

void returnt(pemp *pointtr,struct ticket *pointtk) {

char choice[10];

printf("您确定要退票吗?1.是2.否\n");

scanf("%s",choice);

if((strcmp(choice,"1"))==0)

{

printf("退票成功!返回菜单\n");

pointtr->lnumber+=pointtk->bnumber;

menu(pointtr,pointtk);

}

else if ((strcmp(choice,"2"))==0)

{

printf("放弃退票,返回菜单\n");

menu(pointtr,pointtk);

}

else

{

menu(pointtr,pointtk);

printf("错误,返回菜单\n");

menu(pointtr,pointtk);

}

}

4)显示信息

void show(struct ticket *pointtk,pemp *pointtr)

{

printf("车次: ");

printf("T11");

printf("起始地-------->目的地: ");

printf("%s--------->",pointtk->source);

printf("%s\n",pointtk->dest);

printf("到达时间: ",pointtk->source);

printf("%s\n",pointtr->time);

printf("票价: ");

printf("%10.2f\n",pointtr->price);

printf("车票数量: ");

printf("%d\n",pointtr->lnumber);

}

5)按起始地目的地查找

void check(pemp *pointtr,struct ticket *pointtk)

{

int i,j,count=0;

char sour[10];

char dest[10];

printf("请输入起始地: \n");//输入起始地

scanf("%s",sour);

printf("请输入目的地: \n");//输入目的地

scanf("%s",dest);

for(i=0;i

{

if(strcmp(pointtr->station[i],sour)==0)//查找第一个车站

{

for(j=0;j

{

if(strcmp(pointtr->station[j],dest)==0)//查找地二个车站

{

strcpy(pointtk->source,pointtr->station[i]); //将车站写入车票中

strcpy(pointtk->dest,pointtr->station[j]);

show(pointtk,pointtr);

count++;

break;

}

}

}

if(count==0)

{

printf("无信息!\n");

strcpy(pointtk->source,"0");//如果没找到车站为空的

strcpy(pointtk->dest,"0");

return;

}

}

}

四、测试结果

1.主菜单显示

-----------------目录-----------------

1,查询车票

2,购买车票

3,退订车票

4,退出程序

请输入选项序号:

2.查询车票

-----------------目录-----------------

1,查询车票

2,购买车票

3,退订车票

4,退出程序

请输入选项序号:1

请输入起始地:

南京

请输入目的地:

邳州

车次: T11起始地-------->目的地: 南京--------->徐州到达时间: 2011年11月11日11时11分

票价: 56.00

车票数量: 0

-----------------目录-----------------

1,查询车票

2,购买车票

3,退订车票

4,退出程序

请输入选项序号:

3.购买车票

-----------------目录-----------------

1,查询车票

2,购买车票

3,退订车票

4,退出程序

请输入选项序号:2

请输入您的姓名:

张洁

请输入起始地:

南京

请输入目的地:

邳州

车次: T11起始地-------->目的地: 南京--------->徐州到达时间: 2011年11月11日11时11分

票价: 56.00

车票数量: 0

您确定购买此车票吗? 1.是 2.否

1

-----------------目录-----------------

1,查询车票

2,购买车票

3,退订车票

请输入选项序号:

4.退订车票

-----------------目录----------------- 1,查询车票

2,购买车票

3,退订车票

4,退出程序

请输入选项序号:3

您确定要退票吗?1.是2.否

1

退票成功!返回菜单

-----------------目录----------------- 1,查询车票

2,购买车票

3,退订车票

4,退出程序

请输入选项序号:

5.退出程序

-----------------目录-----------------

2,购买车票

3,退订车票

4,退出程序

请输入选项序号:4

谢谢使用!Press any key to continue

五、源程序代码

#include

#include

#include

#define num 100

typedef struct traininfor

{

char station[10][10]; //记录车站信息

char tnumber[20]; //车次号

float price;//车票价格

int lnumber;//生成票量

char time[20];//到站时间

}pemp;

struct ticket

{

char buyer[10];//购票人姓名

char source[30];//起始站

char dest[30];//终点站

int bnumber;//购买张数

};

void menu(pemp *pointtr,struct ticket *pointtk); void buy(pemp *pointtr,struct ticket *pointtk); void returnt(pemp *pointtr,struct ticket *pointtk); void check(pemp *pointtr,struct ticket *pointtk); void show(struct ticket *pointtk,pemp *pointtr);

//void exit();

int main()

{

pemp traininformation[num];

struct ticket cheque[num];

pemp *pointtr;

struct ticket *pointtk;

pointtr=traininformation;

pointtk=cheque;

strcpy(pointtr->station[0],"南京");

strcpy(pointtr->station[1],"徐州");

strcpy(pointtr->station[2],"重庆");

strcpy(pointtr->station[3],"苏州");

strcpy(pointtr->station[4],"南通");

strcpy(pointtr->station[5],"上海");

strcpy(pointtr->station[6],"深圳");

strcpy(pointtr->station[7],"广州");

strcpy(pointtr->station[8],"大连");

strcpy(pointtr->station[9],"北京");

strcpy(pointtr->station[10],"天津");

strcpy(pointtr->station[11],"滁州");

strcpy(pointtr->station[12],"扬州");

strcpy(pointtr->station[13],"重庆");

strcpy(pointtr->station[14],"蚌埠");

strcpy(pointtr->station[15],"西安");

strcpy(pointtr->station[16],"济南");

strcpy(pointtr->station[17],"太原");

strcpy(pointtr->station[18],"成都");

strcpy(pointtr->station[19],"石家庄");

strcpy(pointtr->station[20],"长沙");

strcpy(pointtr->station[21],"保定");

strcpy(pointtr->station[22],"贵州");

strcpy(pointtr->station[23],"长春");

strcpy(pointtr->station[24],"哈尔滨");

strcpy(pointtr->station[25],"青岛");

strcpy(pointtr->station[26],"吐鲁番");

strcpy(pointtr->station[27],"拉萨");

strcpy(pointtr->station[28],"杭州");

strcpy(pointtr->station[29],"无锡");

strcpy(pointtr->station[30],"常州");

strcpy(pointtr->station[31],"金华");

strcpy(pointtr->station[32],"合肥");

strcpy(pointtr->station[33],"盐城");

strcpy(pointtr->station[34],"宿迁");

strcpy(pointtr->station[35],"日照");

strcpy(pointtr->station[36],"大理");

strcpy(pointtr->station[37],"昆山");

strcpy(pointtr->station[38],"郑州");

strcpy(pointtr->station[39],"汉口");

strcpy(pointtr->station[40],"宁波");

strcpy(pointtr->station[41],"南昌");

strcpy(pointtr->station[42],"芜湖");

strcpy(pointtr->station[43],"泰州");

strcpy(pointtr->station[44],"镇江");

strcpy(pointtr->station[45],"昆明");

strcpy(pointtr->station[46],"武汉");

strcpy(pointtr->station[47],"沈阳");

strcpy(pointtr->station[48],"武昌");

strcpy(pointtr->tnumber,"T11");

pointtr->price=88.00;

pointtr->lnumber=50;

strcpy(pointtr->time,"2010年12月22日22时22分");

pointtr->lnumber=0;

menu(pointtr,pointtk);

return 0;

}

void menu(pemp *pointtr,struct ticket *pointtk)

{

int a;

printf("\n\n\n\n -----------------目录-----------------\n"); printf(" 1,查询车票\n");

printf(" 2,购买车票\n");

printf(" 3,退订车票\n");

printf(" 4,退出程序\n");

printf(" 请输入选项序号:");

scanf("%d",&a);

if(a==1)

{

check(pointtr,pointtk);//按起始地查找

menu(pointtr,pointtk);//显示菜单程序}

else if(a==2)

buy(pointtr,pointtk);//购买车票

else if(a==3)

returnt(pointtr,pointtk);//退订车票else if(a==4)

{

printf("谢谢使用!");

//exit();

exit(0);

}

}

void show(struct ticket *pointtk,pemp *pointtr) {

printf("车次: ");

printf("T11");

printf("起始地-------->目的地: ");

printf("%s--------->",pointtk->source);

printf("%s\n",pointtk->dest);

printf("到达时间: ",pointtk->source);

printf("%s\n",pointtr->time);

printf("票价: ");

printf("%10.2f\n",pointtr->price);

printf("车票数量: ");

printf("%d\n",pointtr->lnumber);

}

void check(pemp *pointtr,struct ticket *pointtk)

int i,j,count=0;

char sour[10];

char dest[10];

printf("请输入起始地: \n");//输入起始地

scanf("%s",sour);

printf("请输入目的地: \n");//输入目的地

scanf("%s",dest);

for(i=0;i

{

if(strcmp(pointtr->station[i],sour)==0)//查找第一个车站

{

for(j=0;j

{

if(strcmp(pointtr->station[j],dest)==0)//查找地二个车站

{

strcpy(pointtk->source,pointtr->station[i]); //将车站写入车票中

strcpy(pointtk->dest,pointtr->station[j]);

show(pointtk,pointtr);

count++;

break;

}

}

}

if(count==0)

{

printf("无信息!\n");

strcpy(pointtk->source,"0");//如果没找到车站为空的

strcpy(pointtk->dest,"0");

return;

}

}

}

void buy(pemp *pointtr,struct ticket *pointtk)

char choice[10];

int buynumber;

printf("请输入您的姓名:\n");

scanf("%s",pointtk->buyer);//输入姓名

check(pointtr,pointtk);//查询是否有车票

if((strcmp(pointtk->dest,"o"))==0)//如果没有给出提示

{

printf("无此站!返回菜单!\n");

menu(pointtr,pointtk);

}

else

{

printf("您确定购买此车票吗? 1.是 2.否\n");//确认购买

scanf("%d",choice);

if((strcmp(choice,"1"))==0)

{

printf("请输入您要购买的张数:\n");//输入张数

{

scanf("%d",&buynumber);

if(buynumber<0)return;

}

if(((pointtr->lnumber)-buynumber)>=0)

{

printf("购买成功!返回菜单\n");

pointtk->bnumber=buynumber;

(pointtr->lnumber)-=buynumber;

menu(pointtr,pointtk);

}

else

{

printf("车票已售完或不足,不能购买!返回菜单\n");

menu(pointtr,pointtk);

}

}

else if((strcmp(choice,"2"))==0)//放弃购买

{

printf("放弃购买,返回菜单 \n");

menu(pointtr,pointtk);

}

else

{

menu(pointtr,pointtk);

printf("错误,返回菜单\n");

menu(pointtr,pointtk);

}

}

}

void returnt(pemp *pointtr,struct ticket *pointtk) {

char choice[10];

printf("您确定要退票吗?1.是2.否\n");

scanf("%s",choice);

if((strcmp(choice,"1"))==0)

{

printf("退票成功!返回菜单\n");

pointtr->lnumber+=pointtk->bnumber;

menu(pointtr,pointtk);

}

else if ((strcmp(choice,"2"))==0)

{

printf("放弃退票,返回菜单\n");

menu(pointtr,pointtk);

}

else

{

menu(pointtr,pointtk);

printf("错误,返回菜单\n");

menu(pointtr,pointtk);

}

}

六、心得体会

我在确定做这个程序前,查阅了好多的资料,也问过好多同学,最后才决定做“火车票信息管理系统”的程序。

在刚做票务信息管理程序时,我遇到的最大的问题就是火车票信息管理程序需要哪些主体函数来支撑。通过查找资料,和实地考察,明白了我所设计的程序是有两个数据结构体,一个是车站信息结构体,一个是车票结构体。然后又查了一下这两个主体函数需要哪些函数来支持。当我把这些都搞清楚了,脑子里有了一个大概的框架后,我就开始按照自己的思路来编程。在编程的过程中,我又把哪些函数的作用看了一遍,但在打字的时候总是粗心,不是漏个字母就是漏个大括号。编程完毕后,我第一次检测,错误有56多个,然后我就对着代码下面的错误栏一个一个的改,然后再测试,可第二次测试时还有9个错误,我就有点灰心了,束手无策。最终是找我的朋友帮我看看。经过多方帮助,我终于把这份作业做好了。

这份作业我做了4周多,感觉很困难。因为我们是刚接触计算机,对于刚入门的我们要做200行以上的程序确实有点棘手。但最后还是完成了,希望老师肚对我的作业能够提出宝贵的意见。。

七、参考文献

1.《c语言程序设计教程【m】》第四版王敬华,林萍,陈静北京清华出

版社 2005.10

2.《c++程序设计》谢昕,刘觉夫,王更生北京邮电大学出版社2009

https://www.doczj.com/doc/bd525730.html,

C语言课程设计火车票管理系统

二、设计内容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下: 需求描述: 1. 系统功能 (1)火车时刻信息录入。包括车次、日期、起点、终点、开车时 间、到达时间、票价。数据存入数据文件hchsk.dat 或hchsk.txt 中。 (2)火车时刻信息查询。 按照车次查询按终点查询 按起点查询按终点和日期查询 (3) 统计按终点统计每日的车次数按起点统计每日的车次数 2. 系统主界面应有以下功能选项录入火车时刻信息查询火车时刻 信息统计火车车次退出

三、详细设计说明 #include #include #include int MENU(); //菜单模块 void INPUT(); //输入模块 void SEARCH(); //查询模块 void SELECT(); //统计模块 void WRITE(); //文件记录模块 void PRINT(); //打印模块 void READ(); //文件读取模块 void WRONG(); //纠错模块 #define N 1000 //最大列车组数 #define Print " %s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at,T[i].pr ice //输出记录格式 #define Wrong "\n ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输入! ! ! ! ! ! ! ! ! ! ! \n" #define GeShi " 车次日期起点终点开车时间到达时间票价\n" struct Train { char code[10]; //车次 char data[10]; //日期 //left place 起点 char lp[10]; char ap[10]; //arrive place 终点 char lt[10]; //left time 开车时间 char at[10]; //arrive time 到达时间 char price[10]; // 票价

c语言课程设计报告·图书管理系统

第一章 §题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能: (1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。 3.结构体系设计 图:主函数结构;图:新书信息录入流程;图:图书信息查询(管理员)流程;图:图书信息查询(学生)流程;图:图书信息删除流程;图:办理借书手续流程;图:办理还书手续流程; §程序设计及代码分析 1.程序设计: 下面,我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时,首先进入系统主界面,然后可以选择[1].管理员登陆(密码:123),[2].学生登陆,[0].退出系统; 选择[1]后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。管理员功能菜单中,[1].新书信息录入,[2].图书信息查询,[3].图书信息删除,[4].返回主菜单,[0].退出系统;当出现“请选择”时,输入选项前的数字,输完之后按回车(下同)。首次运行系统需要先选择[1]录入库存书籍信息,图书各信息项须用空格键隔开,输入完毕后信息自动储存并更新至数据库,然后再选择其他操作。当选择[3]时会进入图书信息删除,在这里可以选择删除图书信息等操

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

c语言课程设计报告书--学生成绩管理

C 语言程序设计报告 课题:学生成绩管理 时间:

一、需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具体要求如下: 1.主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 系统功能需求分析: 1、定义一个结构体类型,成员包括学期、班级、各科成绩、建立链表,定义该结构体类型的指针,用于指向各结点; 2、分别建立具有添输入、修改、查询、总分及平均分、排序等功能的子函数,完成相应功能,对程序实现模块化。 二、概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的子函数,各子函数中运用链表存储数据。 系统功能模块图:

三、详细设计 主要功能模块的算法设计思路如下: 1、输入信息函数 (1)定义指向结构体变量的指针; (2)移动指针,找到插入结点; (3)在要插入的结点输入信息; (4)返回头指针。 2、修改信息 (1)定义指向结构体变量的指针; (2)用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; (3)根据要修改的编号查找对应结点; (4)修改信息;

(5)修改成功。 3、排序函数 (1)定义所要排序的班级和链表的头指针为形参; (2)调用排序函数,把班级和链表的头指针赋给形参; (3)在子函数中进行排序; (4)输出排序结果。 4、显示学生成绩信息(void Disp(Link l)) (1)选择想要查询的项目(学生各科成绩、不及格科目、班级成员);(2)用指针检验是否有记录; (3)若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find(Link l)) (1)选择所要查询的班级; (2)输入班级: (3)在链表中寻找相应结点; (4)输出结点信息。 以上各个函数的流程图如下:

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

c语言课程设计车票管理系统

河北建筑工程学院课程设计报告 课程设计名称:C语言课程设计 课程设计题目:车票管理系统 院(系):理学院 专业:信息与计算科学 班级:信142 学号: 姓名:李嘉星 指导教师:李鸿强 完成日期:2015-6-17

目录

前言 随着计算机技术的发展,可视编程技术占有了越来越重要的作用。Visual C++6.0 是一种功能强大行之有效的可视化编程工具。因此此软件是在Visual C++6.0环境下编写的。对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对Visual C++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。 本文档详细叙述了基于Visual C++6.0环境下的车票管理系统的设计过程以及程序源代码。 本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。 此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C语言语法。 程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。 第1章概要设计 1.1题目的内容与要求 一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次发车时间起点站终点站行车时间额定载量已定票人 数 1 8:00 郫县广汉 2 45 30 2 6:30 郫县成都 0.5 40 40 3 7:00 郫县成都 0.5 40 20

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

汇编语言课程设计报告——实现加减乘除四则运算的计算器

汇编语言课程设计报告 ( 2011 -- 2012 年度第 2 学期) 实现加减乘除四则运算的计算器 专业 计算机科学与技术 学生姓名 班级 学号 指导教师 完成日期

目录 目录错误!未定义书签。 1 概述错误!未定义书签。 设计目的错误!未定义书签。 设计内容错误!未定义书签。 2 系统需求分析错误!未定义书签。 系统目标错误!未定义书签。 主体功能错误!未定义书签。 开发环境错误!未定义书签。 3 系统概要设计错误!未定义书签。 系统的功能模块划分错误!未定义书签。系统流程图错误!未定义书签。 4系统详细设计错误!未定义书签。 5 测试错误!未定义书签。 测试方案错误!未定义书签。 测试结果错误!未定义书签。 6 小结错误!未定义书签。 参考文献错误!未定义书签。 附录错误!未定义书签。 附录源程序清单错误!未定义书签。

实现加减乘除四则运算的计算器 1 概述 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。 设计内容 能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\tasm>js 3+2 5 2 系统需求分析 系统目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。 主体功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入2个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 开发环境 集成环境 3 系统概要设计 系统的功能模块划分 本题目实现的模块图如图3-1所示

C语言课程设计火车票管理系统

C语言课程设计火车票 管理系统 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

二、设计内容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下: 需求描述: 1.系统功能 (1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时 间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。 (2)火车时刻信息查询。 按照车次查询 按终点查询 按起点查询 按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数 2. 系统主界面应有以下功能选项 录入火车时刻信息 查询火车时刻信息 统计火车车次 退出 三、详细设计说明 #include

#include #include int MENU(); //菜单模块 void INPUT(); //输入模块 void SEARCH(); //查询模块 void SELECT(); //统计模块 void WRITE(); //文件记录模块 void PRINT(); //打印模块 void READ(); //文件读取模块 void WRONG(); //纠错模块 #define N 1000 //最大列车组数 #define Print " %s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at ,T[i].price //输出记录格式 #define Wrong "\n ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输 入 ! ! ! ! ! ! ! ! ! ! ! \n" #define GeShi " 车次日期起点终点开车时间到达时间票价\n" struct Train { char code[10]; //车次 char data[10]; //日期 char lp[10]; //left place 起点 char ap[10]; //arrive place 终点 char lt[10]; //left time 开车时间 char at[10]; //arrive time 到达时间 char price[10]; // 票价 }T[N]; /* 全局变量 */ int i=0; //输入计数器 int n=0; //合计计数器

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

火车票管理系统——C语言程序设计实训报告

题 目: 学生成绩管理系统 院 系: 信息科技学院 专 业: 计算机科学与技术 姓 名: 何荣荣 学 号: 1751200204 指导教师: 王小琼 日 期: 2018年6月28日 桂林电子科技大学信息科技学院 前 言 课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。 C 语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自

1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。 我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。但是,对于程序设计而言,学习C 的步伐不应该停留于此。我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。 本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。 本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。 由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。 编者 目录 1、问题定义 (3) 2、系统设计 (3) 2.1 总体设计 (3) 2.2 详细设计 (5) 3、程序测试 (5) 4、详细程序 (7) 5、归纳总结 (19) 5.1 开发经验 (19) 5.2 实训中遇到的问题及解决方法 (19)

c语言语言课程设计报告

上海应用技术学院 课程设计 2011~ 2012学年第二学期 设计题目成绩记录簿 院(系)计算机科学与信息工程学院 专业计算机应用技术 班级 11104114 学号 1110411414 学生姓名蒋佳琴 设计时间 2012.06.25 -2012.07.06 指导教师马智娴 提交日期 2012.07.06

上海应用技术学院课程设计任务书 指导教师(签名):马智娴教研室主任(签名):马智娴2012年6 月25日2012年6月25日

目录 1 设计目的 (5) 2 功能描述 (5) 2.1模块功能 (5) 2.2流程图 (6) 3 总体设计 (13) 3.1 功能模块设计 (13) 3.2 数据结构设计 (13) 3.3 函数功能描述 (13) 4 程序实现 (14) 4.2 运行结果 (25) 5课程设计总结 (28)

成绩记录簿 1. 设计要求: 基本功能 a) 添加成绩 b) 删除成绩 c) 查询学生成绩 d) 查询班级成绩 e) 退出 拓展功能 a) 写入文件 b) 读取文件 创新(自拟)功能: 程序实现的其它功能由个人自拟。 2. 设计要求具体说明 基本功能: 成绩记录簿中记录以下数据: 学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分; 输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:8位数字;课程编号:5位数字;成绩:0 ~ 100 之间的整数,学分: 1~ 5之间的实型数。 添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示; 查询(班级或个人)成绩: a) 查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成 的总学分。 b) 查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同 学不同课程在不同分数段分布的人数及百分比。 拓展功能: a) 程序启动时先从文件读入数据,如果文件中没有数据则给出提示; b) 每次修改的数据写入文件。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。

c语言车票系统报告

二○○九~二○一○学年第二学期 信息科学与工程学院 课程设计报告书 课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师: 二○一○年九月 车票管理系统 一.需求分析 设计题目及要求: 设计题目:车票管理 设计要求: 建立车票系统,每个车次的信息包括:班次,发车时间,起点站,终点站,行车时间,额定人数,已定票人数等. 系统能够完成车票信息的录入,浏览,查询,售票,退票等功能. 系统功能需求分析: (1)录入: 录入班次信息(信息用文件保存),可不定时的增加班次数据 (2)浏览: 浏览班次信息,可显示出所有班次当前总状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。 (3)查询: 查询线路:可按班次号查询,可按钟点战查询. (4)售票: 当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数 (5)退票: 退票时,输入退票班次,当本班次未出发时才能退票,自动更新已售票人数 二.概要设计: 系统总体设计框架(系统功能模块图): 系统模块图

信息输入模块完成班次信息的输入功能,输入信息包括班次、发车时间、起点站、终点站、行车时间、额定载量、定票人数等; 信息浏览模块完成已录入信息的显示; 信息查询模块完成班次信息的查询,查询时对应有按班次查询和按终点站查询两种方式; 售票和退票模块完成车票的购买和退订的功能; 菜单选择模块完成用户命令的接收,此模块也是车票管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能; 三.详细设计 数据结构:本系统中主要的数据结构就是车次的信息,包括班次、发车时间、起点站、终点站、行车时间、额定载量、定票人数等,在处理过程中各项可以作为车次的不同属性来处理。 车票系统: typedef struct information { int numb; /*列车号*/ char starttime[10]; /*发车时间*/ char begin[21]; /*起点*/ char end[21]; /*终点*/ float lasttime; /*行车时间*/ int FixNumber; /*额定载客量*/ int FixedNumber; /*已定票数*/ struct information *next; }INFORMA TION,*PINF; void main() /*主函数*/ { switch(i){ case 1:{ Insert(); printf("\n按任意键回主菜单......\n");getchar();getchar();}break;/*录入*/ case 2:{Scan();printf("\n按任意键回主菜单......\n");getchar();getchar();}break; /*浏览*/ case 3:SearchMenu();break; /*查询*/ case 4:Buyticket();break; /*订票*/ case 5:TicketDelete();break; /*退票*/ case 6:exit();break; /*退出*/ default:printf("输入错误,请确保你的输入为1--6.\n");break;} } 系统工作程序流程: 系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。算法的流程图如下:

C语言课程设计报告烟花绽放

课程设计报告书设计题目烟花绽放 系别计算机工程系 专业计算机科学与技术 班级 姓名 指导教师 设计任务下达日期2011年 12 月 24 日 设计时间2011年12月26日至 2010年12月30日 课程设计任务书

一、目的和意义 本课程设计是《C语言程序设计》课程的后继教学环节, 通过研究C语言中图形编程技术或者声音控制等其它方面的多媒体编程技术,一方面拓展学生在这些领域的C语言知识,另一方面使学生在运用所学理论知识进行实践开发,更好的培养学生综合学习能力和实践能力。本次课程设计学生可以根据喜好,可以利用复杂的数据类型实现成绩管理系统等小型的综合应用程序。 二、题目(可从下面题目中任选一个) 1、C语言的图形编程应用 设计实现如菜单、图形的显示,再如动画和小游戏。 2、简易电子琴模拟程序的实现 为实现在键盘模拟电子琴设计的程序。由学生自行设计并且实现。 3、成绩管理程序 学生本人设计具体方案,然后改进和编码实现。 三、课程设计报告书应包括的主要内容 1、介绍概要的思路和设计方案,程序的总体功能和模块划分。 2、主要算法的介绍及流程图,主要功能的实现手段的说明文档。 3、对于有设想但最终未实现的功能的大致编程思路的阐述和设计过程中的启发。 四、进度要求 1、设计时间:2011年12月19日至2011年12月25日 2、编写课程设计报告书:2011年12月26日至2011年12月29日 3、提交报告及答辩时间:2011年12月30日 专科 四、进度要求 1、设计时间:2011年12月26日至2011年12月28日 2、编写课程设计报告书:2011年12月29日 3、提交报告及答辩时间:2011年12月30日 目录

相关主题
文本预览
相关文档 最新文档