1、”,但是随着每一次循环如果找不到信息就得输出一次,这样就会不停地输出那句话。我想了很久想出来用一个中间变量a来解决,如果名字像匹配就让a=0,不匹配就让a=1,这样就能避免一直的循环,直接在后面判断a的值就能知道判断的结果,然后做出相应的结果,运行的时候终于解决了这个问题。在其他的几个函数里面我也遭遇到了同样的问题,就是在判断的时候屏幕上一直不停地输出信息,我采取了同样的方法解决了问题。同样用定义中间变量值的办法。还有就是存储问题了。在开始的时候我直接用输出流对象来存储到文件里面,后来打开文件,里面确实有数据,但是在调出数据,也就是在查询客户信息的时候,尽管我输入的是已经存在的客户姓名,但是系
2、统却找不到客户信息。后来查阅了资料才知道,我存储的时候数据间没有间隔,在读取的时候就不能分别数据了,应该在存储的时候在每个数据间加入一个空格符号,来分开每一个数据。这样终于搞定了,系统能正常识别数据了。四.运行结果1、首先进入系统提示是否是第一次进入,如果是第一次就进行初始化。否则直接进入主菜单:第一次进入,初始化!并且进入主菜单:2、进行第一个功能选项:订票业务:3、下面为第二个功能选项:查询航班信息输入航班号或者出发到达地,就会自动输出航班的相关信息。也可以查询所有航班,并输出相关乘客信息。4、第三个功能选项,修改航班信息:包括航班的所有信息。可以根据航班号以及航班航线进行查找并修改。5、
3、第四项功能:订票业务可以根据航班号以及航班航线进行订票,如果无直达航班,则提供中转航班进行性订票。5、第五项功能:退票业务输入客户证件号及航班号进行退票。6、退出系统六心得体会 本次程序设计所用时间较长,工作量很饱满,而且所用的知识很多,但是我们平常在课堂上所学的知识很有限,这就需要我大量的自学书本和课外的其他书籍上的知识。为了让程序容易使人看懂,我用到的知识点不是非常多,大都是一些基本知识,我能熟练地运用这些知识编程也算一个很大的成功了。C+设计实践是对之前学过的知识的加深和巩固,之前学得较浅,实践的机会不多,这次实践让我对C+程序有了更加深入的了解,心理也由原来的不喜欢到喜欢,感觉很有意思
4、也很有用,可也设计一些有用的或者是自己喜欢的程序。最令我收益的是写程序的过程和调试修改的过程,因为之前我们就学了几章,没有把知识学习全面,因此编写起来是有难度的,在预先想好程序结构后,就开是卡看书,一个函数一个函数来编写,不懂的地方就上网搜或是请教一下同学,当终于把程序写出来的时候,内心里又有一种说不出来的激动,我感觉这很符合大学的教育观念,是对个人自主学习能力的一个锻炼。在接下来就是调试,虽然出了很多的错误,虽然自己也被搞的焦头烂额,但我还是很兴奋,一点点找线索,找到问题,再解决。现在程序终于能较好的运行出来了,当然,还存在一些瑕疵,但通过这个暑假的实践学习,我收获的不仅仅是这一个程序,我的
5、自学能力,以及寻找问题解决问题的能力也得到了很好的锻炼。源代码:#include #includefstreamusing namespace std;struct flight int num; char place110; char place10; char place210; char time120; char time20; char time220; int price1; int price2; int price; char discount10; int dticket; int yticket;fl20=101,南京,武汉北京09-01-13:0009-01-16:09-
6、01-18:,2700,3000,5600,50%,1,99, 102,新疆哈尔滨上海09-01-09:09-01-15:09-01-21:,4000,4500,7800,70% 103,杭州海南广州09-01-12:09-01-14:,2100,2000,3400,20%,1,99;struct customer char name10; char id20; int ticket; /订票数量 int seat; /座位号cu300=张三,101,321002,5600,1,1,李四,102,225006,7800,1,1,王五,103,210023,3400,1,1; /定义结构体str
7、uct ticketnum int yticket1; int yticket2;ti20= ,99,99,99,99;int cnum=3; /定义客户编号int fnum=3; /定义飞机编号void list();void input();void dingpiao();void tuipiao();void search();void change();void menu(); /函数声明void chushi();void main() int x; coutx; if(x=1) chushi(); else menu(); /主函数void menu() int i;* 航空订票系
8、统 *endl;* * 1.录入业务 2.查询航班信息 * 3.修改航班信息 4.订票业务 * 5.退票业务 6.退出系统 * * ifstream infile1(airline.dat); ifstream infile2(customer.dat for(i=0;ifli.numfli.place1fli.placefli.place2fli.time1fli.timefli.time2fli.price1fli.price2fli.pricefli.discountfli.dticketfli.ytickettii.yticket1tii.yticket2; 300; infile2c
9、ui.namecui.numcui.idcui.pricecui.ticketcui.seatcnum; infile1.close(); infile2.close(); /读取数据请输入业务代码: list();void chushi() int i,j; ofstream outfile( ofstream file( /outfile航班号 起点站 终点站 起飞时间 到达时间 票价 折扣 已订票数 剩余票数 /file顾客姓名 航班号 证件号 订票数量 座位号 订单号 for (i=0;3;i+) j=i+1; outfilefli.numfli.place1fli.placefli.
10、place2 fli.time1fli.timefli.time2fli.price1fli.price2fli.pricefli.discountfli.dticketfli.ytickettii.yticket1tii.yticket2 filecui.namecui.numcui.idcui.pricecui.ticketcui.seatj outfile.close(); file.close();初始化已完毕!endl /存储数据void list() int a;a; while(a6) cout switch(a) case 1: input(); break; case 2:
11、search(); case 3: change(); case 4: dingpiao(); case 5: tuipiao(); case 6: exit(1); default: cout输入错误,请重新输入正确的代码: list(); /输入代码void input()/录入 ,ios:app); int y,i;一共要录入的航班数:y;请依次输入航班信息:*请输入航班号:fli+fnum.num;请输入起始站:fli+fnum.place1;请输入中转站:fli+fnum.place;请输入终点站:fli+fnum.place2;请输入起飞时间:fli+fnum.time1;请输入中
12、转时间:fli+fnum.time;请输入降落时间:fli+fnum.time2;请输入票价1:fli+fnum.price1;请输入票价2:fli+fnum.price2;请输入总票价:fli+fnum.price;请输入票价折扣:fli+fnum.discount;请输入已经订购机票:fli+fnum.dticket;请输入剩余机票数:fli+fnum.yticket; tii+fnum.yticket1=fli+fnum.yticket; tii+fnum.yticket2=fli+fnum.yticket;fli+fnum.numfli+fnum.place1fli+fnum.plac
13、efli+fnum.place2fli+fnum.time1fli+fnum.timefli+fnum.time2fli+fnum.price1fli+fnum.price2fli+fnum.pricefli+fnum.discountfli+fnum.dticketfli+fnum.ytickettii+fnum.yticket1tii+fnum.yticket2t; if(t=1) menu(); if (id!=cui.id) for(j=0;fnum;j+) if(flj.num=num) temp=j; if(fltemp.yticket0) /判断有没有余票 cout switch
14、(x) case 1: cout for (k=0;kk+) if (flk.num=num) cnum=cnum+1; strcpy(cucnum.name,name); cucnum.num=num; cucnum.price=flk.price; cucnum.ticket=y; cucnum.seat=flk.dticket+1; strcpy(cucnum.id,id); flk.dticket=flk.dticket+y; flk.yticket=flk.yticket-y; ofstream outfile1( for(j=0;j+) outfile1flj.numflj.place1flj.placeflj.place2flj.time1flj.timeflj.time2flj.price1flj.price2flj.priceflj.discountflj.dticketflk.ytickettik.yticket1tik.yticket2 ofstream outfile2( outfile2cucnum.namecucnum.numcucnum.idcucnum.pricecucnum.ticketcucnum.seatcnum /打开文件并存储数据 cout订票成功!endl temp; menu(); ;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1