1、终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量);(2)作为示意系统,全部数据可以只放在内存中;(3)系统能实现的操作和功能如下:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需
2、要,可登记排队候补;承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。修改航班信息:当航班信息改变可以修改航班数据文件。(选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述
3、;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。目 录一、需求分析2二、内容设计2 2.1、根据所选题目给出模块图22.2、画出主要程序的流程图:32.2、编写程序关键代码:8三、调试分析13四、用户手册14五、设计总结20六、参考文献21七、 附录21一、需求分析1.选做此课题或项的目的1通过实验实现对学生信息系统的管理操作;2进一步掌握和利用C+进行程设计的能力;3进一步理解和运用结构化程序设计的思想和方法;4初步掌握开发一个小型实用系统的基本方法;5学会利用流程图或N-S图表示算法;6掌握书写程设计开发文档的能力2. 程序所实现的功能
4、1.输入航班信息并保存到磁盘;2.浏览航班信息;3.修改航班信息并保存到磁盘4.查找航班 5.订票 6.退票 二、 内容设计1. 根据所选题目给出模块图 如图1.1所示飞机订票管理系统修改航班信息查询全部信息退票录入航班信息查询航班信息订票 图1.1 模块图 2.画出主程序及其主要模块的流程图(1).如图2.1所示为查询函数的流程图:开始 输入航班号否 查询成功?是 输出航班信息返回主菜单? 主菜单 结束 图2.1 查询函数的流程图(2) .图2.2所示为订票函数流程图 开始输入要订票的姓名姓名与初始姓名相同? 输入航班号还有余票,订票?存储客户信息到文件修改航班信息(票额) 输出订票信息 主
5、菜单 图2.2 订票函数流程图(3) .图2.3所示为退票函数流程图 开始 输入姓名和航班号信息与文件中信息相同? 是否退订?从文件中删除该用户订票信息退票成功! 返回主菜单? 结束 图2.3 退票函数流程图(4) .如图2.4所示为查询全部信息函数 输出乘客信息 输出航班信息 返回主菜单? 主菜单 结束 图2.4 查询全部信息函数(5.)如图2.5所示为主程序流程图 录入航班信息 进入主菜单 飞机订票管理系统查询所有信息 退票管理 查询航班 订票管理 返回主菜单? 退出系统 图2.5 查询全部信息函数3.编写程序关键代码(1) .录入航班信息:void chushi()int i; ofst
6、ream outfile(airline.dat); ofstream file(customer.datfor (i=0;i3;i+) outfilefli.fligh fli.numfli.placefli.datafli.dticketfli.riqifli.yticketendl;filecui.namecui.numcui.seatcnum outfile.close();file.close();cout初始化已完毕!endlcaidan1(); (2) .查询航班信息:void chaxun1()char place10;int temp,i,a;coutplace;for(i=
7、0;100;if(strcmp(fli.place,place)=0)temp=i;a=0;cout航班信息航班号:fltemp.fligh飞机号:fltemp.num起飞日期:fltemp.data最近航班日期fltemp.riqi余票量fltemp.yticketif(a!=0)coutname;航班号:num;for(i=0;300;if(strcmp(name,cui.name)=0)您已经定过航班,要返回主菜单吗?(1.返回/2.退出) cint;switch(t) case 1:break; default :if (name!=cui.name)for(j=0;j10;j+)if
8、(flj.fligh=num)temp=j; if(fltemp.yticket=100) coutx; switch(x) case 1: for (k=0;kk+) if (flk.fligh=num) flk.dticket=flk.dticket+1; flk.yticket=flk.yticket-1; cnum=cnum+1; strcpy(cucnum.name,name);cucnum.num=num; cucnum.seat=flk.dticket; ofstream outfile1( for(j=0;j+) outfile1flj.flighflj.numflj.placeflj.dataflj.dticketflj.riqiflj.ytick
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1