1、 char id20;/身份证号 int count;/数量 char p20;/航班号GUEST; char num20; char depart30;/出发城市 char arrive30;/到达城市 char start20;/起飞时间 char end20;/到达时间 int price;/价格 int discount;/折扣率(%) int total;/总票数 int rest;/剩余票数 int t;/订单数 GUEST guest20;/乘客PLANE; PLANE plane20;int n;/n为航班数void inputplane()/输入航班void list()/显
2、示void search1()/按航班号查询void search2()/按起飞抵达城市查询void book()/订票void quit()/退票void change()/修改程序调用关系如下: 1 2 3 4 5 6 7 8 详细设计#includestdlib.hstring.hvoid inputplane()/输入航班 int i; printf(输入总航班数:); scanf(%d,&n);输入航班信息:n航班号 出发城市 到达城市 起飞时间 到达时间 价格 折扣率 总票数 剩余票数n for(i=0;i=count) j=planei.t; planei.guestj.numb
3、er=number; strcpy(planei.guestj.name,name); strcpy(planei.guestj.id,id); planei.guestj.count=count; strcpy(planei.guestj.p,p); planei.rest-=count; planei.t+; else printf(很抱歉,该航班剩余票数为 %d 张n,planei.rest); for(k=0;kk+) if(strcmp(planei.depart,planek.depart)=0)&(strcmp(planei.depart,planek.depart)=0) br
4、eak; if(k=n) printf(没有其他从%s到%s的航班n,planei.depart,planei.arrive); else从%s到%s还有 %s 航班nn,planek.depart,planek.arrive,planek.num);,planek.num,planek.depart,planek.arrive,planek.start,planek.end,planek.price,planek.discount,planek.total,planek.rest); 是否继续订票,“是”输入1,“否”输入0ny); while(y);void quit() /退票 int
5、i,j,temp,k,y; temp=0;请输入您的订单编号:number);请输入您的身份证:,id); for(j=0;jplanei.t;j+) if(number=planei.guestj.number&(strcmp(id,planei.guestj.id)=0) temp=1; break; if(temp=1)没有此订单! else %d,planei.guestj.number); %s,planei.guestj.name);,planei.guestj.id);,planei.guestj.count); %sn,planei.guestj.p);您是否确认删除(1/0)
6、n if(y=1) planei.rest+=planei.guestj.count; for(k=j+1; planei.guestk-1.number=planei.guestk.number; strcpy(planei.guestk-1.name,planei.guestk.name); strcpy(planei.guestk-1.id,planei.guestk.id); planei.guestk-1.count=planei.guestk.count; strcpy(planei.guestk-1.p,planei.guestk.p); planei.t-;退票成功! char
7、 a20;请输入你要修改的航班号:,a); if(strcmp(a,planei.num)=0)原信息:请输入修改后的信息:void main() int a,b; system(cls for(a=0;a50;a+)*tt1: 输入航班信息ntt2: 列出航班信息ntt3: 按航班号查询航班信息ntt4: 按出发到达城市查询航班信息ntt5: 订票ntt6: 退票ntt7: 修改航班信息ntt8: 退出程序n请输入功能选项1-8):b); switch(b) case 1: inputplane();pause case 2: list(); system( case 3: search1(
8、); case 4: search2(); case 5: book(); case 6: quit(); case 7: change(); case 8: while(1);调试分析a.在做“退票”函数(即void quit()时,系统总是显示没有此订票,最后发现没有跳出其中的一个这个双层for循环,现在通过调试,解决了这个问题。b.调试后程序会自动判断输入的数字的有效性。用户手册(1)演示程序的运行环境为Windows Vista系统,Microsoft Visual Studio 6.0中的Microsoft Visual C+ 6.0中运行。执行文件为:航空订票系统.exe(2)进入演示程序后即显示DOS形式的界面:(3)输入航班信息。(4)由用户在菜单页面选择需要执行的功能,系统会显示相关信息测试结果(1)输入航班信息(2)列出航班信息(3)按航班号查询航班信息(4)按出发到达城市查询航班信息(5)订票显示退票后航班信息:(6)退票(7)修改:修改后显示航班信息对于特殊情况的处理(1)输入不存在的航班号进行查询(2)输入不存在的出发到达城市进行查询(3)剩余票数不足(4)修改时输入不存在的航班号
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1