数据结构-航空客运订票系统.docx
《数据结构-航空客运订票系统.docx》由会员分享,可在线阅读,更多相关《数据结构-航空客运订票系统.docx(48页珍藏版)》请在三一办公上搜索。
1、课程设计报告课程名称:数据结构设计题目:航空客运订票系统 院 系: 班 级: 设计者: 学 号: 指导教师:课程设计报告一、题目分析主要功能包括:1、录入:可以录入航班情况(如:输入航班号,飞机编号,查询起降时间,起飞抵达城市,剩余的票数!2、查询:可以查询某个航线的情况(如:输入航班号,飞机编号,查询起降时间,起飞抵 达城市,剩余的票数);可以输入降落城市及航班号,查询飞机航班情况。3、订票:根据客户要求(航班号、订票数量)查询该航班的余票数情况,若有余票,则可 以订票;若余票数不足,则需要重新询问客户要求,否则不能完成订票。4、退票:可退票,根据客户的姓名,订票数量查询是否为真实信息,为客
2、户办理退票。5、退出系统。二总体设计拿到课程设计题目后,经过仔细的研究,还是决定做航空客运订票系统,它可以使自己 很好的巩固在数据结构当中所学到的知识以及各算法,做到学以致用,并在运用的基础上, 进一步去创新。1、主程序流程图及其说明主程序的流程图如下图所示:利用switch语句,用户只需根据自己的需要,输入相应的命令即可达到效果。例如, 若需要查询航班信息时,则输入2;需要为客户预定机票时,则输入4;若需要退出系统, 则输入5即可。2、子程序流程图及其说明(玖录入航班信息的流程图及其说明:主要功能是将新的航班信息写入新建链表中,然后把新链表与储存航班的链表合并,得 到新的航班信息,实现对新航
3、班的增加。录入航班信息的流程图如下图所示:、查询航班信息流程图及其说明:先输入所要查找的航班,可通过降落城市查询或根据航班号查询。然后判断该航班是否存在,若存在,则输出相关的航班信息;若不存在,则提示该航班不存在。查询航班信息的流程图如下图所示:、订票、退票流程图及其说明:订票说明:先输入降落城市,找到该航班并显示该航班信息,若找不到则提示不存在该航班。再通过需要订票的数量来判断余票量是否足够。若足够则录入客户姓名,完成订票;若余票不足,则提示是否要取消并重新订票。订票的流程图如下图所示:退票说明:先通过输入客户的姓名及订票数目,确定是否存在该客户信息,若符合条件, 则完成退票;若无该客户信息
4、,则提示该航班没有人订票或者是该客户没有订该航班的票。退票的流程图如下图所示:三详细设计1,数据结构设计typedef struct booked( 单链表char name115;已订票客户姓名int number1;已订票数量struct booked *next1;booked,*Link;typedef struct book( 单链表char name215;预定票客户姓名int number2;要订票数量struct book *next2;/下一个链队结点指针book,*Qptr;typedef struct(Qptr front;单链队头结点Qptr rear;单链队尾结点li
5、nkQueue;2、函数说明(1)主函数main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。(2) 其他各功能函数包括函数名功能void enter()录入航班信息void refer()查询航线信息intInsertLinklist(Linklist声明录入航班信息&head1);void cityrefer();通过降落城市查询void flynumrefer();通过航班号查询void reserve();订票void refund();退票3、分工函数设计(截图分析及相关说明)(以主函数void main()H = (struct booked*)mall
6、oc(sizeof(booked);Q.front二Q.rear=(Qptr)malloc(sizeof(book); /申请空间并初始化队歹UInitLinklist();int n;do /打印主界面printf(t+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +nn);printf(t*-1.录入航班信息*nn);printf(t*-2.查询航班信息*nn);printf(t*-3.订票功能*nn);printf(t*-4.退票功能*nn);printf(t*-5.退出*nn);printf(t+ + + + + + +
7、+ + + + + + + + + + + + + + + + + + + + + +n);printf(t 请选择:);scanf(%d”,&n);printf(n);switch(n)case 1:enter();录入功能break;case 2:refer();查询功能break;case 3:reserve(); 订票功能break;case 4:refund(); 退票功能break;case 5:printf(【感谢使用航空客运订票系统】n);break; /退出while(n = = 1 |n =2|n= = 3|n = =4);运行结果:、录入航班信息void enter()
8、录入航班信息int j = 1,m;doif(!InsertLinklist(L)向其中加入航班信息printf(-内存已满n);向链表中加一结点printf(t是否要输入下一个航线记录?n);printf(t 是请输入 1n);printf(t 否请输入 2n);scanf(%d,&m);选择是否输入下一条航线while(m = = 1);Linklist InitLinklist()L=(Linklist)malloc(sizeof(fly);if(!L)L-next=NULL;建立一个带有头结点的单链表return(L);int InsertLinklist(Linklist &L) 向
9、航线链表添加新的结点Linklist p;p=(Linklist)malloc(sizeof(fly);为一个新的结点分配空间printf(t请依次输入下面几项内容:nn);printf(-航班号:);scanf(%s,p-flynum);printf(-飞机编号:); scanf(%s,p-plane);printf(-起飞城市:);scanf(%s,p-city1);printf(-降落城市:);scanf(%s,p-city);printf(-飞行日期:);scanf(%s,p-date);printf(-剩余的票数:);scanf(%d”,&p-rest);p-booked = (bo
10、oked*)malloc(sizeof(booked);/申请存储空间p-book=Q.front=Q.rear=(Qptr)malloc(sizeof(book); /申请存储空间 p-next=L-next;L-next=p;return 1;运行结果:22012-12-30 :120言否要输入下一个航线记录?否请输请依次输入下面几项内容: D:flyDeb u gfly.exe中鬲票1- ,5=费飞落行余opV=S%=MU8S *. ngsuw- SI注wmHd-Kwunstlv是 u ) 屈fflew:wsHH、()M0U po sssi QS8S $KXFKd=us% -sElhw.
11、MU 一d K0Md=us% -ew怏srwu 一d s0Md=us% -ew尸vaJctu 一d K* _ckd=us% -咿忌 9L Jctu 一d Klunu_Kd=us* - MU 一dK=u 二 Jctu 一d)(OHHQ0u.(d*)dEUESW)(dw +-TX uAdndprintf(t 剩余的票数:dn”,p-rest);break;elseprintf(-t【对不起,没有您要查找的降落城市.】nn);m=0;while(m!=0);运行结果:Q .jj-i ;01:01 D:flyDebu gfly.exep录入航班信息暮2.查询航班信息暮-3.订票功能-4.退票功能K-5
12、.退出+ 4-H-H-H-H- + + + + + + + + + + + + + + + + + + +请选择;2查4-4-4-4-4-4-4-找航线信息+ + + + +1.通过降落城市查询*2.通过航班号查询*4-4-4-4-I-I-I-I-I- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 请选择;i读输人你要查询的降落城市;上海2012.12.30spl乘溪晶篥数:1204-4-4-4-I-I-I-I-I- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 4- + 4-rrr.通过
13、航班号查询void flynumrefer() /通过航班号查询char c15;Linklist p = L;int m;printf(t请输入你要查询的航班号:);K*_ckld=us% -咿忌尸MU 一dKEnu_Kld=us% - MU 一dK=u二姬、誓喜艺*d)(0 H H (Tlu n u_.(d *) 一 d iu UJSW)(dw+-TXu 人dndopV=S%=MU8SoHlu、拾友】-)七&.)s- f 履05q 5$xd=up%辙眯留藤MU 一d 奇xp 人dsu/s% -Kmlh声MU_d Kqxd=us% -ew怏srwu 一d sqxd=us% -ew尸varwu
14、 一dwhile(m!=0);运行结果:#include #include #include #include typedef struct booked( 单链表char name115;已订票客户姓名int number1;已订票数量struct booked *next1;booked,*Link;typedef struct book( 单链表char name215;预定票客户姓名int number2;要订票数量struct book *next2;/下一个链队结点指针book,*Qptr;typedef struct(Qptr front;单链队头结点Qptr rear;单链队尾
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 航空 客运 订票 系统

链接地址:https://www.31ppt.com/p-5306559.html