C++课程设计报告飞机订票管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
青岛理工大学
C++面向对象课程设计报告
院(系):计算机工程学院
专业:软件工程
学生姓名:
班级软件131班学号:
题目:飞机订票管理系统设计____
起迄日期:_2015.6.29~2015.7.10 设计地点:计算机学院机房
指导教师:翟正利丁凡
完成日期: 2015 年7月 10 日
C++面向对象课程设计任务书
题目24“飞机订票管理系统设计”
1、问题描述:
航空客运订票的业务包括:查询航班、客票预订和办理退票等。试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。
2.功能要求:
(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量);
(2)作为示意系统,全部数据可以只放在内存中;
(3)系统能实现的操作和功能如下:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);
查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。
承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补;
承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。
修改航班信息:当航班信息改变可以修改航班数据文件。
(选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。
3、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
目录
一、需求分析 (2)
二、内容设计 (2)
2.1、根据所选题目给出模块图 (2)
2.2、画出主要程序的流程图: (3)
2.2、编写程序关键代码: (8)
三、调试分析 (13)
四、用户手册 (14)
五、设计总结 (20)
六、参考文献 ............................ 错误!未定义书签。
七、附录............................... 错误!未定义书签。
一、需求分析
1.选做此课题或项的目的
1.通过实验实现对学生信息系统的管理操作; 2.进一步掌握和利用C++进行程设计的能力; 3.进一步理解和运用结构化程序设计的思想和方法; 4.初步掌握开发一个小型实用系统的基本方法; 5.学会利用流程图或N-S 图表示算法; 6.掌握书写程设计开发文档的能力
2.程序所实现的功能
1.输入航班信息并保存到磁盘;
2.浏览航班信息;
3.修改航班信息并保存到磁盘
4.查找航班
5.订票
6.退票
二、内容设计
1.根据所选题目给出模块图
如图1.1所示
图1.1 模块图
飞机订票管理系统
查询航班
信息 订票 修改航班信息 退票 查询全部信息
录入
航班
信息
2.画出主程序及其主要模块的流程图(1).如图2.1所示为查询函数的流程图:
图2.1 查询函数的流程图(2).图2.2所示为订票函数流程图
图2.2 订票函数流程图
(3).图2.3所示为退票函数流程图
图2.3 退票函数流程图
(4).如图2.4所示为查询全部信息函数
图2.4 查询全部信息函数
(5.)如图2.5所示为主程序流程图
图2.5 查询全部信息函数
3.编写程序关键代码
(1).录入航班信息:
void chushi()
{
int i;
ofstream outfile("airline.dat");
ofstream file("customer.dat");
for (i=0;i<3;i++)
{
outfile< < < < < file< outfile.close();file.close(); cout<<"初始化已完毕!"< caidan1(); } } (2).查询航班信息: void chaxun1() { char place[10]; int temp,i,a; cout<<"输入终点站名:";cin>>place; for(i=0;i<100;i++) if(strcmp(fl[i].place,place)==0){temp=i;a=0;} cout<<"航班信息"< if(a!=0)cout<<"查询失败!"< cout<<"返回主菜单?1.是2.否";cin>>temp; if(temp==1) caidan2(); } (3).订票: void dingpiao()// 订票 { char name[10]; int num,i,t,j,k,temp; int x; cout<<"请输入你的姓名和想订的航班号:"<