航空订票系统课程设计_第1页
航空订票系统课程设计_第2页
航空订票系统课程设计_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计题目航空订票系统任务:航空客运定票的业务活动包括:查询航线、客票预定和办理退票等。试设计 一个航空客运定票系统,以使上述业务可以借助计算机来完成。功能要求:(1)录入:可以录入航班情况(2)查询:可以查询某个航线的情况(如输入航班号,查询起降时间,起飞抵 达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市, 查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如 果该航班已经无票,可以提供相关可选择航班;(4)退票:可退票,退票后修改相关数据文件;(5)客户资料:有,证件号,订票数量及航班情况,订单要有编号;(6)修改航班信息:当航班信

2、息改变可以修改航班数据文件。需求分析本演示程序中,由用户录入或修改航班情况,进行查询,预定及办理退票等 业务,用户在菜单中进行各个不同功能的选择,有“输入航班信息”、“列出航班 信息”、“按航班号查询航班信息”、“按出发到达城市查询航班信息”、“订票”、 “退票”、“修改航班信息”、“退出程序”八个功能。概要设计typedef struct double nu mber;/ 订单编号 char n ame20; char id20;/ 号 int coun t;/ 数量 char p20;/ 航班号GUEST;typedef structchar num20; 航班号char depart30

3、;出发城市char arrive30;到达城市char start20; 起飞时间 char en d20;到达时间int price;/ 价格 int discount;折扣率(%int total;/ 总票数 in t rest;/剩余票数int t;/ 订单数GUEST guest20; 乘客 PLANE;PLANE pla ne20;int n;/n 为航班数void in putpla ne()输入航班void list()/显示void search1()按航班号查询void search2()按起飞抵达城市查询void book()订票void quit()退票void cha

4、nge() 修改程序调用关系如下:详细设计#include<stdio.h>#include<stdlib.h>#include<string.h> typedef structdouble number;/ 订单编号 char name20; char id20; 号 int count;/ 数量char p20;航班号GUEST;typedef structchar num20; 航班号char depart30;出发城市char arrive30;到达城市char start20;/ 起飞时间char end20;到达时间int price;/ 价格i

5、nt discount;/折扣率(%int total;/总票数int rest;/剩余票数int t;/ 订单数GUEST guest20;/ 乘客PLANE;PLANE plane20;int n;/n为航班数void inputplane()输入航班int i;printf("输入总航班数:");scanf("%d",&n);printf("输入航班信息:n");剩余票数printf(" 航班号岀发城市到达城市起飞时间到达时间价格折扣率总票数n");for(i=0;i<n;i+)scanf(&q

6、uot;%s %s %s %s %s %d %d %d %d",planei.num,planei.depart,planei.arrive,planei.start,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest);void list()显示int i;printf(”航班号岀发城市到达城市起飞时间到达时间价格折扣率总票数n");for(i=0;i<n;i+)printf("%s%s%s%s t%st%dt%dn",plane

7、i.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discount,planei.total,planei.rest);void search1()按航班号查询int i;char num20;printf("输入你查询的航班号:");scanf("%s",num);for(i=0;i<n;i+)if(strcmp(num,planei.num)=0)printf(" 航班号岀发城市到达城市起飞时间 到达时间 价格折扣率剩余票数n&

8、quot;);printf("%s%s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discount,planei.total,planei.rest);break;if(i=n)printf("没有此航班!n");void search2()按起飞抵达城市查询int i;char a50,b50;printf("输入起飞城市和到达城市:");scanf("%s %s&q

9、uot;,a,b);printf(" 航班号岀发城市到达城市起飞时间到达时间价格折扣率总票数n");for(i=0;i<n;i+)if(strcmp(a,planei.depart)=0)&&(strcmp(b,planei.arrive)=0)printf("%s%s%s%s t%st%d剩余票数%dt%d总票数%dt%d剩余票数%dt%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discoun

10、t,planei.total,planei.rest);printf("n");for(i=0;i<n;i+)if(strcmp(a,planei.depart)=0)&&(strcmp(b,planei.arrive)=0) break;if(i=n)printf("没有此航班!n"); void book() 订票char name20,p20,id20;double number;int i,j,k,y,count;for(i=0;i<n;i+)planei.t=0;doprintf("输入订单信息:n&quo

11、t;);printf("订单编号号订票数航班号n");scanf("%d %s %s %d %s",&number,name,id,&count,p); for(i=0;i<n;i+)if(strcmp(p,planei.num)=0)break;if(i=n)printf("没有此航班n");elseif(planei.rest>=count)j=planei.t;planei.guestj.number=number; strcpy(,name);strcpy(pla

12、nei.guestj.id,id); planei.guestj.count=count; strcpy(planei.guestj.p,p); planei.rest-=count;planei.t+;elseprintf(”很抱歉,该航班剩余票数为%d n",planei.rest);for(k=0;k<n;k+)if(strcmp(planei.depart,planek.depart)=0)&&(strcmp(planei.depart,planek.depart)=0)break; if(k=n)printf("没有苴/、他 从%s到%s的航

13、班n",planei.depart,planei.arrive);elseprintf("从%s到%s还有%s航班nn",planek.depart,planek.arrive,planek.num);printf(" 航班号出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票数n");printf("%s%s%s%s t%st%d%dt%dt%dn",planek.num,planek.depart,planek.arrive,planek.start,planek.end,planek.pr ice,planek.di

14、scount,planek.total,planek.rest);printf("是否继续订票,“是”输入1,“否”输入0n");scanf("%d",& y);while(y); void quit() / 退票double number;char id20;int i,j,temp,k,y;temp=0;printf("请输入您的订单编号:n");scanf("%d",&number);printf("请输入您的:n");scanf("%s",id);fo

15、r(i=0;i<n;i+)for(j=0;jvplanei.t;j+)if(number=planei.guestj.number&&(strcmp(id,planei.guestj.id)=0)temp=1;break;if(temp=1)break;if(i=n)printf("没有此订单!n");elseprintf("订单编号号订票数 航班号n");printf(" %d",planei.guestj.number);printf(" %s",);p

16、rintf(" %s",planei.guestj.id);printf(" %d",planei.guestj.count);printf("%sn",planei.guestj.p);printf("您是否确认删除(1/0)n");scanf("%d",&y);if(y=1)planei.rest+=planei.guestj.count; for(k=j+1;k<planei.t;k+) planei.guestk-1.number=planei.guestk.number;

17、strcpy(,);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_;printf("退票成功!n");void change()修改char a20;int i;printf("请输入你要修改的航班号:");scanf("%s",a)

18、;for(i=0;i<n;i+)if(strcmp(a,planei.num)=0)break;if(i=n)printf(”没有此航班!n");elseprintf("原信息:n");剩余票%dt%d剩余票printf("航班号岀发城市到达城市起飞时间到达时间价格折扣率总票数数 n");printf("%s%s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.disc

19、ount,planei.total,planei.rest);printf("请输入修改后的信息:n");printf("航班号岀发城市 到达城市起飞时间到达时间价格折扣率总票数数 n");scanf("%s %s %s %s %s %d %d %d %d",planei.num,planei.depart,planei.arrive,planei.sta rt,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest);v

20、oid main()int a,b;dosystem("cls");for(a=0;a<50;a+)printf("*");printf("n");printf("tt1:输入航班信息 n");printf("tt2:列出航班信息 n");printf("tt3:按航班号查询航班信息n");printf("tt4:按出发到达城市查询航班信息 n");printf("tt5:订票 n");printf("tt6:退票 n&

21、quot;);printf("tt7:修改航班信息 n");printf("tt8:退出程序n");for(a=0;a<50;a+)printf("*");printf("n");printf("请输入功能选项1-8) : n");scanf("%d",&b);switch(b)case 1:inputplane(); system("pause");break;case 2:list();system("pause");

22、 break;case 3:search1(); system("pause"); break;case 4:search2(); system("pause"); break;case 5:book(); system("pause"); break;case 6:quit();system("pause"); break;case 7:change(); system("pause"); break;case 8:break;while(1);调试分析a. 在做“退票”函数(即void qu

23、it ()时,系统总是显示没有此订票,最后 发现没有跳出其中的一个这个双层for循环,现在通过调试,解决了这个问题。b. 调试后程序会自动判断输入的数字的有效性。用户手册(1) 演示程序的运行环境为 WindowsVista 系统,Microsoft Visual Studio 6.0中的Microsoft Visual C+ 6.0中运行。执行文件为:航空订票系统 .exe(2) 进入演示程序后即显示DOS形式的界面:::* 尊 * * * # :|=4: * 才* * * * 戟*神琳 * * * * * 3C * * * # * *h输入航班信息2.列出航班信息3:按航班号査诲肌次信息仏

24、拽出寢到辻就市备航班信息5:订票6=退票?;修改航班信层8?退出程序对 * 屮 * *4: * 故*:#*"|-* 咄冷 *-岀 ir* * *#* * * 才 *敢* * *i青输人功能诜lfil-8) r(3) 输入航班信息。(4) 由用户在菜单页面选择需要执行的功能,系统会显示相关信息测试结果)输入航班信息|d|:*#牺*:c * 芈 * :(d|ci|c* d|o|i: * x *#* *li右4=5:6;7i召输人航班儲列岀航班信息按航班号查询航刊王信息按出发到这城市查询航班信息疔票追票修咖HI息退岀程序BC 33|c冲3|C 3l|£ 3|Q|C5fC|C 3f

25、C"3f!9fC 3p 9|9|£|0|0(3£33|£3(审曲入功能Mi-8),1输入愿肮班数;5 输入航班信息: 刪于号出发城市到达城市起飞时间到达时间价格折扣室总票数商脍票数 MU5102上海虹帝北京 CA1530上海虹袜j匕京K119207上海虹轿 广州H012413U89G4卜悔浦东成都请按任意键继续.7:00 9:20 1063 34 20 2S:5E 11:IE Ef4 75 20 060S 42 20 541S 20 11922 5" 20 110:3019:5015; 4512:5021:2019;05(2) 列出航班信息*

26、才*冀*斗*衬*:(:* 口和林牡*:<*林*#甘* 才 Die*1:2:乩4=5:矩8 +输入航班信息列出航班信息按航班号查词航班信息按岀发到达城宀登询航班息订票修改航班信息退岀程序iw清谕入功自畠3顶1-8);肌莢号 岀发城市到运城市 起飞时间MU5103上靈虹桥PA1590上梅虹榕9307上祷虹侨上海浦东_二海辭情按任意键继绫HO12413U39647:0C8:5510:3019;5015:45至哒对间9:2011:1512:5(J21; 2019:05价格1063 刘4603413删折扣率94754S5657总票数202(1202020剩余票数2L111(3 )按航班号查询航班信

27、息卜* x *jd|c2(cj|c:|c|c * d|c|: * 3C * :s|c #* :|c * 卓 *#* * *#木# * 杠 * 十1;2:3;4=5:6:7:些输人区班信.列出航班信息按航班号査询刪王信息按岀发至壓城市查询航班信息 订票;息退示修護反班信息 退出程序槪* 箕* *片*乂*"|*賈* * 十* 屮呛 *屮* 电* * *幘諭Lk功自继项1-S):输人你查询的肮班昏】123 役有此舫班!姑孩任意键继续.(4 )按出发到达城市查询航班信息p* * :j|cc|c XT* d|o|c * d|c(: * 3C* :i|o|c #:!:* :|: * 半 * *3

28、4: :fc4: *#* 总 * *1:输入航班信息2:列岀航班信息3:按航班号萱询航班信恵4:按岀发到迖城凸查询航班信息5:订票&退票7. 修咬航班信烏8=退岀程序»:衣*斗诛*无朮牡#*:*#*:*#*:*章*#*:*曲1来*1*芈憫谕忘鳩继项1-刃:侖入起飞城市和到达城曲二海虹桥北京耐塢出发城市 到达城市 起飞时间 到达时间 价格折扣率总票數乘I除票数IUC103 上悔虹桥 北京 7:039:2010S334202CA15Q0 上溝虹棉犯京0:5511:15S64 7S 200b濒Et镇继续.(5)订票* :>|o|c * 常:*>:* 乂 * * 年乍 *

29、 芒* 琳* * 扣卍1输入航列膽息I 右列岀航班信息玉按航班号查询航班信息4=按出发到达或市查询航班II息5;订票6;退票J修议航班信息I81退岀程序"申 二*|C:申; >-申"=申申,.申=方.申.申-彳.申-墨"申-申中.申-申* £-中 .*-申I =申=鼠申-9 =*.*-+" 申-j"申-"申-申.申-申A-申 .*I申i .申=.申. 请输入功能选项1-引:E输入订单信息;订单編号 妊名 身悅订号 订栗数 航班号1 张三丰 2100CD12 L 3U8964是否邃续订票“是”输否“输入D1输入订单信息;

30、订单編号妊名身份证号订票数航班号2 张翠山 31000025 1 FI9307是否继锁订票,*是"输入X “否"输入D1输入订单信息:订卑漏廿片二名貝V订吕订隼敘駆班号3 张无忌 31000033 1 JIU5103是否継续订票,跻是”输入1, “否"输入DD谙按任意縫缠绩一一一显示退票后航班信息:*!: :c3|c|ci* 乂 *#* :o|c * d|cjk: d(cj|c |cj)|c * ZC * :>|d|c * Dof: * :|cj4:* *2:4±5:6;?;St1;辑入航班信息 列岀航班信息 持航班号查询航班信息 按岀发到达城方查

31、询航班信息 订票j艮旱 修莎航班信息 退岀程序Lt-f -卓.尖.申*:買:申-”* 札* .机:申;-* 申-卓丸卓申申一.申.jC :”申】耳I .* 片L 5C :峯、-申.*_申.* 卓.*-.斗焉諭入功能选项1-呂):I-甌资号岀发城市 MU5103上海虹桥 上海虹桥 上海虹楙 上海浦东 I海浦东CA1590FM3307 ml 241BUE964焉按任意键继纯到达塑帀北枣北京广州青岛起飞时间7:0C8:5510:30仙:ED15:45到达时间 9:20 11:15 12:50 21:20 19:05价艳 1063 86460S412血折扣率94754S葩57总票数2020202020

32、剰余票数1C4110(6)退票1:输入航班信息2.列出航班信息3*按航班号查询航班信息4=按岀发到达城市查谊航班信息 5=订票6;退票 7*修改肮班信息 8:退出程序t 淖""*"1*"|p' i|r JT*1" " 斗* 丁* 彳”*八*"* "if "會"¥"i* *ii*"*=i* *11*" A"i*fr*"请输入功能选®l-8):请»入您的订单编号;2请输入您的身什证:31OO5O2E;订单编号姓名

33、身粉证号订票数航班号2 张翠山 2100002E 1F1I9307您是否确认删陰仇“)1退幕.或功!'请按任竜題雀壕显示退票后航班信息:* :>|cj|c* * * :c * :fz|c * * * # * :>|a|c* d|c|i: * 3C * * * :jo|c * * * * 才本 * 本 * *输入航EH言息 列岀航班信息 按航班号查询航班信恿 按岀发到达城市查询航班信息 订票 退皋修後航阳言息退岀程序1:厶虹5=6:7;氏请输入功能选项1-叮1舫班吕TO103CA15900307H01241pUKyb4出宦城市到达城市起飞时间到达时间价格折扣率更票数二港虹桥

34、北京7:009:2010639420進虹糅匕京8:5F11;15S54T520上海虹桥 广州10:3012:506J84B20上海涌东青岛19:5021:20418S620上梅浦亲 喩都15:45iy:os型汕刻余票数11请扌姙意键继续 (7) 修改:h输人航班信息厶列出航班信息3;多航班号萱询航班喑息4=按出发到迖城市萱嗚飢班信息5:订票6;退票71修改航班信息IS.退出程序谙输入功能选项1-8):7请邇入你要修改的航班#:3U39o4原信息:翩左号岀发城市到达城有起飞时间到达时阖价格折扣率总票数剌余樂數SU8%4 上悔浦余成都 15:4& iy:D5 922 b7 2(J U请输入修改后的信息:航班号岀发城市到达城肓超飞时间到达时间价格折扣率总票数剰余票數 3UB%4 上海浦东成都 1E/5 10;0E 022 57 20 3请按任意键昨.修改后显示航班信息* *d|c :c|c *#*:(: !:* 耿 * *d|cz|z: * 盘 * sc *:<* 卓 * |o|c *:>|afc * *ll输入航班信息 2.列出航茨

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论