资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
设计任务书设计任务书 编写一个飞机订票系统的程序,使该系统能够实现对航班信息的录入、浏览、排 序、查询以及订票、退票的功能。 小组任务分配:小组任务分配: 小组负责人:小组负责人: 负责总体设计(包括总体设计流程图、模块函数原型接口设计) ; 负责订票函数模块、退票函数模块编写。 组员:组员: 负责文件的输入、文件读取、文件输出函数模块的编写。 组员:组员: 负责查询、修改、删除函数模块的编写。 2 目录目录 1 1、需求分析、需求分析 4 4 2 2、功能描述、功能描述 4 4 3 3、总体设计、总体设计 6 6 4 4、调试分析、调试分析 7 7 5 5、测试结果、测试结果7 7 6 6、用户使用说明、用户使用说明1212 7 7、课程设计心得课程设计心得 1212 8 8、附录附录(源代码源代码) 1313 3 需求分析:需求分析: 用数组或链表数据结构完成一个航班信息管理系统, 此系统的具体功能要求 如下: (1 1)航班航班信息录入功能信息录入功能 1)用户从键盘输入每次航班的信息:航班号、起始站、终点站、起飞时间、 机票数、票价。 2)可添加一个或多个航班信息到当前编辑的数据中。 3) 可修改一个或多个航班信息。 4)可删除一个或多个航班信息。 (2 2)文件保存功能)文件保存功能 1)航班信息每一机场存为一个数据文件,数据文件可在程序中打开、编辑 和重新保存。 2)用户输入航班信息可随时保存数据文件。 (3 3)文件打开功能)文件打开功能 1)程序只能对当前打开的数据文件进行编辑。 (4 4)查询功能)查询功能 1)浏览所有航班信息; 2)按航班号查询航班信息; 3)按终点站查询航班信息; 4) 按航线查询航班信息; (5 5)报表输出功能)报表输出功能 1) 按航班编号输出一个航空公司的航班信息:航班号、起始站、终点站、 起飞时间、机票数、票价,到屏幕和文件。 注:以上功能以菜单形式供用户使用,并有一定的容错功能。 一,功能描述功能描述 模块基本介绍:模块基本介绍: 1.1. 用户输入模块用户输入模块 在此模块中,用户将根据菜单提示结合自己的需求输入一个 07 的值,来实 现一定的功能。 2.2. 航班航班信息录入信息录入模块模块 此模块可以让用户从键盘输入每个航班的信息:航班号、起始站、终点站、 起飞时间、 机票数、 票价。 用户可插入一个或多个航班信息到当前编辑的数据中。 用户可删除一个或多个航班信息。 3. 文件保存文件保存功能模块功能模块 用户在确定以录入的信息无误之后,可以将航班信息存为一个数据文件。用户输 入的航班信息可随时保存数据文件。 4.4. 文件打开功能文件打开功能模块模块 用户可以用此模块将数据文件在程序中打开、编辑,程序只能对当前打开的 数据文件进行编辑。 4 5.5. 查询功能模块查询功能模块 在此模块里,用户可实现以下操作:1.浏览所有航班信息;2 按航班号查询 航班信息;3. 按终点站查询航班信息;4. 按航线查询航班信息; 6.6. 报表输出功能模块报表输出功能模块 在此模块中,用户可以浏览所有航班的信息,或者可以按航班编号输出一个 航空公司航班信息:航班号、起始站、终点站、起飞时间、机票数、票价,到屏 幕和文件。 模块图模块图 飞机订票管理系统 输入航班信息 浏览航班信息 查询航班信息 删除航班信息 订票退票业务 修改航班信息 5 三、调试分析三、调试分析 调试是整个程序编写过程中十分重要也是很困难的一部分, 在这个过程中用 了不少的时间进行程序的调试,在调试过程中遇到的相关问题如下: 一、语法错误 1、语句的最后忘记了加上“; ” ,使程序发生错误。 2、把“j; if(j7)j=0; switch(j) case 1: input(); break; case 2:print(); break; case 3:xiugai(); break; case 4:search(); break; case 5:shanchu(); break; case 6:dingpiao(); break; case 7:tuipiao(); break; case 0:; break; while(j!=0); coutsi.num; coutsi.start; coutsi.over; coutsi.time; coutsi.count; coutsi.cost; m+; couty; if(y=0) save(); print(); break; void save() FILE *fp,*fp1; 15 if(fp=fopen(“sun.dat“,“wb“)=NULL)/打开文件并判断是否出错 coutw; void search() char name120; char name220; char ii10; int n,no; do coutn; if(n=0) break; switch(n) 17 case 1: coutno; break; case 2: coutname2; break; case 3: coutname1; coutname2; break; read(); for(i=0;iii; while(strcmp(ii,“yes“)=0); 18 void shanchu() char name120; char name220; char ii10; int no,n; do coutn; if(n=0) break; switch(n) case 1: coutno; read(); break; case 2: coutname1; coutname2; read(); break; for(i=0;iii; save(); if(!strcmp(ii,“yes“) coutn; if(na; while(!strcmp(a,“yes“); void tuipiao() int n; char a10; do search(); coutn; if(na; while(!strcmp(a,“yes“); getchar(); void xiugai() struct xiu int no; 21 char name120; char name220; char time20; int count; char cost20; x1; char j10; int n; read(); do coutn; switch(n) case 1:coutx0.no; break; case 2:coutx0.name1; coutx0.name2; break; for(i=0;ix0.nox0.name1x0.name2x0.timex0.countx0.cost; si.num=x0.no;/替换航班号 strcpy(si.start,x0.name1);/替换其始站 strcpy(si.over,x0.name2);/替换终点站 strcpy(si.time,x0.time);/替换时间 si.count=x0.count;/替换机票数 strcpy(si.cost,x0.cost);/ save(); coutj; while(strcmp(j,“yes“)=0);
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号