航空订票系统课程设计.docx

上传人:暗伤 文档编号:16928805 上传时间:2022-05-20 格式:DOCX 页数:16 大小:219.42KB
返回 下载 相关 举报
航空订票系统课程设计.docx_第1页
第1页 / 共16页
航空订票系统课程设计.docx_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《航空订票系统课程设计.docx》由会员分享,可在线阅读,更多相关《航空订票系统课程设计.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、城市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()/显示void search1()/按航班号查询void search2()/按起飞抵达城市查询void book()/订票void quit()/退票void change()

4、/修改程序调用关系如下:开始输入操作编号(1-10)?12345678输入航班信息列出航班信息按航班号查询航班信息按出发到达城市查询航班信息订票退票修改航班信息退出详细设计#include #include #includetypedef structdouble number;/订单编号char name20;/姓名char id20;/身份证号int count;/数量char p20;/航班号GUEST;typedef structchar num20;/航班号char depart30;/出发城市char arrive30;/到达城市char start20;/起飞时间char end

5、20;/到达时间int price;/价格int 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;in;i+)scanf(%s %s %s %s %s %d %d %d %d,planei

6、.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;in;i+)printf(%s%s%s%st%st%d%dt%dt%dn,planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,p

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

8、 ice,planei.discount,planei.total,planei.rest);break;if(i=n)printf(没有此航班!n);void search2()/按起飞抵达城市查询int i;char a50,b50;printf(输入起飞城市和到达城市:); scanf(%s %s,a,b);printf(航班号出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票数n);for(i=0;in;i+)if(strcmp(a,planei.depart)=0)&(strcmp(b,planei.arrive)=0)printf(%s%s%s%st%st%d%dt%dt%dn

9、,planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discount,planei.total,planei.rest);printf(n); for(i=0;in;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;

10、 for(i=0;in;i+)planei.t=0;doprintf(输入订单信息:n);printf(订单编号姓名身份证号订票数航班号n); scanf(%d %s %s %d %s,&number,name,id,&count,p); for(i=0;i=count)j=planei.t; planei.guestj.number=number;strcpy(planei.guestj.name,name); strcpy(planei.guestj.id,id); planei.guestj.count=count; strcpy(planei.guestj.p,p); planei.r

11、est-=count;planei.t+;elseprintf(很抱歉,该航班剩余票数为 %d 张n,planei.rest); for(k=0;kn;k+)if(strcmp(planei.depart,planek.depart)=0)&(strcmp(planei.depart,planek.depar t)=0)break;if(k=n)printf(没有其他从%s到%s的航班n,planei.depart,planei.arrive);elseprintf(从%s到%s还有%s航班nn,planek.depart,planek.arrive,planek.num);printf(航班

12、号出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票数n);printf(%s%s%s%st%st%d%dt%dt%dn,planek.num,planek.depart,planek.arrive,planek.start,planek.end,planek.pr ice,planek.discount,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=

13、0;printf(请输入您的订单编号:n); scanf(%d,&number);printf(请输入您的身份证:n); scanf(%s,id); for(i=0;in;i+)for(j=0;jplanei.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,pla

14、nei.guestj.name);printf(%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;kplanei.t;k+)planei.guestk-1.number=planei.guestk.number; strcpy(planei.guestk-1.name,planei.guestk.name);str

15、cpy(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);for(i=0;in;i+)if(strcmp(a,planei.num)=0)if(i=n)break;else数n);printf(没有此航班!n);print

16、f(原信息:n);printf(航班号出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票printf(%s%s%s%st%st%d%dt%dt%dn,planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discount,planei.total,planei.rest);printf(请输入修改后的信息:n);printf(航班号出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票数n);scanf(%s %s %s %s %s %d %d %d %d,planei.num

17、,planei.depart,planei.arrive,planei.sta rt,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest);void main()int a,b; dosystem(cls); for(a=0;a50;a+)printf(*);printf(n);printf(tt1: 输 入 航 班 信 息 n); printf(tt2: 列 出 航 班 信 息 n); printf(tt3: 按航班号查询航班信息n); printf(tt4: 按出发到达城市查询航班信息n); printf

18、(tt5: 订票n);printf(tt6: 退 票 n); printf(tt7: 修改航班信息n); printf(tt8: 退 出 程 序 n); for(a=0;a50;a+)printf(*);printf(n);printf(请输入功能选项 1-8):n); scanf(%d,&b);switch(b)case 1:inputplane(); system(pause); break;case 2:list(); system(pause); break;case 3:search1(); system(pause); break;case 4:search2(); system(

19、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 quit()时,系统总是显示没有此订票,最后发现没有跳出其中的一个这个双层 for 循环,现在通过调试,解决了这个问题。b. 调试后程序会自动判断输入的数字的有效性。用户手册(1) 演示程序的运行环境为 Windows Vista 系统,Microsoft Vis

20、ual Studio 6.0中的 Microsoft Visual C+ 6.0 中运行。执行文件为:航空订票系统.exe(2) 进入演示程序后即显示 DOS 形式的界面:(3) 输入航班信息。(4) 由用户在菜单页面选择需要执行的功能,系统会显示相关信息测试结果(1) 输入航班信息(2) 列出航班信息(3) 按航班号查询航班信息(4) 按出发到达城市查询航班信息(5) 订票显示退票后航班信息:(6) 退票显示退票后航班信息:(7) 修改:修改后显示航班信息对于特殊情况的处理(1) 输入不存在的航班号进行查询(2) 输入不存在的出发到达城市进行查询(3) 剩余票数不足(4) 修改时输入不存在的航班号

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁