您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据结构课程设计航空订票系统
数据结构课程设计——订票系统第1页共30页目录总体设计..................................................................................................................................................2概要设计..................................................................................................................................................2详细设计..................................................................................................................................................3调试分析................................................................................................................................................11测试数据及截图................................................................................................................................11时间复杂度分析................................................................................................................................15问题思考............................................................................................................................................15算法的改进设想................................................................................................................................15课设总结体会........................................................................................................................................15附录........................................................................................................................................................17程序说明............................................................................................................................................17源代码................................................................................................................................................17主要参考文献........................................................................................................................................30数据结构课程设计——订票系统第2页共30页总体设计通过此系统可以实现如下功能:1).录入:可以录入航班情况(数据存储在一个数据文件中)2).查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3).订票:(订票情况存在一个数据文件中)可以订票,如果该航班已经无票,可以提供相关可选择航班;4).退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。5).修改航班信息:当航班信息改变可以修改航班数据文件概要设计每个模块的算法设计说明如下:(1)录入模块:查找单链表的链尾,在链头插入一个“航班信息”的新结点。(2)浏览模块:顺着单链表输出航班信息。(3)修改模块:输入密码,确认是否有权限对航班信息进行修改,有则进行修改,否则不能修改。提供两种修改方式:添加航班和对已有的航班信息进行改动(修改和删除),1添加航线,0对已有的航班信息进行改动(修改和删除)。对已有的航班信息进行改动(修改和删除):顺着单链表查找,若找到则进行相关操作。(4)查询模块:提供两种查方式:按航号和起飞抵达城市查询,0代表按航号查询,1代表按起飞抵达主函数录入航线信息浏览航线信息修改航线信息查询航线信息办理订票业务办理退票业务退出系统将航线信息和乘客信息写入文件数据结构课程设计——订票系统第3页共30页城市查询。顺着单链表查找,如果与航班号(起飞抵达城市)一致,输出相关信息并询问乘客是否要订票,若订进入订票模块;否则,查询不成功。(5)订票模块:查找乘客要订的航班号,判断此航班是否有空位,有则输入乘客有关信息,订票成功;否则查找这个月此乘客起飞城市和降落城市的有空位航班,供乘客选择,若有则订票,若无则订票不成功并把此乘客的信息录入此航班等候订票队列中,退出订票。(6)退票模块:输入要退票的乘客姓名以及所退票的编号,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并判断是否有等候订票的乘客(有则通知等候订票乘客订票,无则余票加乘客所退票数);无则退票失败。(7)文件模块:顺着单链表把链表的信息写入文件。详细设计NYYNNY开始p=H-nextp!=NULLˆP所指向的航班信息写入文件p=p-next结束将航线信息写入文件开始p=H-nextp!=NULLq=p-order-nextq!=NULL将q所指向的乘客信息写入文件q=q-nextp=p-next结束将乘客信息写入文件数据结构课程设计——订票系统第4页共30页开始设置管理员密码am=0,t=1输入cc=1进入录入航线m=1文件操作c=2进入浏览航线c=3m=1进入修改航线xxian文件操作c=4m=1进入查询航线航班线xxian文件操作c=5m=1进入订票xxian文件操作c=6进入退票xxian文件操作c=0t=1t=0提示没有您选择的操作结束YYYYYYYYYYYYNNNNNNNNNNN主函数数据结构课程设计——订票系统第5页共30页开始传入参数H输入要修改的信息p查找p输入p修改后信息结束修改操作开始传入参数H输入要删除的信息p查找p并记住p的前一个点qq-next=p-next释放p的空间结束删除操作输入要插入的信息p参数H传入入p-next=H-nextYYN开始H-next=p结束插入操作开始传入参数H输入要查找的信息sp=H-nextp!=NULLp=s结束q=pp=p-nextN查找操作数据结构课程设计——订票系统第6页共30页是否找到此航班Y开始输入订单编号查找此编号所在航班删除此编号此航班是否有等候订票乘客通知等候订票乘客进入订票余票量加退票乘客的退票量结束NNY退票操作说明:此流程图中的查找编号所在的航班为上面已画出的查找操作的流程开始初始化in输入第i条航班信息i++结束NY录入操作将信息插入链表中p=!NULLˆ结束开始输出航线信息p=p-next浏览操作NYp=H-next数据结构课程设计——订票系统第7页共30页结束修改航班信息说明:c为选择添加航线操作还是改动航班信息,c=1为添加航班信息,c=0时为改动航班信息。d为选择修改航班信息操作还是删除航班信息,d=0为修改航班信息,d=1为删除航班信息NYNNNNNNYYYYY开始参数H传入并输入密码S输入cc!=0&&c!=1c=0Y输入添加的航线条数ni=0in输入航班信息将其插入链表中i++输入dd!=0&&d!=1d=0输入要修改的航班条数ni=0in输入要修改的航班信息查找此航班i++输入要修改的航班条数ni=0in修改此航班信息输入要删除的航班信息查找此航班删除此航班i++s=cNY数据结构课程设计——订票系统第8页共30页开始c=0||c=1c=0输入查询的航班号q输入起飞和抵达的城市输出航班号的详细信息k=0输出航班信息k=0K=0进入Dinpiao(H)进入结束YNNYNY查询操作查找航班查找航班选择查询方式c说明:此流程图中的查找航班为上面已画出的查找操作的流程数据结构课程设计——订票系统第9页共30页开始是否找到ˆNY查找此日期和航班记为pY是否重输信息ˆ是否有余票是否有想订票的航班查找与p航班到达相同目的地并且在这个月的航班ca输出这些航班信息将此乘客的信息填入p航班等候乘客队列中N修改此航班的相关数据结束N订票操作YNYDinpiao(H)NY输入订票日期和航班号输出余票量a输入订票量c输出此订单的编号说明:此流程图找的查找航班和修改航班的相关数据分别为上面已画出的查找操作和修改操作的流程。数据结构课程设计——订票系统第10页共30页NNYY开始参数H、t、j传入t=1?1将航线信息写入文件J=1?将乘客信息写入文件结束文件操作由于此系统流程图太多,流程图所对应的源代码较长,所占篇幅也较大,并且流程图所对应的源程序在订票系统源程序中都有,这里就不再赘述。需要说明的是插入、查找、修改和删除这些线性表的基本操作的流程图在订票系统源程序中没有单独函数,是因为此系统主要是运用线性表的基本操作解决实际问题,具体问题所对应的基本操作代码有所不同,但思维是相同的,所以这几个操作的源代码已经对应写入了其他具体操作的函数中,这里也不再给出。根据订票系统功能的需要定义了如下的结构体:typedefstructwat_ros/*等候订票乘客的信息*/{charname[20];/*姓名*/charphone[15];/*等候订票乘客的联系方式*/structwat_ros*next;}qnode,*qptr;typedefstructpqueue{qptrfront;/*等候替补客户名单域的头指针*/qptrrear;/*等候替补客户名单域的属指针*/}linkqueue;typedefstructord_ros{charname[20];/*客户姓名*/charIDnum[20];/*客户有效证件的编号*/charairnum[7];/*航班号*/intdpl;/*订票量*/charpiaohaio[20];//票的编号,由航班号起飞日期此航班订票前的余票量structord_ros*next;}Lnode,*linklist;typedefstructairline{charqdname[20];/*起点站名*/charzhname[20];/*终点
本文标题:数据结构课程设计航空订票系统
链接地址:https://www.777doc.com/doc-1905572 .html