欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    数据结构-航空客运订票系统.docx

    • 资源ID:5306559       资源大小:281.95KB        全文页数:48页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    数据结构-航空客运订票系统.docx

    课程设计报告课程名称:数据结构设计题目:航空客运订票系统 院 系: 班 级: 设计者: 学 号: 指导教师:课程设计报告一、题目分析主要功能包括:1、录入:可以录入航班情况(如:输入航班号,飞机编号,查询起降时间,起飞抵达城市,剩余的票数!>2、查询:可以查询某个航线的情况(如:输入航班号,飞机编号,查询起降时间,起飞抵 达城市,剩余的票数);可以输入降落城市及航班号,查询飞机航班情况。3、订票:根据客户要求(航班号、订票数量)查询该航班的余票数情况,若有余票,则可 以订票;若余票数不足,则需要重新询问客户要求,否则不能完成订票。4、退票:可退票,根据客户的姓名,订票数量查询是否为真实信息,为客户办理退票。5、退出系统。二总体设计拿到课程设计题目后,经过仔细的研究,还是决定做航空客运订票系统,它可以使自己 很好的巩固在数据结构当中所学到的知识以及各算法,做到学以致用,并在运用的基础上, 进一步去创新。1、主程序流程图及其说明主程序的流程图如下图所示:利用switch语句,用户只需根据自己的需要,输入相应的命令即可达到效果。例如, 若需要查询航班信息时,则输入2;需要为客户预定机票时,则输入4;若需要退出系统, 则输入5即可。2、子程序流程图及其说明(玖录入航班信息的流程图及其说明:主要功能是将新的航班信息写入新建链表中,然后把新链表与储存航班的链表合并,得 到新的航班信息,实现对新航班的增加。录入航班信息的流程图如下图所示:、查询航班信息流程图及其说明:先输入所要查找的航班,可通过降落城市查询或根据航班号查询。然后判断该航班是否存在,若存在,则输出相关的航班信息;若不存在,则提示该航班不存在。查询航班信息的流程图如下图所示:、订票、退票流程图及其说明:订票说明:先输入降落城市,找到该航班并显示该航班信息,若找不到则提示不存在该航班。再通过需要订票的数量来判断余票量是否足够。若足够则录入客户姓名,完成订票;若余票不足,则提示是否要取消并重新订票。订票的流程图如下图所示:退票说明:先通过输入客户的姓名及订票数目,确定是否存在该客户信息,若符合条件, 则完成退票;若无该客户信息,则提示该航班没有人订票或者是该客户没有订该航班的票。退票的流程图如下图所示:三详细设计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;单链队尾结点linkQueue;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*)malloc(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+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +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() 录入航班信息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) 向航线链表添加新的结点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 = (booked*)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.>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.退出+ 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.通过航班号查询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 一dwhile(m!=0);运行结果:#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> 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;单链队尾结点linkQueue;typedef struct fly创建一个航线的结构体char flynum15;航班号char plane15;飞机编号char date12;飞行日期char city115;起飞城市char city15;降落城市int rest;剩余的票数struct fly *next;/指向下一个链结点的指针struct booked *booked; 定义一个指向已订票客户的头结点指针 struct book *book;fly,*Linklist;struct fly *L=NULL;定义全局变量struct booked *H;为已订票客户链队来申请空间linkQueue Q;/linkQueue类型的来申请空间Linklist InitLinklist();/声明int InsertLinklist(Linklist &head1);声明录入航班信息void cityrefer();通过降落城市查询void flynumrefer();通过航班号查询void enter();录入信息void refer();查询信息void reserve();订票void refund();退票void main()H = (struct booked*)malloc(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+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +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() 录入航班信息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) 向航线链表添加新的结点sqxld=s%=MU8s K=-餐卷=)tu 一d K u05-ckd=s%=MU8s K=-咿®忌尸=)tu 一d Klunu>_Kd=s%=MU8s K= - $蔓至一d (uu -即长旧n/EK-v 啤坦ffirwu 一d 回_围阙亚、蜩留隔<-只、KSWO NSUO一云 EQSWUeHd(d-Kwun片um QLHJX u 人_1 +-TX UA1HJX uAd 回_-KH墨世ffiffi-、 K(wooq)M0 Ns)uo=a5lu(Jdb)Ha5E.bH-l-'uoM.bH>looqAd 回一-KH墨世ffiffi-、 K(p wooq)o Ns)uo=05lu(*p wooqTp wooqAd 5Sxd63=p%=MU8s K=眯gwMUE K$05pAd=s%=MU8s K= -sElh莒=)tu 一d KapAld=s%=MU8s K=-餐怏窖)tu 一dvoid refer()/查询航线信息 int n;printf("t 查找航线信息 n");printf("t+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +nn");printf("t*->1.通过降落城市查询*nn");printf("t*->2.通过航班号查询*nn");printf("t+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +n");printf("t 请选择:");scanf("%d”,&n);switch(n)case 1:cityrefer();break;case 2:flynumrefer();break;default:break;void cityrefer() /通过降落城市查询(OHHQ0u.(d*)dluuESW)(dw+-TXu 人dndopV=S%=MU8S* . ngsuw- SI注wIJHd-Kwunstlv是 uS- f 履05q 5Sxd=up% -辙眯留«藤>MU 一d KXFKd=us% -sElhw.>MU 一d K0Md=us% -ew怏srwu 一d s0Md=us% -ew尸vaJctu 一d K*_ckd=us% -咿®忌尸 Jctu 一d KEnu>_Kd=us% - Jctu 一d K=u 二 Jctu 一dstIV是 u屈ffl咿KWHH、()应ErlMMpo> fKO'IE)zwoHluKcu【.ew怏sg第ffl斯槌怔愚、50|<友】>-)七£&.K=u二姬、誓喜艺*d(0 H H (Tlu n u>_.(d *) 一 d iu)(dw+-TXu 人dndopV=S%=MU8SK= - $善匾«斯里 <置艺至一d 注wIJHd-Kwunprintf("t 航班号:%sn",p->flynum);printf("t 飞机编号:%sn",p->plane);printf("t 起飞城市:%sn",p->city1);printf("t 降落城市:sn”,p->city);printf("t 飞行日期:%sn",p->date);printf("t 剩余的票数:dn”,p->rest);break;elseprintf("t【对不起,没有您要查找的航班.】n");m=0;while(m!=0);void reserve()订票Linklist p = L;/Linklist类型的L来指向链表头booked *h=H,*h1; /booked定义客户的结点,以便插入与删除(dmop)(dw +-TX u 人_lHd V=S%=MU8S (-餐怏册备ffitJU 一d oHt/ooqsHJP woo£u 一 互苕HEU 一 stlv是 usqxld=us% -ewSLva>MU 一d K*_ckld=us% -咿®忌尸>MU 一d KEnu>_Kld=us% - >MU 一dK=u二姬、誓喜艺*d )orew 祟怅揆君曼 KTAJPAd) d iu U 一js H iufcm K=uu【.需善徽ffl斯槌怔愚、vaK-友】 M£dop借IhKT切i«$、) (orew ko-l'e)zw 氐Bt<珥M、+-TXu 人d ndf 5S ¥d=up% £眯留«藤艺tu 一d Kxp 人ld=us% -sElh9L>MU 一d Kq?d=us% -ew怏srwu 一dK-plua5uA5-s%=)MUBSKc<如妆住伽 <啤«-)至一d (p W 00q)0 Ns) uo -ecu (* p w ooqtiruJSTq三 jx UAIIH qehw)(qw(p wooq 人dnq)Qs AdHva>pmM一 Ka>pu63=p%tussh->number1二ticket;h->next1 = h1->next1;h1->next1 = h;p->rest=p->rest-ticket;printf(-【订票成功!】n");m=2;else /当余票量不足时printf("剩余的票数:%dn",p->rest);printf(-对不起,剩余票d张不足,不能完成订票.n",p->rest);printf(-是否需要重新订票?n");printf(-需要请输入1不需要请输入2 : n");scanf("%d”,&m);while(m= = 1);(dw+-TX u 人_lHdV=S%=MU8S * - $ws«-)tu 一d 互苕HE W s己co Eels己 u05-s Nf'tlfTHfp wooqmHd-Kwun) 眯 opunMpo>sqxld=us% -ewSLva>MU 一d K*_ckld=us% -咿®忌尸>MU 一d KEnu>_Kld=us% - >MU 一dK=u二姬、誓喜艺*d) 咿 KW 揆丑、(ORQEnu>_.(d*)dEUESWf K=u.需思留第ffl斯里怔愚、vaK-urWUMd) (dmop(w(p wooq 人dnq(orew ko-l'e)zw +-TX uAdnd s-oHlu 5S xld=up%辙眯留«藤>MU 一d Kxp 人ld=us% -sElh9L Jctu 一d Kqxld=us% -ew怏sJctu 一d(<I qlunuAq H+JS Ad ) QewuuHHtIqEnuAq6363OHH(rn Ecuu'tI lucuuAsdluu 一4-'s)M一(IJX uAqnll ehw Ka>pu63=p%tu8s Km EO5U=S%=)MUBS * -暗主 WWCM 一dhlvnexilHhvnexpfree(h2);pw(=【知醐着】rr)e-seprwf(_号苗、萱黑4咨费邮湖置p济4mlg宙g 醐rr)prM (禹醐M辈曜薯SJ醐m=)prM (蓄aBA 1 碧重罗 2rr)scanf(=%d=Q9m)_)wh=e(mnns户ss 尸fis案编成后出现了许多错误,在经过调试后发现有很多事语句上的失误,还有switch语句 中漏写了 break语句,switch语句作为选择语句,在此程序中,要实现其选择执行的功能, 在每个选择条件后必须有break语句跟随,否则程序将运行错误,经检查漏洞后加以改正。在调试无误后,运行程序的过程中也出现了许多问题,有些功能无法实现。在经过反 复检查以及在同学的指导帮助下,也都一一改正了,从中也发现了自己对许多语法运用的不 熟练,也都弄懂了。我们的程序最大的缺陷是没有读入和读出文件,刚开始写了读入文件成功了,可是写 读出文件却除了问题,由于时间有限,就没有完成该功能。2、算法的改进设想在实际的操作当中,我们不是这样按部就班的操作,因此可以根据实际的需要没在窗 体中进行操作,这样就可以与现实更接近一步了。在查询航线的时候,可以改进更多的查找航班的功能,而不是单一的靠目的地、航班 号查询。这样就可以使查找信息更加方便、更加全面。我们还可以增加修改航班信息等其他功能,让该系统功能更加全面,使用更加方便。六、总结经过这几天的课程设计,我认识到把课堂上老师讲的知识运用到实际中的重要性。我这 次课程设计的题目是航空客运订票系统,在开始阶段,根本无从下手,后来通过查阅了一些 相关资料和同学的帮助指导,最终完成了整个程序的设计。通过这次课程设计,我对数据结 构的各种算法、C语言中的结构体定义、链表等知识有了进一步的理解,对流程图的画法更 加熟练,对程序的开发思路有了一定的理解我想这对以后的学习和工作都会有很大的帮助, 更使我意识到了学习数据结构与C语言的重要性,今后也会根据自己不足的地方进行巩固 和学习。非常感谢老师的帮助!

    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开