1、终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量);(2)作为示意系统,全部数据可以只放在内存中;(3)系统能实现的操作和功能如下:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需
2、要,可登记排队候补;承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。修改航班信息:当航班信息改变可以修改航班数据文件。(选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;
3、(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。一、需求分析1.选做此课题或项的目的1通过实验实现对学生信息系统的管理操作;2进一步掌握和利用C+进行程设计的能力;3进一步理解和运用结构化程序设计的思想和方法;4初步掌握开发一个小型实用系统的基本方法;5学会利用流程图或N-S图表示算法;6掌握书写程设计开发文档的能力2.程序所实现的功能1.输入航班信息并保存到磁盘;2.浏览航班信息;3.修改航班信息并保存到磁盘4.查找航班 5.订票 6.退票 二、内容设计1.根据所选题目给出模块图 如图1.1所示 图1.1 模块图2.画出主程序及其主要模块的
4、流程图(1).如图2.1所示为查询函数的流程图: 图2.1 查询函数的流程图(2).图2.2所示为订票函数流程图 图2.2 订票函数流程图(3).图2.3所示为退票函数流程图 图2.3 退票函数流程图(4).如图2.4所示为查询全部信息函数 图2.4 查询全部信息函数(5.)如图2.5所示为主程序流程图 图2.5 查询全部信息函数3.编写程序关键代码(1).录入航班信息:void chushi() int i; ofstream outfile(airline.dat); ofstream file(customer.datfor (i=0;i3;i+) outfilefli.fligh fl
5、i.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=0;100; if(strcmp(fli.place,place)=0)temp=i;a=0; cout航班信息航班号:fltemp.fligh飞机号:fltemp.nu
6、m起飞日期:fltemp.data最近航班日期fltemp.riqi余票量fltemp.yticket if(a!=0)coutname;航班号:num;for(i=0;300;if(strcmp(name,cui.name)=0)您已经定过航班,要返回主菜单吗?(1.返回/2.退出)t;switch(t) case 1:break; default :if (name!=cui.name)for(j=0;j10;j+)if(flj.fligh=num)temp=j; if(fltemp.yticket=100) 此航班还有余票,要订票吗?(1.是/2.否)x; switch(x) case
7、1: for (k=0;kk+) if (flk.fligh=num) flk.dticket=flk.dticket+1; flk.yticket=flk.yticket-1; um=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.yticket ofstream outfile2(,ios:app); o
8、utfile2cucnum.namecucnum.numcucnum.seat /打开文件并存储数据 cout订票成功!endl if(temp=1) caidan1(); else; ; break; else cout此航班票已经售完,请订其他航班次的票(4).退票:void tuipiao()/ 退票int i,temp,t,num,a,j;struct tmp;请输入您的姓名和航班号:if (strcmp(cui.name,name)=0) a=0;确定退订吗?(1.是 2.否): if(temp=1) ofstream outfile1( ofstream outfile2( for
9、(j=0;=i;cuj.namecuj.numcuj.seat for(t=0;tt+) if(flt.fligh=num) flt.dticket=flt.dticket-1;flt.yticket=flt.yticket+1; for(t=0; outfile1flt.flighflt.numflt.placeflt.dataflt.dticketflt.riqiflt.yticket else a!=0; if (a!=0) 没有你的信息,请查证后再操作!1.是2.否:if(temp=1)(5).查询全部信息:void chaxunquanbu() int i,temp;乘客信息: if (cnum=i) temp=i;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1