c++课程设计飞机票管理_第1页
c++课程设计飞机票管理_第2页
c++课程设计飞机票管理_第3页
c++课程设计飞机票管理_第4页
c++课程设计飞机票管理_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机科学与技术教研室课程设计说明书(2013 /2014学年第二学期)课程名称课程设计基础(二)设计题目飞机订票管理系统学号姓名小组成员起止时间: 2013年6月28 日 至2014年7月11 日 课程设计评 语该生平时表现良好,参与了课程设计的整个过程,而且完成了飞机订票管理系统的代码编写,运用了类、类的继承、构造函数等知识,并实现了录入、删除、查询、修改及退出程序运行等基本功能。在此基础上还实现了订票,退票功能。课程设计说明书填写正确,条理清楚,对于课程设计过程介绍详细,代码正确。作品演示熟练,能按照设计要求完成指定的功能。答辩过程中,回答问题正确,熟练,对自己的程序描述清楚,条理性强。

2、平时成绩报告成绩演示与答辩成绩成绩总评指导教师(签字)年 月 日注:成绩均用百分制。总成绩=平时成绩*20%+报告成绩*40%+演示与答辩成绩*40%设计题目: 飞机订票管理系统1、课程设计目的:(1)熟练掌握,C+语言程序的编写,调试及运行;(2)熟练掌握C+程序的类的应用。(3)熟练掌握类的继承、构造函数的应用。(4)熟练掌握文件流的应用。(5)能够独立调试程序;(6)学生独立编程能力,运用所学知识解决问题的能力。2、课程设计正文:2.1系统分析根据图书管理系统,进行分析,我认为该系统应该分为三大部分功能:第一大部分功能,应该是针对乘客的应用程序;第二大部分功能,应该是针对管理员的应用程序

3、。第三大部分,应该是退出该系统的应用程序。2.1.1分析乘客程序第一大部分功能,还应分为两小部分功能:第一小部分功能,应该是订票业务,根据客户提出的航班号,查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新询问客户要求,若需要,可登记排队候补。第二小部分功能,应该是退票业务,根据客户提供的情况航班号、终点站等信息,为客户办理退票手续。2.1.2分析管理员程序然而,第二大部分功能,还应该分为八小部分:第一小部分功能,应该是录入功能,可以录入航班信息,如:终点站名、航班号、飞机号、星期几飞行、乘员定额、余票量等重要信息。然后,把数据存储在一个数

4、据文件中。第二小部分功能,应该是添加功能,当录入完之后,还需可以添加一个航班信息,就运用此功能。第三小部分功能,应该是显示功能,显示航班信息,如:终点站名、航班号、飞机号、星期几飞行、乘员定额、余票量、已订票的客户名单包括姓名、订票量、舱位等级,以及等候补替的客户名单包括姓名、所需票量。第四小部分功能,应该是查询功能,根据旅客提出的终点站名,查询出下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。第五小部分功能,应该是修改功能,如果那条航班信息录入错误可以对其进行修改,把航班信息重新输入一遍。第六小部分功能,应该是删除功能,如果那条航班信息录入错误可以对其进行删除,把航班的所有信息

5、删除。第七小部分功能,应该是订票功能,根据类的继承,继承乘客类的订票函数。根据客户提出的航班号,查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新询问客户要求,若需要,可登记排队候补。第八小部分功能,应该是退票功能,根据类的继承,继承乘客类的退票函数,然后,在此基础上,添加上管理员查询该航班是否有人排队等候补,首先询问排在第一的客户,若剩余票能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。2.2系统设计2.2.1编写要求(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、星期几飞行、乘员定额、余票量、已订票的客户名单

6、(包括姓名、订票量、舱位等级)以及等候补替的客户名单(包括姓名、所需票量);(2)作为示意系统,全部数据可以只放在内存中;(3)系统能实现的操作和功能如下:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新询问客户要求,若需要,可登记排队候补;承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后

7、查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。修改航班信息:当航班信息改变可以修改航班数据文件。2.2.2程序流程开始主菜单乘客退出管理员订票业务退票业务录入航班添加航班显示航班查询航班修改航班删除航班订票业务退票业务返回主菜单图1 程序框图程序流程如图1所示。2.2.3总体设计飞机订票管理系统进行设计:首先,对飞机订票管理系统进行分类,把它分为两个类: 1.乘客类 2.管理员类;管理员类继承乘客类,然后分别编辑这两个类,有了这几大部分,然后进行细化。2.2.4乘客类设计根据分析的结果乘客类分为两个小部分功能

8、:(1)对其订票功能设计首先,定义一个订票函数的函数,进行订票时,先进行查询,当余票为0时,询问乘客是否进行候补排队,如果排队则录入候补人员的姓名、需求量,当余票不为零时,乘客订票输入自己的姓名、需求量和舱位等级等信息。(2)对其退票功能设计如果乘客进行退票,退票成功,余票加1,则管理员询问候补人员是否订阅此票,这个订票流程和订票功能一样。2.2.5管理员程序设计根据分析的结果面对读者系统分为6个小部分功能:(1)对录入功能进行设计进行录入,先录入终点站名,当终点站录入为0时停止录入,录入的数据储存在“plane.txt”文件中。(2) 对添加功能进行设计进行添加时,在原有的数据中,继续添加相

9、应的数据,并把着这数据储存在“plane.txt”文件中。能够一同显示出来。(3) 对显示功能进行设计调用“plane.txt”文件中的所有数据,把他们按照一定格式显示出来。(4)对查询功能进行设计输入要查询的终点站的名字,然后进行搜寻,把对应的所有相关的数据输出出来。(5)对修改功能进行设计把所有的数据显示出来,然后,选择要修改的数据,然后重新输入,并替换它。(6)对删除功能进行设计把所有的数据显示出来,然后,选择要删除的数据,对其进行删除对应的“plane.txt”文件中的数据。2.3系统实施2.3.1录入功能其主要代码为:for(i=0;i<M;i+) cout<<&q

10、uot;友情提示:当终点站输入为0事停止输入。"<<endl;cout<<"终点站:"<<endl;cin>>destination;if(destination="0") break;if(destination!="0") N+;outfile<<destination<<" "cout<<"航班号:"<<endl;cin>>flight_number;outfile<

11、<flight_number<<" "cout<<"飞机号:"<<endl;cin>>plane_number;outfile<<plane_number<<" "cout<<"星期:"<<endl;cin>>week;outfile<<week<<" "cout<<"乘客定额:"<<endl;cin>>

12、passenger_number;outfile<<passenger_number<<" "cout<<"余票:"<<endl;cin>>remain_ticket;outfile<<remain_ticket<<" "其录入执行结果如图2所示。图2录入功能2.3.2添加功能其主要代码为: N=N+1;cout<<"请输入您要添加的航班信息"<<endl;cout<<"终点站:&quo

13、t;<<endl;cin>>destination;outfile<<destination<<" "cout<<"航班号:"<<endl;cin>>flight_number;outfile<<flight_number<<" "cout<<"飞机号:"<<endl;cin>>plane_number;outfile<<plane_number<<

14、" "cout<<"星期:"<<endl;cin>>week;outfile<<week<<" "cout<<"乘客定额:"<<endl;cin>>passenger_number;outfile<<passenger_number<<" "cout<<"余票:"<<endl;cin>>remain_ticket;outf

15、ile<<remain_ticket<<" "outfile.close();cout<<"已添加成功!"<<endl;其添加执行结果如图3所示。图3添加功能2.3.3显示功能其主要代码为:for(k=0;k<N;k+)infile>>destination;cout<<" 终点站:"<<setw(4)<<destination;infile>>flight_number;cout<<" 航班号:&q

16、uot;<<setw(4)<<flight_number;infile>>plane_number;cout<<" 飞机号:"<<setw(4)<<plane_number;infile>>week;cout<<" 星期:"<<setw(4)<<week;infile>>passenger_number;cout<<" 乘客定额:"<<setw(4)<<passenge

17、r_number;infile>>remain_ticket;cout<<" 余票:"<<setw(4)<<remain_ticket<<endl;其显示执行结果如图4所示。图4显示功能2.3.4查询功能其主要代码为:cout<<"请输入终点站!"<<endl;cin>>search_destination;for(i=0;i<N;i+)if(destinationi=search_destination)cout<<" "

18、;cout<<setw(4)<<" 终点站:"<<destinationi;cout<<setw(4)<<" 航班号:"<<flight_numberi;cout<<setw(4)<<" 飞机号:"<<plane_numberi;cout<<setw(4)<<" 星期:"<<weeki;cout<<setw(4)<<" 乘客定额:"

19、;<<passenger_numberi;cout<<setw(4)<<" 余票:"<<remain_ticketi<<endl;else cout<<"无到达此地的航班!"<<endl;其查询执行结果如图5所示。图5查询功能2.3.5修改功能其主要代码为:cout<<"你想修改第几个航班信息?"<<endl;cin>>k;k=k-1;cout<<"请输入新的数据:"<<e

20、ndl;cout<<"终点站:"<<endl;cin>>destinationk;cout<<"航班号:"<<endl;cin>>flight_numberk;cout<<"飞机号:"<<endl;cin>>plane_numberk;cout<<"星期:"<<endl;cin>>weekk;cout<<"乘客定额:"<<endl

21、;cin>>passenger_numberk;cout<<"余票:"<<endl;cin>>remain_ticketk;其修改执行结果如图6所示。图6修改功能2.3.6删除功能其主要代码为:cout<<"您想删除第几个?"<<endl;cin>>k;k=k-1;infile.close();ofstream outfile("plane.txt",ios:out);if(!outfile)cerr<<" open error&

22、quot;<<endl; exit(1); for(i=0;i<N;i+)if(i!=k)outfile<<destinationi<<" "outfile<<flight_numberi<<" "outfile<<plane_numberi<<" "outfile<<weeki<<" "outfile<<passenger_numberi<<" "outfi

23、le<<remain_ticketi<<" "<<endl;outfile.close();N=N-1;cout<<"已删除成功!"<<endl;其删除执行结果如图7所示。图7删除功能2.3.7订票功能其主要代码为:if(remain_ticketi=0)char b;cout<<"该票已售完!"<<endl;cout<<"是否排队候补?"<<endl;cout<<"a.是 b.否&qu

24、ot;<<endl;if(b='a')cout<<"请输入您的姓名:"<<endl;cin>>name2;cout<<"需要票量:"<<endl;cin>>need_number;cout<<"补替人姓名:"<<name2<<" 所需票量:"<<need_number<<endl;if(b='b')cout<<"抱歉未能

25、帮您订票!"<<endl;elsecout<<"请输入您的姓名:"<<endl;cin>>name1;cout<<"需要舱位等级:"<<endl;cin>>shipping_grade;cout<<"订票人姓名:"<<name1<<" 舱位等级:"<<shipping_grade<<endl; remain_ticketi=remain_ticketi-1;其订票

26、执行结果如图8所示。图8订票功能2.3.8退票功能其主要代码为:cout<<" "cout<<setw(4)<<" 终点站:"<<destinationi;cout<<setw(4)<<" 航班号:"<<flight_numberi;cout<<setw(4)<<" 飞机号:"<<plane_numberi;cout<<setw(4)<<" 星期:"&l

27、t;<weeki;cout<<setw(4)<<" 乘客定额:"<<passenger_numberi;cout<<setw(4)<<" 余票:"<<remain_ticketi<<endl;cout<<"是否退订此票!"<<endl;cout<<"1.是 2.否"<<endl;cin>>a;if(a=1)cout<<"您退订成功!"&

28、lt;<endl;remain_ticketi=remain_ticketi+1;其录入执行结果如图3所示。图9退票功能3、课程设计总结在此次的程序设计过程中,我收获颇多,对程序设计基础知识的掌握更加扎实,同时提高了自己独立编程的能力、灵活运用知识点的能力。在该飞机订票管理系统中,主要运用了类的继承、构造函数和文件流等知识;功能实现则通过函数来完成。但是我的工作还是有很多的不足,例如:在退票和订票功能实现询问排队人员时,遇到了大量困难和问题。例如,退票后余票增加,订票后余票减少,问问他人是否排队等,然后经过老师的辅导和查阅书籍把问题一一解决。通过这次的课程设计,让我们充分感到了独自设计一个程序是多么的困难,没有团队是不行的,和同学们相互探讨,相互学习,相互监督。促进自己,学会了合作,学会了运筹帷幄。在这个程序的

温馨提示

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

评论

0/150

提交评论