数据结构课程设计 飞机订票系统

上传人:e****s 文档编号:155369443 上传时间:2022-09-23 格式:DOC 页数:25 大小:432.50KB
收藏 版权申诉 举报 下载
数据结构课程设计 飞机订票系统_第1页
第1页 / 共25页
数据结构课程设计 飞机订票系统_第2页
第2页 / 共25页
数据结构课程设计 飞机订票系统_第3页
第3页 / 共25页
资源描述:

《数据结构课程设计 飞机订票系统》由会员分享,可在线阅读,更多相关《数据结构课程设计 飞机订票系统(25页珍藏版)》请在装配图网上搜索。

1、课程设计论文题 目: 飞机订票系统 院 系: 专业班级: 姓 名: 学 号: 指导教师: 2021年 9 月 18日课程设计论文任务书专业班级: 学生姓名: 指导教师签名: 一、课程设计论文题目 飞机订票系统:设计航班信息,订票信息。二、本次课程设计论文应到达的目的数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比拟标准的设计报告。严格实施课程设计这一环节,对于学生根本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。此题目要到达目的:熟练掌握线性表的根本操作在两种存储结构上的实现。三、本次课程设计论文任务的

2、主要内容和要求包括原始数据、技术参数、设计要求等 输入数据:航班号;起降时间;抵达城市;票价;票价折扣;1. 录入航班情况数据结构、具体数据自定;2. 输入航班号,查询某个航线的情况;3. 输入起飞抵达城市,查询飞机航班情况;4. 客户姓名,证件号,订票数量,航班情况,订单编号证件号唯一;5. 订票:如果该航班已经无票,可以提供相关可选择航班(结构自己设定);6. 退票:退票后修改相关数据文件;7. 修改航班信息:当航班信息改变可以修改航班数据文件。四、应收集的资料及主要参考文献: 1.数据结构与算法分析C+版第二版影印版 2005.72.数据结构与算法,科学出版社,2005.08;赵文静 等

3、编著3.数据结构-C+语言描述,西安交通大学出版社,1999.01,赵文静编著4. 严蔚敏 等著,?数据结构?,清华大学出版社,20035. 冯博琴等编著,?软件技术根底?修改版,西安交通大学出版社,1997五、审核批准意见教研室主任签字 摘要 随着全球经济和信息的开展,人们选择乘坐飞机外出的需求日益增加。随着航空客运业务越来越兴旺,加上网络日益普及,所以良好的飞机场订票系统不仅方便人们订购飞机票,而且减缓了购票点的压力,具有一定的社会效益。通过本系统管理人员可以录入、修改航班信息,而游客可以根据航班号、航班路线查询航班信息,并且可以订票、退票。本程序设计主要是利用数据结构中线性表的知识,利用

4、数组来读取航班信息,存储用户信息,在用户订票、退票之后做出相应数据的修改,在管理人员修改航班信息之后也可以做出相应的信息覆盖。关键词:飞机订票系统 线性表 数据结构 数组目录一、需求分析4二、概要设计4三、详细设计5四、调试分析18五、使用说明23六、课设总结23七、参考文献24一、需求分析1.本系统需用Windows7系统,Visual C+软件为运行环境;2.关于航班信息,需要输入航班号、飞机起飞和降落时间、起飞抵达城市、票价及折扣、余票情况等数据;客户信息包括姓名、证件号、订票数量、航班路线、订单编号;系统还有订票、退票、退出功能。3.飞机订票系统的功能包括: 1录入功能:可以读取并且存

5、储输入的航班信息,用文件保存。 2修改功能:可以修改保存的航班信息,并且用文件保存。 3查询功能:可以通过不同方式查询航班信息,形式包括航班号查询和航班路线查询。 4订票功能:客户可以通过查询信息后订票,需要输入姓名、证件号、订票数量,这些信息和航班路线及订单编号一起以文件形式保存。 5退票功能:客户如果要退票,可以输入姓名和航班号等信息进行退票。退票后信息将以文件形式保存。 6退出功能:可以结束操作退出,并且保存所作出的修改。 7菜单功能:本系统的与客户进行交互的界面菜单。在菜单中包含以上各功能,用户可以根据自己的需求进行不同的操作。二、概要设计1.录入航班信息功能:读取用户输入的信息,对f

6、light结构体进行赋值,利用数组储存相同类型的信息并保存;2.查询航班信息功能:设计用两种方式查询航班信息,运用switch函数进行选择,并且运用cout输出所查询航班的信息,读出数组内的数据;3.订票功能:输入客户姓名及航班号,并且把数据记录到数组cu中,记录信息并且对余票数减1,然后保存;4.退票功能:输入客户姓名及航班号,清空数组cu内相应的数据,记录信息并且对余票数加1,然后保存;5.修改航班信息功能:输入航班号并且输入数据,对结构体flight中相应数组的信息进行覆盖,最后保存信息;6.退出功能:退出系统,并且以文件形式保存录入和修改的信息,对原有信息进行覆盖,然后回车键退出系统界

7、面。系统结构图:开始主函数航班信息录入退出系统航班信息修改航班退票航班订票航班信息查询推出三、详细设计一录入航班信息1.结构体struct flight:int a1航班号,char a2 起飞时间,char a3降落时间,char a410起飞城市,char a510降落城市,int a6价格, int a7票价折扣, int a8余票。struct flight /航班信息int a1; /航班号 char a2; /起飞时间 char a3; /降落时间char a410; /起飞城市char a510; /降落城市int a6; /价格 int a7; /票价折扣 int a8; /余

8、票fl10;2.录入函数:void luru()void luru() cout请输入航班信息:endl;cout请输入航班号fllen.a1; /航班号 cout起飞时间fllen.a2; /起飞时间cout降落时间fllen.a3; /降落时间cout起飞城市fllen.a4; /起飞城市cout降落城市fllen.a5; /降落城市cout票价fllen.a6; /票价cout折扣fllen.a7; /机票折扣cout剩余票量fllen.a8; /剩余票量len+; cout请选择所要进行的操作endl; menu(); /录入完成跳转回菜单项选择择操作3.本模块流程图开始输入航班信息存

9、储航班信息结束二查询航班信息1.查询函数:void chaxun(),void chaxun1(),void chaxun2()选择函数: switch()1查询信息void chaxun() /查询system(cls); /去除屏幕cout请选择查询方式endl;cout1.按航班号查询endl;cout2.按城市查询t; switch(t) /选择查询方式case 1:chaxun1();break;case 2:chaxun2();break;default:cout输入的数据有误,请重新输入!endl;menu(); /输入错误返回主菜单重新输入break;2按航班号查询航班信息vo

10、id chaxun1() int n;cout请输入要查询的航班号:n;for(int j=0;jlen;j+)if(flj.a1=n)cout*航班信息*endl; cout航班号:flj.a1n起飞时间:flj.a2n降落时间:flj.a3n起飞城市:flj.a4n降落城市:flj.a5n票价:flj.a6n折扣:flj.a7n剩余票量:flj.a8endl;break; /输出航班信息elsecout没有对应的航班!endl; getchar(); /按回车返回菜单menu();3按航班路线查询航班信息void chaxun2() /按起飞城市和降落城市查询航班信息char m110,m

11、210;int j;cout请输入要查询的起始、降落城市:m1m2; /输入起始城市和降落城市for(j=0;jlen;j+)if(strcmp(flj.a4,m1)=0)&(strcmp(flj.a5,m2)=0)cout*航班信息*endl; cout航班号:flj.a1n起飞时间:flj.a2n降落时间:flj.a3n起飞城市:flj.a4n降落城市:flj.a5n票价:flj.a6n折扣:flj.a7n剩余票量:flj.a8endl;break; /输出航班信息 if(j=10) cout没有对应的航班!endl;menu();2.本模块流程图开始输入查询方式判断查询方式21输入航班路

12、线输入航班号输出航班信息结束三订票1.订票函数:void dingpiao()结构体struct customer:char name10姓名,int seat座位号,int num航班号,char no18证件号,int ps订票数,string qfs起飞时间,string jls降落时间,char qfd10起飞城市,char jld10降落城市,int pj票价。void dingpiao() /订票system(cls); char Name10; int fn; int sign=0; cout请输入你的姓名和想订的航班号:Name; /输入乘客姓名 cinfn; /输入乘客所要订

13、的航班号 for(int i=0;i0) strcpy(cuA.name,Name);cuA.num=fn;cuA.seat=fli.a8;A+; fli.a8-; sign=1;cout订票成功!endl; break;if(sign) break;if(i=len)cout航班号错误!endl;2.本模块流程图开始输入姓名及航班号订票成功结束四退票1.退票函数:void tuipiao()void tuipiao() /退票system(cls);char Name10; int fn; int sign=0; coutName; /输入乘客姓名 coutfn;/输入乘客所订的航班的航班号

14、 coutendl; for(int i=0;ilen;i+)if(fn=fli.a1)for(int j=0;jA;j+)if(strcmp(Name,cuj.name)=0) cout 退票成功!endl; fli.a8+; sign=1; break;if(sign)break;if(i=len) cout输入信息有误!退票失败endl; 五修改航班信息1.修改函数:void xiugai()void xiugai() /修改航班信息cout输入航班号:num;for(int i=0;ilen;i+)if(fli.a1=num) num=i; coutflnum.a2; coutflnu

15、m.a3; coutendl;break; if(i=len)cout航班号错误!endl;六退出系统1.退出函数:void tuichu()void tuichu() /退出时保存录入和更改信息 ofstream nfile2(cus.dat,ios_base:binary); /输出方式翻开文件 nfile2.close(); /关闭文件 ofstream infile2(cus.dat,ios_base:binary|ios_base:app); /输入方式翻开文件 for(int i=0;iA;i+)infile2.write(reinterpret_cast(&cui),sizeof

16、(customer);cout写入成功!endl;/将乘客信息写入文件infile2.close(); /关闭文件ofstream nfile1(airline.dat,ios_base:binary); /输出方式翻开文件nfile1.close(); /关闭文件 ofstream infile1(airline.dat,ios_base:binary|ios_base:app); /输出方式翻开文件for( i=0;ilen;i+) infile1.write(reinterpret_cast(&fli),sizeof(flight);/将航班信息写入文件infile1.close();

17、/关闭文件七菜单和读取1.菜单函数:void menu()读取函数:void duqu()主函数:void main()(1)菜单:void menu()cout*飞机订票系统*endl;coutendl;couttt1.录入航班信息endl; coutendl;couttt2.查询航班信息endl;coutendl;couttt3.订票endl; coutendl;couttt4.退票endl;coutendl;couttt5.修改航班信息endl;coutendl;couttt6.退出系统endl;coutendl;cout*欢送使用*endl;coutendl; /菜单界面int i;c

18、out输入选项:i; /选择菜单switch(i)case 1:luru(); break;case 2:chaxun(); break;case 3:dingpiao();menu();case 4:tuipiao();menu();case 5:xiugai();menu();case 6:tuichu(); exit(1); /退出break;default:cout输入的选项不合法,请重新输入endl;system(cls); /清屏menu();(2)读取:void duqu() /读取文件信息 ifstream infile1(airline.dat,ios_base:binary

19、); while(infile1.peek()!=EOF) /EOF值为-1infile1.read(reinterpret_cast(&fllen),sizeof(flight);/输入方式读取文件 cout*航班信息*endl; cout航班号:fllen.a1n起飞时间:fllen.a2n降落时间:fllen.a3n起飞城市:fllen.a4n降落城市:fllen.a5n票价:fllen.a6n折扣:fllen.a7n剩余票量:fllen.a8endl;len+; infile1.close();/关闭文件ifstream infile2(cus.dat,ios_base:binary)

20、; while(infile2.peek()!=EOF)infile2.read(reinterpret_cast(&cuA+),sizeof(customer); /输入方式读取文件infile2.close(); /关闭文件getchar();system(cls);(3)主函数:void main()cout读取endl;duqu(); /跳转至读取航班信息文件menu(); /菜单四、调试分析 1.运行程序,因为之前没有进行航班信息的录入,起始读取信息为空。按回车键根据菜单进行各项操作。 2.任意键进入菜单。在主菜单内,用户可以根据自己的需求在“输入选项后输入1-6中一个数选择不同的功

21、能,进行相应的操作。3.键入1,进入录入航班信息子菜单,输入所需的信息后跳出菜单项选择择后续操作。4.查询航班信息。键入2进行查询,根据选项选择不同的查询方式。5.键入1,按航班号查询,输入航班号得到航班信息,并显示菜单以便继续操作。6.主菜单键入3,输入姓名及航班号,办理订票业务。7.查询该航班剩余票量是否改变,根据选项选择不同方式查询,输入航班信息得到余票量。8.主菜单键入4,输入姓名及航班号,办理退票业务。9.主菜单键入5,修改起飞和降落航班时间,按回车键保存。10.查询航班信息是否修改完成,根据提示选择任何一种查询方式,输入航班相关信息进行查询。11.主菜单键入6,退出系统,结束并按E

22、nter键退出考前须知:1.数组间的数据一定要相互对应,否那么一个字母的错误就会造成错误。2.经过调试,改变不能连续操作的问题,可以不退出反复进行操作。3.关于一些输出的错误,进行了一些设置防止程序崩溃。五、使用说明本程序的运行环境为window7系统,V C+ 6.0软件。使用这个程序时,会弹出一个用户使用界面根据自己的需要选择数字1-6,录入航班信息,进行按照航班号和城市查找相关航班,订飞机票,退飞机票,修改航班信息,退出系统等功能。程序运行后数据的输入采用键盘输入,这个过程中会有详细的数据输入提示,用户可按照提示输入数据,以确保数据输入的正确性。六、课设总结通过本次飞机场订票系统课程设计

23、,实现了航班的订票和退票功能。用户能较迅速地查询到所想要乘坐的航班的信息,以决定是否订票或退票。在这次设计过程中,自己不仅稳固了数据结构的知识,而且还灵活的运用线性表的知识完成了飞机场订票系统的程序设计。在程序设计中,我遇到了存储中出现问题,最后设置了存入读取函数解决了这个问题。对于程序调试能力,有了一定程度的提高,但我还需要更多的上机练习,才能识别更多的错误,才能更快更好的理解程序。数据结构这一门课程是非常重要的,可以促进程序设计的理解,使程序的设计更加严谨,错误也会减少。数据结构是计算机存储组织数据的方式,精心选择的数据结构可以带来更高的运行或者存储效率。最后感谢老师的指导与批评,你让我对于课程设计有了新的态度,学到了不少东西,同时也意识到自己的缺乏。谢谢你!七、参考文献1.数据结构与算法分析C+版第二版影印版 2005.72.数据结构与算法,科学出版社,2005.08;赵文静 祁飞等编著3.数据结构-C+语言描述,西安交通大学出版社,1999.01,赵文静编著4. 严蔚敏 等著,?数据结构?,清华大学出版社,20035. 冯博琴等编著,?软件技术根底?修改版,西安交通大学出版社,1997

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!