1、根据要求将该系统的功能模块划分为以下九个模块:(1) 增加航班信息(2) 修改航班信息(3) 删除航班信息(4) 查询航班信息(5) 浏览航班信息(6) 航班订票模块(7) 航班退票模块(8) 查询客户信息(9) 退出管理系统 三 详细设计1主函数主函数设计的比较简洁,只提供输入,处理,和输出部分的函数调用,其中各功能模块用菜单方式进行选择流程图:(1) 增加航班信息的模块又进行详细的划分,加入航班号,起始站,终点站,航班时间,航班容量,机票价格及折扣等基本信息,最后输入N返回流程图如下:该模块的调试截图如下:(2) 修改航班信息的模块包括按航班号修改,和返回主菜单,修改航班信息的模块比较简单
2、,因为全部的航班信息都可以通过航班号的查询而获得,所以只需更改航班号即可修改该航班的所有信息该模块流程图如下:该模块程序调试图如下:(3) 删除航班的模块包括按航班号删除和删除全部航班的选项,最后返回主菜单,同修改航班信息的原理一样,只要删除航班号即可删除该航班的所有信息该模块程序的调试截图如下:(4) 查询航班的模块包括按航班号,起始站,终点站,起飞时间的选项最后返回主菜单,该模块的结构与增加航班信息类似,都比较简单明了,该模块的流程图如下:该模块的程序调试截图如下:(5) 浏览航班信息模块可以浏览全部的航班的所有信息,不需要其他操作即可获得机场提供的所有信息(6) 航班订票模块包括客户所需
3、预定的航班号,客户的姓名,身份证编号,以及预定的票数,该模块的调试截图如下:(7) 退票模块和订票模块内容相似,最后是客户确定是否退票(8) 查询客户信息模块主要是机场运营商和用户确定是否成功订票的功能,只要输入客户的姓名和身份证编号即可获得客户是否成功的预定机票(9) 最后是推出航班管理系统的模块 四 函数主体:函数内容如下:#include /标准输入、输出头文件 string.h /包含字符串函数处理头文件stdlib.h /包含动态存储与释放函数头文件#define N 10000struct air /定义结构体数组int num;char start20;char over20;c
4、har time;int count;sN;int i;int m=0;#define PRINT %-d%12s%12s%10s%12dn,si.num,si.start,si.over,si.time,si.count /定义输出格式void input(); /输入航班信息void print(); /输出航班信息void save(); /保存航班信息void read(); /读取航班信息void search(); /查找航班信息void shanchu(); /删除航班信息void dingpiao(); /订票信息void tuipiao(); /退票信息void xiugai
5、(); /修改信息void main()int j;printf( -您好,欢迎进入中国民航管理系统!-n); printf(=n do - 1.输入航班信息 - nn 2.浏览航班信息 3.修改航班信息 4.查找航班信息 5.删除航班信息 6.订票信息 7.退票信息 0.退出请在0-7中选择以回车键结束:nnscanf(%d,&j);switch(j)case 1: input();/调用输入模块break;case 2:print();/调用打印模块case 3:xiugai();/调用修改模块case 4:search();/调用查找模块case 5:shanchu(); /调用删除模块
6、case 6:dingpiao();/调用订票模块case 7:tuipiao();/调用退票模块case 0:;while(j!=0); /判断结束谢谢使用,再见!n/主函数结束void input()/打印模块程序char f=2008china /设置密码int y;请输入密码并以回车键结束:%s,f); /读取密码if(strcmp(f,)=0)请依次输入航班信息(机票数位0结束输入):完成输入信息请键入w以回车键结束nn /打印提示信息-n for(i=0;iN;i+) 请输入航班号:si.num); /读取航班号请输入起始站: scanf(,si.start);/读取起始站请输入终
7、点站: ,si.over);/读取终点站请输入时间:,si.time);/读取时间请输入机票数(机票数为0结束输入):,m);si.count);/读取机票数m+;第%d个信息已经输完是否继续?按任意键继续,按 0结束y);if(y=0)save();/将结构体信息存盘/输出输入的航班信息 else输入密码错误!请检查您的密码是否正确!谢谢!再见!void save()/保存模块程序FILE *fp,*fp1;/定义文件指针if(fp=fopen(chen.dat,wb)=NULL)/打开文件并判断是否出错创建文件失败!/打印出错提示getchar();return;if(fp1=fopen(
8、hao.datfor(i=0;m;if(fwrite(&si,sizeof(struct air),1,fp)=0)/向文件写入数据,并判断是否出错向文件输入数据失败!fprintf(fp1,fclose(fp);/关闭文件fclose(fp1);void read()/从文件读取信息模块rb)=NULL)/打开文件,并判断是否出错出错,请检查文件是否存在,按任意键返回住菜单fscanf(fp1,m);i+)fread(&si,sizeof(air),1,fp);/从文件中读取信息void print()/打印模块char w;read();/调用读取文件函数 五 总结经过十天的程序设计,基本掌握程序设计的基本方法和步骤。在这十天中悟出:程序设要求有一定的基础是必须的,但是更多的是无论你设计什么程序,在设计前一定要有自己的设计理念、设计思想,也可以说是中心思想。否则在做程序的时候,请教一个高手,就有一种不同的方法。结果最终的程序不伦不类,设计完后会发现会有不同的漏洞。在设计过程中要大胆的发挥自己的想象力,要敢于不断的创新,要敢于尝试,我认为这也是一种进步的好方法。在这十天的时间里,我学到了很多知识,这些少不了老师辛苦指导。同学之间的帮助,相互鼓励,以及相互探讨,给了自己很大的信心,和跨域式的进步。所以首先要感谢各位老师和我一起奋斗的同学们。