数据结构课程设计《飞机订票系统》.doc
《数据结构课程设计《飞机订票系统》.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计《飞机订票系统》.doc(29页珍藏版)》请在咨信网上搜索。
1、软件工程专业14级设计题目:飞机订票系统设计与实现 班 级: 姓 名: 21年 6月1日目 录一、设计任务与要求1、1 总体目标与任务要求1、2 题目选择与目得意义1、3 所选题目得主要工作1二、需求分析22、1 用户需求分析2、 功能需求分析22、 系统需求分析三、概要设计33、1 各模块得算法设计说明3、2存储结构设计说明8四、详细设计10五、源代码11六、运行结果分析1七、收获与体会28八、主要参考资料28一、设计任务与要求1、1 总体目标与任务要求制作一个订票系统,通过此系统可以实现如下功能: 1)录入 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定). 2)查
2、询 可以查询某个航线得情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班就是否满仓)可以输入起飞抵达城市,查询飞机航班情况。 )订票 可以订票,如果该航班已经无票,可以提供相关可选择得航班(订票情况可以存在一个数据文件中,结构自己设定)。 4)退票可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 5)修改航班信息当航班信息改变可以修改航班数据文件。 根据以上功能说明,设计航班信息,订票信息得存储结构,设计程序完成功能。1、2题目选择与目得意义选择这个题目得原因就是,订票系统在现实生活中应用很广泛,通过这个系统可以使订票、退票
3、等变得简便。与传统得人工用纸、笔来记录办理订票、退票等相比,使用这个系统也会增加工作效率。这个题目做出来得系统还就是比较实用得,所以我选择了订票系统这个题目。完成此系统,需要综合运用数据结构课程中学到得几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整得应用系统得设计与开发。通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计得方法与步骤,灵活运用并深刻理解典型数据结构在软件开发中得应用。学会将知识应用于实际得方法,提高分析与解决问题得能力,增加综合能力.、 所选题目得主要工作这个题目得主要工作就是使订票系统可以录入航班情况,查询某个航线
4、得情况、办理订票、办理退票、修改航班信息、查询订票信息等。二、需求分析2、 用户需求分析用户使用此程序所要完成得工作主要为:查询所有航线信息、查瞧已订票客户信息、查询航线、办理订票业务、办理退票业务.通过此系统可以方便得进行上述工作。每条航线所涉及得信息有:终点站名、航班号、飞行时间、票价、乘员定额、余票量。已订票得客户名单信息包括姓名、订票量、舱位等级(,2或).等候替补得客户名单信息包括姓名、所需票量。查询航线功能可以根据旅客提出得终点站名输出航班号、飞行时间、票价、乘员定额、余票量。订票业务功能根据客户提出得要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输
5、出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。若需要,可登记排队候补购票。退票业务功能根据客户提供得情况(航班号、姓名)为客户办理退票手续,然后查询该航班就是否有人排队候补,首先询问排在第一得客户,若所退票额能满足她得要求,则为她办理订票手续,否则依次询问其她排队候补得客户。2、2功能需求分析功能需求分析模块图如图、1所示.图2、1 功能模块图、3系统需求分析开发环境: Windows 系统使用软件:编写实验报告:Microsoft ffc Wrd制 作 程序:Mcrosof isua C+ 6、0三、概要设计、1 各模块得算法设计说明1。浏览航线信息功能,调用isplay函数进
6、行输出。如图3、1所示。 浏览航线信息流程图:图3、 浏览航线信息流程图: 其中isplay函数得流程图如图、2dislay函数流程图:图3、2 dislay函数流程图2。浏览已订票客户信息功能,按顺序输出客户信息链表中得信息.流程图如图3、 浏览已订票客户信息功能流程图:图、3 浏览已订票客户信息功能流程图3。查询航线功能,根据客户提出得终点站名输出航线信息。流程图如图、4 查询航线流程图:图3、4查询航线流程图4办理订票业务功能,根据客户提出得航线信息等进行订票。流程图如图3、5 办理订票业务功能流程图:图3、办理订票业务功能流程图5。办理退票业务功能,根据客户提出得航线信息等进行退票。流
7、程图如图3、6办理退票业务功能流程图:图3、 办理退票业务功能流程图6.主函数流程图如图、7 主函数流程图:图3、7 主函数流程图3、 存储结构设计说明typeefstructwat_os /单链队列存储等候替补得客户信息 charname10; /姓名/it rq_amt; /*订票量*/stru wat_ro next; qnode,ptr;ypeefstrct pqueue /等候替补得客户名单/ qptr front; pt rear; linkqueue;上述单链队列用来存储排队等候得客户名单,这样可以通过队先进先出得特点来进行操作。先排队得客户可以先订票成功。tpedfstruct
8、 od_ros /*乘员名单*/ r ame10; /客户姓名*/inrdt; 订票量/ it grad; /舱位等级/stuct ordros next;liklist;上述单链表用来存储乘员得信息,包括姓名、订票量、舱位等级。stuiline *航线信息*/ cha r_nam10; /抵达城市*/cha ai_num0; /航班号char time1; /飞机时间har pri7; 票价*int tktam; 乘员定额/i tkt_sur; /余票量/linit *order; /乘员名单域,指向乘员名单链表得头指针/lkuee ait; *等候替补得客户名单域,分别指向排队等候名单队头
9、队尾得指针*/lineinf;这个结构体存储了航线信息,包括抵达城市、航班号、飞行时间、票价、乘员定额、余票量等。efn MXIZE /定义航线数量,可修改/turie AXSIE= /初始化航线信息*/bejing,1”,”0,80,30,30, shagha”,”2,100”,”70,20,20,”london”,”3”,1330,”960,10,0,arin”,4,1”,60,50,5,dalian,”5,140,50,40,40;通过修改全局变量MASIZE得数值即可更改航线数.在stuc airline airAXSIZE中可以修改、增加、删除航线信息。航线信息内容依次为抵达城市、航
10、班号、飞行时间、票价、乘员定额、余票量(飞行时间1200即12:00)。四、详细设计1. 查瞧航线信息编写od ist()函数来查瞧全部航线信息。其中调用了oidply(trctarine f)函数,该函数得功能就是打印每条航线得基本信息.这样即可按顺序打印出suct irlne链表中存储得全部航线信息。2. 查瞧已订票客户信息编写i rnk()函数来查瞧已订票客户信息。这个函数中需要输入要查询得航线,通过find()函数来寻找这个航线然后输出该航线乘员域得乘员信息。3. 查询航线编写oid earc()函数来实现查询航线得功能。用户输入抵达城市名,该函数会在航线信息链表中进行查询。如果有该城
11、市,则会输出此航线得信息。4、办理订票业务编写void rer()函数来实现订票功能。首先提示用户输入航班号,然后调用fn()函数来查找此航班,如果该航班存在,则会提示用户输入信息并调用int *isertlink(lnklist *ead,int amount,carnme,itgrade)在订票乘员名单域中添加客户信息。如果余票不足,则会提示用户进行排队,如果排队,则会调用提示用户输入信息并调用likueu apenuu(lnkquu q,arnam,tmo)在排队等候乘员名单域中添加客户信息。、 办理退票业务编写oidreun_tkt()函数来实现退票功能。首先提示用户输入航班号,然后调
12、用find()函数来查找此航班,如果该航班存在,则会提示用户输入信息,信息正确则会提示退票成功.此时将乘员信息中得该乘员信息删除,然后检查替补乘员链表中得信息,如果其订票量可以得到满足,则会将其插入到订票客户名单链表中,提示她订票成功。、退出系统主函数中无限循环输出菜单f(;;),用户在菜单页面下输入6回车即ext(0),即可退出系统。五、源代码incue stdio、hincludtdib、#nclue tri、#nclde onio、 incldeair_nu,otm,infpri,notkt_t,infotkt_ur);void list() /*打印全部航线信息* sruct aili
13、n*f;int i=0;inf=sar;printf(终点站名航班号t飞行时间票价t乘员定额t余票量n);whle(iMAXZE)displa(info);/*调用displa函数来输出/inf;i+;print(nn);void search() *根据客户提出得终点站名输出航线信息* srucrlie ino,nd();came1; /要抵达得城市名称*/in i=0;info=start;itf(请输入要抵达城市得名称:”);scan(”s”,name);whil(t_name) 有该站名scmp则返回,if(!0)即break/break;info;+;if(i=AXSZE) 没有匹配
14、得航线*prnt(对不起,没有这条航线!n”);elseprn(”终点站名航班号飞行时间t票价t乘员定额t余票量n”);ispla(if); /调用dsla函数输出航线信息*stutailine nd() / 根据系统提出得航班号查询并以指针形式返回 strc irline ino;chr numer0; /查询得航班号/int =0;ifo=start;printf(请输入航班号:);scaf(%,umber);wle(iAXZE) if(!rcmp(nber,infai_nu)) *有匹配航班/euo; inf+;+; /*无匹配航班*prif(对不起,没有这条航线!n);etur NUL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机订票系统 数据结构 课程设计 飞机 订票 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。