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

上传人:钟*** 文档编号:5423343 上传时间:2020-01-29 格式:DOC 页数:16 大小:207.88KB
返回 下载 相关 举报
航空订票系统课程设计.doc_第1页
第1页 / 共16页
航空订票系统课程设计.doc_第2页
第2页 / 共16页
航空订票系统课程设计.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
.设计题目航空订票系统任务:航空客运定票的业务活动包括:查询航线、客票预定和办理退票等。试设计一个航空客运定票系统,以使上述业务可以借助计算机来完成。功能要求:(1)录入:可以录入航班情况(2)查询:可以查询某个航线的情况(如输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)退票: 可退票,退票后修改相关数据文件;(5)客户资料:有姓名,证件号,订票数量及航班情况,订单要有编号;(6)修改航班信息:当航班信息改变可以修改航班数据文件。需求分析本演示程序中,由用户录入或修改航班情况,进行查询,预定及办理退票等业务,用户在菜单中进行各个不同功能的选择,有“输入航班信息”、“列出航班信息”、“按航班号查询航班信息”、“按出发到达城市查询航班信息”、“订票”、“退票”、“修改航班信息”、“退出程序”八个功能。概要设计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;/价格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()/修改程序调用关系如下:开始输入操作编号(1-10)? 1 2 3 4 5 6 7 8 修改航班信息退出订票退票按出发到达城市查询航班信息按航班号查询航班信息列出航班信息输入航班信息详细设计#include#include#includetypedef structdouble number;/订单编号char name20;/姓名char id20;/身份证号int count;/数量char p20;/航班号GUEST;typedef structchar 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()/输入航班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.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 %s t%st%d %dt%d t%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(输入你查询的航班号:);scanf(%s,num);for(i=0;in;i+)if(strcmp(num,planei.num)=0)printf(航班号 出发城市 到达城市 起飞时间 到达时间 价格 折扣率 总票数 剩余票数n);printf(%s %s %s %s t%st%d %dt%d t%dn,planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,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 %s t%st%d %dt%d t%dn,planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,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;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.rest-=count; planei.t+;elseprintf(很抱歉,该航班剩余票数为 %d 张n,planei.rest); for(k=0;kn;k+)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(航班号 出发城市 到达城市 起飞时间 到达时间 价格 折扣率 总票数 剩余票数n); printf(%s %s %s %s t%st%d %dt%d t%dn,planek.num,planek.depart,planek.arrive,planek.start,planek.end,planek.price,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=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); else printf(订单编号 姓名 身份证号 订票数 航班号n); printf( %d,planei.guestj.number); printf( %s,planei.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); 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); for(i=0;in;i+) if(strcmp(a,planei.num)=0) break; if(i=n) printf(没有此航班!n); else printf(原信息:n); printf(航班号 出发城市 到达城市 起飞时间 到达时间 价格 折扣率 总票数 剩余票数n); printf(%s %s %s %s t%st%d %dt%d t%dn,planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,planei.discount,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.start,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest); void main() int a,b; do system(cls); for(a=0;a50;a+)printf(*);printf(n);printf(tt1: 输入航班信息n); printf(tt2: 列出航班信息n); printf(tt3: 按航班号查询航班信息n); printf(tt4: 按出发到达城市查询航班信息n); printf(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(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 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)修改时输入不存在的航班号精选word范本!
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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