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

下载本文档

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

文档简介

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()/ 退票

4、void change()/ 修改程序调用关系如下:开始12345678输入航班信息列出航班信息按航班号查询航班信息按出发到达城市查询航班信息订票退票 修改航班 退出信息详细设计#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

5、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()/ 输入航班int i;printf(" 输入总航班数:");scanf("%d",&n);printf(" 输入

6、航班信息:n");printf(" 航班号出发城市到达城市起飞时间到达时间价格 折扣率总票数剩余票数n");for(i=0;i<n;i+)scanf("%s %s %s %s %s %d %d %d %d",planei.num,planei.depart,planei.arrive,planei.s tart,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest);void list()/ 显示int i;printf(&

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

8、scanf("%s",num);for(i=0;i<n;i+)if(strcmp(num,planei.num)=0) %dt%d剩余票数%dt%dprintf(" 航班号出发城市到达城市起飞时间到达时间价格 折扣率总票数剩余票数n");printf("%s %s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,planei .discount,planei.total,planei.rest)

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

10、s %s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,planei .discount,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

11、book()/ 订票char name20,p20,id20;double number;int i,j,k,y,count;for(i=0;i<n;i+)planei.t=0;doprintf(" 输入订单信息:n");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(&quo

12、t; 没有此航班n");elseif(planei.rest>=count)j=planei.t;planei.guestj.number=number;strcpy(,name);strcpy(planei.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+)

13、if(strcmp(planei.depart,planek.depart)=0)&&(strcmp(planei.depart,planek.depart)=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(" 航班号出发城市到达城市起飞时间到达时间价格 折扣率 总票数

14、剩余票数n");printf("%s %s%s%s t%st%d%dt%dt%dn",planek.num,planek.depart,planek.arrive,planek.start,planek.end,planek.price,pla nek.discount,planek.total,planek.rest);printf(" 是否继续订票, “是”输入 1 , “否”输入0n");scanf("%d",&y);while(y);void quit() / 退票double number;char id2

15、0;int i,j,temp,k,y;temp=0;printf(" 请输入您的订单编号:n");scanf("%d",&number);printf(" 请输入您的身份证:n");scanf("%s",id);for(i=0;i<n;i+)for(j=0;j<planei.t;j+)if(number=planei.guestj.number&&(strcmp(id,planei.guestj.id)=0) temp=1;break;if(temp=1)break;if(i=n

16、)printf(" 没有此订单!n");elseprintf(" 订单编号姓名身份证号订票数航班号 n");printf("%d",planei.guestj.number);printf("%s",);printf(" %s",planei.guestj.id);printf("%d",planei.guestj.count);printf("%sn",planei.guestj.p);printf(" 您是

17、否确认删除(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;strcpy(,);strcpy(planei.guestk-1.id,planei.guestk.id);planei.guestk-1.count=planei.guestk.count;strcpy

18、(planei.guestk-1.p,planei.guestk.p);planei.t-;printf(" 退票成功!n");void change()/ 修改char a20;int i;printf(" 请输入你要修改的航班号:");scanf("%s",a);for(i=0;i<n;i+) if(strcmp(a,planei.num)=0) break;if(i=n)printf(" 没有此航班!n");elseprintf(" 原信息 :n");剩余票%dt%d剩余票数prin

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

20、quot;%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 main()int a,b;dosystem("cls");for(a=0;a<50;a+)printf("*");printf("n");printf("tt

21、1:输入航班信息n");printf("tt2:列出航班信息n");printf("tt3 : 按航班号查询航班信息n");n");printf("tt4:按出发到达城市查询航班信息printf("tt5:订票n");printf("tt6:退票n");printf("tt7:修改航班信息n");printf("tt8 : 退出程序n");for(a=0;a<50;a+)printf("*");printf("

22、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("pause");break;case 5:book();system

23、("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 Visual Stu

24、dio 6.0中的Microsoft Visual C+ 6.0中运行。执行文件为:航空订票系统 .exe(2)进入演示程序后即显示DOS形式的界面:* 半* *1;输入航班信息2:列出航班信息3:按航班号查询航班信息41按出发到达城市查询航班信息5:订票%退票7;修改航班信息上退出程序 *二*4:*4:* *布* 请输入功能选项1-R):(3)输入航班信息。(4)由用户在菜单页面选择需要执行的功能,系统会显示相关信息测试结果(1)输入航班信息h输入航班信息2.列出航班信息九按航班号查询航班信息4:按出发到达城市查询航班信息5:订票6;退票7 .修改航班信息Sr退出程序* * *木*本*请输入

25、功能选项1-幻:1输入总航班勘5输入航班信息;航班号出发城市到达城市起飞时间到达时间价格折扣率息票数剩余票越MU5103 上海虹擀 北京 7:00 9:20 1063 94 20 2CA1590 上箱虹桥 北京 8:55 11:15 364 75 20 0FH93O7 上海虹柝广州10:3012; 5060S4S205HQ1241 上港浦东青岛19:5021:2041S562011列8964 上洁浦东成部15:4519:0592257201请按任意键继续. .(2)列出航班信息1:输入航班信息2.列出航班信息也按航班号查询航班信息4:按出发到达城市查询航班信息5:订票6:退票7:修改航班信息3

26、;退出程序请输入褊诞项*航班号上二发城市到达城市起飞时间到达时间价格MU5103 二海虹擀7:009:201063CA1590 _二海虹楙8:5511:15864FH9307 .二海虹柝10:3012:50608H01241 .上海浦东19:5。21:204183US964 J15:4519:05922请按任意键继续.1(3)按航班号查询航班信息折扣率9475485657五nro o o- o O, 算 2 2 2 2 2 总剩余票数2051111:输入航班信息露列出航班信息3:按航班号查询航班信息事按出发到达城市查询航班信息5:订票6:退票7:修改航班信息以退出程序*二*:4c*:|

27、3;*:|£|£*:1:*:!聿请输入功能选项卜g):3输入你查询的航班号;123没有此航班!请按任意键继续.(4)按出发到达城市查询航班信息1:输入航班信息2.列出航班信息5按航班号查询航班信息4:按出发到达城市查询航班信息5:订票6:退票7:修改航班信息a:退出程序请输入功能选项1得):4输入起飞城市和到达城市:上海虹桥北京航朝母出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票数MU5103 上海虹桥北京 7:009; 20106394202第1590上海虹桥北京 8:5511:1586475200请按任意键继续. . .(5)订票1,输入航班信息21列出航班信息

28、3;按航班号查询航班信息4:按出发到达城市查询航班信息5:订票6;退票7,修改航班信息8i退出程序* * 木本木4:米率*木 木木*请输入功能选项1-8):5输入订单信息:订单编号姓名身榜证号订票数航班号1 张三丰 31000012 1 3U3964是否g瞄订票,"是"输入L "否“输入01输入订单信息:订单编号姓名身份证号订票数航班号2 张翠山 31000025 1 FI9307是否继续订票,"是"输入1, “否”输入01输入订单信息:订单编号姓名身份证号订票数航班号3 张无忌 31000033 1 IU5103是否继续订票."是&

29、quot;输入1."否”输入00请按任意键继续. . .显示退票后航班信息:1:揄入航班信息3列出航班信息3?按航班号查询航班信息4:按出发到达城市查询航班信息5:订票6:退票7:修改航班信息3:退出程序请输入3能选项卜幻,#*航班号上匕发城市到二起飞时间到达时间於格MU5103 二海虹桥二7:009:201063CA159O _二海虹擀 二8:5511;15864FM9307 .二海虹桥J10:3012:50608H01241 .E海浦东 1岛19:5。21:204183US964 J 请按任意令上海浦东 f建继续.戊都15:4519:05922折剩余票数104110(6)退票1:

30、输入航班信息2=列出航班信息3:按航班号查询航班信息4:按出发到达城市查询航班信息5:订票6:退票7;修改航班信息8:退出程序请输入功能选项1点):6请输入您的订单编号:2请输入您的身份证:31000025订单编号姓名身份证号订票数航班号2 张翠山 310000251FM9307您是否确认删除(1/0)1退票成功!请按任意键继续.显示退票后航班信息:1:输入航班信息九列出航班信息3.按航班号查询航班信息4:按出发到达城市查询航班信息5:订票6:退票7;修改航班信息小退出程序请输入功能选项卜3臬2航班号出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票数MU5103_二海虹桥T 卜X Li7

31、:009:20106394201CA1590二海虹桥(打t8; 5511:1586475200FM9307二海虹柝广州10:3012:506084820HO 1241lz海浦东青岛19:5021:204135620113US9641成都15:4519:059225720一一一 k y -.a I 1114r '请按任意键继续.(7)修改:h揄入航班信息2i列出航班信息3.按航班号查询航班信息事按出发到达城市查询航班信息5:订票6:退票7:修改航班信息需退出程序请输入%能选项卜8),*7请输入你要修改的航班号:3U8964厚信息,镜雄事出发城市到达城市起飞时间到达时间价格折扣率总票数剩余票数3U3%4 上海浦东成都 15:4519;。592257200请输入修改后的信息:航班号出发城市到达城市起飞时间到达时间价格折扣率息票数剜除票数 3US964 上海浦东成都 15:45 19:05 922 57

温馨提示

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

评论

0/150

提交评论