欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构设计C语言航空订票系统.doc

    • 资源ID:863986       资源大小:393KB        全文页数:26页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构设计C语言航空订票系统.doc

    1、 目 录一、设计题目 (3)二、任务(3)三、功能要求和测试数据 (3)四、需求分析 (4) 4.1 宏观需求分析 (4) 4.2 具体需求分析 (4)五、 概要设计(5) 5.1系统的流程框图(5) 5.2系统各函数的功能、相互调用关系 (6)六、 详细设计(8) 6.1 各变量的定义和作用 (8) 6.2 系统各函数的功能 (8)七、 调试分析(21)八、 用户手册 (22)九、测试结果(22)十、心得体会与参考文献(22)设计题目 航空订票系统任务航空客运定票的业务活动包括:查询航线、客票预定和办理退票等。试设计一个航空客运定票系统,以使上述业务可以借助计算机来完成。功能要求1) 录入:

    2、可以录入航班情况2) 查询:可以查询某个航线的情况(如输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3) 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;4) 退票: 可退票,退票后修改相关数据文件;5) 客户资料:有姓名,证件号,订票数量及航班情况,订单要有编号;6) 修改航班信息:当航班信息改变可以修改航班数据文件。测试数据航班数据航班号出发城市到达城市起飞时间到达时间价格折扣率(%)总票数剩余票数MU5103上海虹桥北京7:009:20106394202C

    3、A1590上海虹桥北京8:5511:1586475200FM9307上海虹桥广州10:3012:5060848205HO1241上海浦东青岛19:5021:204185620113U8964上海浦东成都15:4519:0592257201客户数据姓名证件号订票数航班号张三丰3100001213U8964张翠山310000251FM9307张无忌310000331MU5103需求分析宏观需求分析采用现有的软硬件环境及先进的管理系统方案,从而达到充分利用现有资源,提高系统应用效果的目的。尽量达到系统操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改

    4、,又便于未参与开发的技术维护人员补充、维护。系统应具备维护功能,及时根据用户需求进行数据的添加、删除、修改等操作。具体需求分析 菜单是应用程序中非常重要的组成部分,通过菜单,应用程序可以实现不同的功能,通过本系统的设计,可以实现应用程序的菜单。(1)程序运行时,首先给出两个菜单选项的内容和输入提示:管理员进入输入1,客户进入输入2。用户输入1或者2,以不同身份进入系统,如果输入1和2以外的其他字符,则显示输入错误,请重新输入。 (2) 若用户选择是管理员身份进入,需要输入密码(首次设定密码为1111),验证正确后,则可进入系统,显示如下7个菜单选项(后有截图)。若密码验证错误,则提示密码错误,

    5、并返回主界面让用户重新选择身份。1. 输入航班信息 2.查询航班信息 3.输入乘客信息 4.查询乘客信息 5.修改航班信息 6.查找航线 7.返回上一界面 (3)若用户是以客户身份进入,则进入系统后,将显示如下7个菜单选项(后有截图)。进入系统后,用户可以根据需要输入选项实现不同功能。若输入其它字符,则显示输入错误,1.查询航班信息 2.输入乘客个人信息 3.查询乘客个人信息 4.订票信息 5.退票信息 6.查找航线 7.返回上一界面 (4)用户根据需要输入(1-7),若输入其他字符,则提示输入错误,要求重新选择。(5)用户选择(1-7)实现不同功能,如果要返回上级菜单界面,则需要根据提示操作

    6、返回。概要设计4.1系统的流程框图 图1 系统流程框图(二)实现函数的具体功能: (通过定义函数来实现客户端订票,退票等功能) struct air char airnum20; /航班号 char set_off20;/起飞的城市 char get_to20;/终点城市 char start_time20;/起飞时间 char arrive_time20;/到达时间 float price;/票价 float discount;/折扣 int ticketnum;/票的编号 int ticketleft;/剩余的票数airA; struct customer char custnum20;

    7、/证件号 char name40;/姓名 int ticketnum;/票的编号char airnum20;/航班 int booknum;/预定的票号custC;void customermenu()/创建客户账户界面void air_print();/查询航班信息void input_cust();/输入乘客个人信息void yanzheng();/客户信息验证,相当于密码void kehu_print();/乘客查询自己的个人信息void bookticket();/订票信息void tuipiao();/退票信息void search();/查找航线void guanliyuanmen

    8、u();/创建管理员账户界面 void input_air();/输入航班信息void cust_print();/管理员查询所有乘客信息void change();/航线修改系统。void main();/主函数,选择进入管理员界面或客户界面。本系统要用到的库函数:#include#include #include程序调用关系customermenu( )调用了void air_print(),void input_cust(),void kehu_print(),void bookticket(),void tuipiao(),void search()。guanliyuanmenu()调

    9、用了void input_air(),void air_print(),void input_cust();void cust_print(),void change(),void search()。bookticket()和tuipiao()调用了void yanzheng();详细设计/*各变量的定义和作用*/#include#include #include#define A 6 /*航线数*/#define B 15 /*用于循环体中的返回模块,常量*/#define C 5 /*顾客数*/#define Cout airi.airnum airi.set_off airi.get_t

    10、o airi.start_time airi.arrive_time airi.price airi.discount airi.ticketnum airi.ticketleftendlstatic int f=0; /*输入航线数时控制变量*/static int g=0; /*输入顾客数时控制变量*/static int h=0; /*订票时的控制变量*/static int s=0; /*订票与退票时控制变量*/struct air char airnum20; /*航班号*/ char set_off20; /*起飞城市*/ char get_to20; /*到达城市*/ char

    11、start_time20; /*起飞时间*/ char arrive_time20; /*到达时间*/ float price; /*票价*/ float discount; /*折扣率*/ int ticketnum; /*总票数*/ int ticketleft; /*剩余票数*/airA;struct customer char custnum20; /*证件号*/ char name40; /*姓名*/ int ticketnum; /*订票数*/char airnum20; /*航班号*/ int booknum; /*订单编号*/custC;/*2:系统各函数的功能*/void m

    12、ain() /*主函数选择进入管理员界面或客户界面*/int j;void customermenu();void guanliyuanmenu();for(;)cout * 管理人员进入请输入1,客户进入请输入2,退出请输入0 *j; if(j=0&j=2) /判断输入数字是否在规定范围内 switch(j)/选择登录账户类型 case 1:/登陆管理员账户 char p=1111; char m5; coutm;if (strcmp(m,p)=0) /验证密码正确与否 system(cls); /*清屏功能,美化界面*/ guanliyuanmenu(); break; /调用管理员账户信

    13、息 else cout密码错误! 重新选择按键endl; break; case 2:/登陆客户账户 system(cls); /*清屏功能,美化界面*/ customermenu(); break; case 0:/登陆客户账户 exit(0); break; void customermenu()/*创建客户账户界面*/void air_print();void cust_print();void input_cust();void input_air();void search();void bookticket();void change();void tuipiao();void k

    14、ehu_print();int i,j;cout * 客户订票系统 * endl; cout*endl; for(i=0;iB;i+) cout 1.查询航班信息 2.输入乘客个人信息endl; cout 3.查询乘客个人信息 4.订票信息 endl; cout 5.退票信息 6.查找航线 endl; cout 7.返回上一界面 endl; cout *j; switch(j) case 1:air_print(); break; case 2:input_cust(); break; case 3:kehu_print(); break; case 4:bookticket(); break

    15、; case 5:tuipiao(); break; case 6:search(); break; case 7: i=B-1; break; default:cout输入出错endl; cout谢谢使用!endl; void guanliyuanmenu() /*创建管理员账户界面*/ void air_print(); void cust_print(); void input_cust(); void input_air(); void search(); void bookticket(); void change(); void tuipiao(); int j,i; cout *

    16、 管理员航线管理系统 * endl; cout *endl;for(i=0;iB;i+) cout 1.输入航班信息 2.查询航班信息 endlendl 3.输入乘客信息 4.查询乘客信息 endlendl 5.修改航班信息 6.查找航线 endlendl 7.返回上一界面 endlendl; cout *j; switch(j) case 1: input_air(); break; case 2:air_print(); break; case 3:input_cust(); break; case 4:cust_print(); break; case 5:change(); break

    17、; case 6:search(); break; case 7:i=B-1; break; default: cout输入出错; void input_air() /*输入航班信息*/ int i,j=0,k; cout请依次输入各航班信息:endl; cout*endl; for(i=0;iA;i+) cout请输入航班号:airi.airnum; cout请输入出发城市:airi.set_off; cout请输入到达城市:airi.get_to; cout请输入起飞时间:airi.start_time; cout请输入到达时间:airi.arrive_time; cout请输入机票价格:

    18、airi.price; cout请输入机票折扣率:airi.discount; cout请输入机票总票数:airi.ticketnum; cout请输入机票剩余票数:airi.ticketleft; cout第+fk; if(k=0) break;void air_print() /*查询并输出所有航班信息*/int i;if(f=0) cout航班信息未输入,请管理员输入endl;elsecout航班号 出发城市 到达城市 起飞时间 到达时间 ; cout 价格 折扣率 总票数 剩余票数 endl; for(i=0;if;i+) coutairi.airnum airi.set_off ai

    19、ri.get_to airi.start_time ; coutairi.arrive_time airi.price airi.discount airi.ticketnum airi.ticketleftendl;void input_cust() /*输入客户个人信息*/int k;int i;if(f=0) cout航班信息未输入,请管理员输入endl;else cout请依次输入各客户信息:endl; for(i=0;iC;i+) i=g; /*程序错误点,顾客信息输出最后一行乱码,输入三行,只输出两行 ,加入此语句已改正,原因是先管理员界面,后客户界面输入时会使i=0, 而g是静态

    20、变量,其值非0,导致输入出错*/ cout请输入客户证件号:custi.custnum; cout请输入客户姓名:custi.name; cout请输入客户订票数:custi.ticketnum; cout请输入航班号:custi.airnum; cout请输入订单标号:custi.booknum; cout第+gk; if(k=0) break; void cust_print()int i;if(g=0) cout客户信息未输入,请管理员输入endl;else cout 证件号 姓名 订票数 航班号 订单标号endl; for(i=0;ig;i+) coutcusti.custnum cu

    21、sti.name custi.ticketnum custi.airnum custi.booknum endl;void kehu_print() /*用于客户个人信息输出,添加验证功能*/ int i,k=0;/控制变量k char custnum20; /*证件号*/ char name40;if(g=0) cout客户信息未输入,请管理员输入endl;else cout为确保是顾客本人操作,请输入您的证件号和姓名验证endl请输入您的证件号custnum;cout请输入您的姓名:name; for(i=0;ig;i+)if(strcmp(custi.custnum,custnum)=0

    22、&strcmp(custi.name,name)=0) cout 证件号 姓名 订票数 航班号 订单标号endl;coutcusti.custnum custi.name custi.ticketnum custi.airnum custi.booknum endl;k+;if(k=0) cout验证出错,请核对个人信息,系统自动返回上一界面endl;void search()/*根据用户的选择,根据不同的需求查找条件的航线。(如给定航班号,或者给定起点城市和终点城市*/int i,j=0,l;char city120,city220,num20;if(f=0) cout航班信息未输入,请管理

    23、员输入endl;elsefor(l=0;lA;l+)cout请选择查找方式:endl; cout1.按航班号查找endl;cout2.按出发到达城市查找endl;cout0.返回上一级i; switch(i) case 0: l=A; break; case 1: cout请输入航班号:num; for(i=0;iA;i+) if(strcmp(airi.airnum,num)=0)/按航班号判断输出条件 coutendl查找航班信息成功!endl; cout航班号 起始站 终点站 时间 机票数endl; coutCout; j+; continue; if(j=0) cout 查找失败,无此

    24、航线! endl; break; case 2: cout请输入出发城市:city1; cout请输入到达城市:city2; for(i=0;iA;i+) if(strcmp(airi.set_off,city1)=0&strcmp(airi.get_to,city2)=0) /相等 coutendl查找航班信息成功!endl; cout航班号 起始站 终点站 时间 机票数endl; coutCout; j+; continue; if(j=0) cout 查找失败,无此航线! endl; break; void yanzheng()char custnum20; /*证件号*/ char n

    25、ame40; if(g=0) cout客户信息未输入,请管理员输入endl; else cout为确保是顾客本人操作,请输入您的证件号和姓名验证endl请输入您的证件号custnum; cout请输入您的姓名:name; for(int i=0;ig;i+) if(strcmp(custi.custnum,custnum)=0&strcmp(custi.name,name)=0)s=i;break;void bookticket() /*订票信息*/ int i,j,k=0,m=0; /k为控制变量 char num20; void yanzheng(); if(f=0) cout航班信息未输

    26、入,请管理员输入endl; else cout请输入航班号查找:num; for(i=0;iA;i+) if(strcmp(airi.airnum,num)=0)/按航班号判断输出条件 coutendl查找航班信息成功!endl; cout航班号 起始站 终点站 时间 机票数endl; coutCout; +k; h=i; if(k=0) cout该航班信息为空,请核对您的信息; if(k!=0) cout请输入您要订的机票数:j; if(airh.ticketleft!=0)&(j=airh.ticketleft) /*判断是否订票数符合要求*/ airh.ticketleft=airh.t

    27、icketleft-j; custs.ticketnum=custs.ticketnum+j; cout订票成功!endl;elseif(airh.ticketleftj) /判断是否出错 cout票数不足,我们还可以查找其他航班,提供相关可选择航班!endl; char city120,city220; cout按出发和到达城市查找endl; cout请输入出发城市:city1; cout请输入到达城市:city2; for(i=0;iA;i+) if(strcmp(airi.set_off,city1)=0&strcmp(airi.get_to,city2)=0) h=i; coutend

    28、l查找航班信息成功!endl; cout航班号 出发城市 到达城市 起飞时间 到达时间 ; cout 价格 折扣率 总票数 剩余票数 endl; coutairh.airnum airh.set_off airh.get_to airh.start_time airh.arrive_time airh.price airh.discount airh.ticketnum airh.ticketleftendl;m+; if(m=0) cout 我们已经尽力了,但符合要求的航线真的没了!; void tuipiao() /*响应退票操作*/ int i,j,k,l=0,m=0; char num

    29、20; void bookticket(); if(f=0) cout航班信息未输入,请管理员输入:endl; else cout请输入航班号:num; for(i=0;iA;i+) if(strcmp(airi.airnum,num)=0)/*按航班号判断输出条件*/ coutendl查找航班信息成功!endl; cout航班号 起始站 终点站 时间 机票数endl; coutCout; l+; h=i; if(l=0)cout航班信息输入错误,请核实您的信息; if(l!=0) for(;) cout请输入您要退的机票数目:j; if(j0) cout请输入有效的机票数,票数应大于0!en

    30、dl; m+; if(custs.ticketnumj) cout请输入有效的机票数,您的退票数超过已购票数!endl; m+; if(m=0) airh.ticketleft=airh.ticketleft+j; custs.ticketnum=custs.ticketnum-j; cout退票完毕:endl是否继续查找?按1继续,按0结束k; if(k=0) break; void change() /*航线信息修改,当管理员对航班信息做一定的修改时,对数据进行处理*/ char airno20; char airnum20; char city120; char city220; cha

    31、r start_time20; char arrive_time20; float price; float discount; int ticketleft; int i,j,m,k=0; if(f=0) cout航班信息未输入,请管理员输入endlendl; else cout请输入航班号:airnum; for(i=0;if;i+) if(strcmp(airi.airnum,airnum)=0)/判断输出条件 cout航班号 起始站 终点站 时间 机票数endl; coutCout;h=i; k=1;/*控制变量,若有符合航班,则为1,下一步继续,否则下一步中断返回*/ if(k!=1)cout抱歉,尚没有该航班信息,请核对输入内容准确性endl;elsecout请输入新航班号信息:endl; i=h; cout * 航线修改系统 * endl; cout*endl; cout 1.修改航班号 2.修改出发城市 endl; cout 3.修改到达城市 4.修改起飞时间 endl; cout 5.修改到达时间 6.修改机票价格 endl; cout 7.修改折扣率(%) 8.修改总票数 endl; cout 9.修改剩余票数 0.返回上


    注意事项

    本文(数据结构设计C语言航空订票系统.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922