(完整版)C++飞机订票系统毕业课程设计
C++课程设计报告飞机订票管理系统

C++课程设计报告飞机订票管理系统一、设计背景和目的随着航空业的不断发展,飞机订票系统逐渐成为人们旅游和出行的必须工具。
为了提高飞机订票系统的效率和便捷性,开发一款好用的飞机订票管理系统显得尤为重要。
本次课程设计即以C++为编程语言,设计一款简单实用的飞机订票管理系统。
二、系统功能1、用户注册/登录用户初次使用系统需要先进行注册,填写相关信息,包括用户名、密码等,并进行确认。
之后系统将给用户分配一个专用ID。
已经注册的用户可以通过输入用户名和密码进行登录。
2、航班查询用户登录系统后,可以通过系统查询到航班信息,并可以进行筛选和排序,便于用户选择最优航班。
3、机票订购用户选择航班后,可以进行机票订购操作。
订票后,系统将保留座位,并且将相应信息存入系统数据库。
机票订购成功后,系统将显示用户订票的详细信息。
4、支付系统用户在订票后需要进行支付操作,支付成功后机票订购成功。
5、订单管理系统管理员可以对用户订票信息进行管理,并且可以对订单信息进行统计和分析,改善系统运营效率。
三、技术框架和编程实现本系统采用C++语言进行编写,使用了面向对象的编程思想,包括以下类:1、User类该类实现了用户的注册和登录功能。
其中包含属性有用户名、密码等,包含方法有注册、登录等。
2、Flight类该类实现了航班信息的查询和排序功能。
其中包含属性有航班号、起飞时间、到达时间等,包含方法有查询、排序等。
3、Ticket类该类实现了机票订购和支付功能。
其中包含属性有座位号、价格等,包含方法有订购、支付等。
4、Order类该类实现了订单管理和统计功能。
其中包含属性有订单号、用户ID、航班号和票价等,包含方法有查询、删除、统计等。
以上四个类的成员变量和成员函数实现都需要在不同的源文件里面实现,最后通过主函数进行调用和启动。
四、系统运行和测试本系统可以通过Visual Studio等C++编程环境进行调试和运行。
在本地测试中,我们可以输入不同的用户名和密码,可以查询不同的航班,并进行筛选和排序,可以订购机票并支付,也可以通过系统管理员身份对用户订单进行管理和统计。
飞机订票系统C课程设计

学号面向对象程序设计课程设计设计说明书飞机订票系统起止日期:2011年1 月3日至2011 年 1 月7日学生姓名班级09计算机一班成绩指导教师(签字)电子与信息工程系2011年1 月10日目录飞机订票系统 (1)1、设计目的 (1)2、整体设计 (1) (1)3、详细设计: (1)、程序具体功能: (1)、调试分析 (2)4、源程序和运行结果 (2)、源程序 (2)、运行结果 (4)心得体会 (5)飞机订票系统1、设计目的○1.通过实验实现对学生信息系统的管理操作;○2.进一步掌握和利用C++进行程设计的能力;○3.进一步理解和运用结构化程序设计的思想和方式;○4.初步掌握开发一个小型实用系统的大体方式;○5.学会利用流程图或N-S图表示算法;○6.掌握书写程设计开发文档的能力(书写课程设计报告);2、整体设计(此处注意:要按照自己的实际题目来写)3、详细设计:、程序具体功能:常磊负责功能一、2单寒宇负责功能3、4○1、录入航班信息(航班信息用文件保留);○2、阅读航班信息;○3、按航班号排序;○4、按照航班号查询航班信息;、调试分析上机调试之前咱们对所编的程序作了纸面上的检查,先更正一些不该犯错误,如{ }没有搭配完整,漏写,拼写错误等,这些都是咱们通过认真的态度在运行之前可以解决、避免的。
而且还可以减少机械时间。
往往连续串的错误是由于漏写或写错一个字符引发的。
在上机调试进程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的进程中出了很多问题。
4、源程序和运行结果、源程序#include<iostream>#include<fstream>using namespace std;class plane 入航班信息☆-------- "<<endl;cout<< " -------- ☆ 2.阅读航班信息☆-------- "<<endl;cout<< " -------- ☆ 3.按航班号排序☆-------- "<<endl;cout<< " -------- ☆ 4.查找航班信息☆-------- "<<endl;cout<< " -------- ☆ 5.退出系统☆-------- "<<endl;cout<<"===================================================================== ==========="<<endl;cout<<"===================================================================== ==========="<<endl;cout<< " 请在1-5之间选择并以回车键结束: "<<endl;}void write() um,p[k].num)<0) k=j; um);strcpy(p[k].num,p[i].num);strcpy(p[i].num,t);}}for(int g=0;g<h;g++)p[g].print();(); //关闭输入文件流对象}void seek() //按航班号查询{mainmune();char nums[20];plane p;cout<<"输入航班号:";cin>>nums;fstream fs("",ios::in|ios::out);while((char *)&p,sizeof(p))){if(strcmp(nums,())==0){();();();break;}}}int main() //主函数{int choice;while(true){mainmune();cin>>choice;switch(choice){case 1: write();break;case 2: read();break;case 3: rank();break;case 4: seek();break;case 5: exit(0);}}return 0;}、运行结果心得体会C++课程设计结束了,回忆学习C++语言的进程中,既有快乐又有烦恼。
数据结构课程设计(C语言版)飞机订票系统

———C语言版课题:飞机订票系统和图的遍历的动态演示姓名:学号:班级:指导教师:订票系统1.需求分析任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2:主要设计思路:1)算法构造流程图:A:主菜单:B:各分块模板的构造流程图:3:功能函数设计:(1):订票系统主菜单函数menu_select()本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。
其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。
(2):工作人员管理函数enter()&change()系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。
enter()函数的构造就是为了解决这个问题。
而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。
(3):列出航班信息的函数list()乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。
(4)乘客具体查询函数search()本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。
C语言程序设计课程设计飞机订票系统的设计

一、设计内容与设计要求一、设计内容:飞机订票系统1.1问题描述:假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。
通过该系统来实现机票的订购问题。
1.2功能要求:1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。
2)、本系统显示这样的菜单:(1)输入航班信息(2)输出航班信息(3)查找航班信息a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间(4)订票预约(5)删除定票预约(6)退出系统1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。
2、查找航班信息既可按线路查,也可按目的地查。
4、在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时候,它首先从该文件读入数据1.3 算法提示:1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。
1.4测试数据:每架飞机的座位N=12,M=51.5 其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。
二、设计要求1).设计正确,方案合理。
2).界面友好,使用方便。
3).程序精炼,结构清晰。
4).设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
5).上机演示。
二、进度安排第 18 周星期一上午课题讲解查阅资料星期一下午系统需求分析模块设计星期二上午算法、数据结构设计主程序设计星期二下午各功能模块程序设计修改完善程序星期五下午各功能模块程序设计修改完善程序第 19 周时间待定星期五下午答辩目录一、需求分析 (4)1、程序的功能 (4)2、输入输出的要求 (6)二、概要设计 (9)三、详细设计 (11)1、数据类型 (11)2、模块分析 (12)3、函数的调用关系 (12)四、调试分析以及设计体会 (13)1、测试数据 (13)2、调试分析 (13)3、心得体会 (14)五、使用说明 (15)六、附录 (17)1、参考书目 (17)2、源程序清单(带注释) (17)七、计算机科学与技术系课程设计评分表 (40)一、需求分析1.1 系统功能需求1.1.1程序的功能1.系统管理员功能:1)录入和修改航班和机票的信息:输入航班号,输入起飞港,途径港,到达港,录入起飞时间,到达时间,飞行总共用时,可随时修改航班信息2)输出航班的信息:输入航班号便可输出之前输入的航班信息2.客户需要的功能:1)查找航班信息:a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间2)订票预约:查询航班信息后,提前订票预约需要的飞机票,3)删除定票预约4)退出系统1.1.2 主要模块流程图1.1.3 功能描述1.1.4各功能模块的功能描述(1)显示菜单函数:FLIGHT fltlist[5]; PASSENGER psglist[5][12]; ReadFlight(fltlist);PASSENGER* k;k=(PASSENGER*) psglist; ReadPassenger(k);用户可以根据菜单提示,选择相关菜单。
C语言课程设计报告飞机订票系统

C语言课程设计报告飞机订票系统摘要本文是关于C语言课程设计报告飞机订票系统,它具有灵活的菜单,可以让用户轻松查看有关航班信息的详细信息,并用于购买操作。
本文旨在概述程序的全部运行流程,运用相关编程技术来实现订票系统。
关键词:C 语言课程设计,飞机订票系统,编程技术1 引言随着科技的不断发展,传统的人工订票系统已经不能满足人们的复杂需求,订票系统需要采用新技术来改进,以适应现代用户的需求。
为了建立一个高效的订票系统,我们开发了一个飞机订票系统。
它具有基于菜单式界面的灵活性,可以有效地实现飞机航班信息的查询,购票和航班信息的管理。
本报告着重介绍了构筑飞机订票系统的过程,旨在介绍编程技术以及每个模块的函数、功能实现,并概述程序的全部运行流程。
2 技术框架编写本程序的主要语言是C,采用层次功能模块结构设计,分为用户界面,数据管理,查询服务,支付服务和关系维护四个主要模块。
(1)用户界面用户界面模块主要实现功能是提供用户访问的菜单界面,用户可以在输入信息后,访问系统并根据输入信息获取反馈,进行下一步操作。
(2)数据管理数据管理包含数据结构和文件管理模块,它用来存储和管理航班信息、乘客信息等有关数据,数据在使用后可以及时写入文件。
(3)查询服务查询服务模块提供用户查询航班信息所必需的功能,根据用户输入的查询条件,提供精确的查询结果。
(4)支付服务支付服务模块用来实现订票系统和外围支付系统或服务的接口,以进行订票支付操作,以保证系统订票的安全性。
(5)关系维护关系维护模块主要负责订票系统的关系维护,保证数据的一致性,以及相联的航班和乘客信息之间的一致性。
3 设计实现(1)用户界面模块用户界面模块主要是用户与系统的交互界面,用C语言的标准输入输出实现,通过“while-switch”语句实现对不同功能的跳转。
(2)数据管理模块数据管理模块采用数组和二维字符串实现,能够有效地存储和进行订票,查询,修改和删除数据。
c 课程设计 航空订票系统

自己的课程设计-航空订票系统(已重新编辑)这个是上学期数据结构的课程设计特提供出来供编程初学者参考重要说明 :本程序的由我跟我的另两个搭档完成主要代码由本人网名帅得不敢出门完成美化部分是网上找的只供交流用请匆当作自己的课程设计应付了事谢谢!把实验报告的大部分都传上来了希望能让大家看的更明了一.课程设计目的通过一周的课程设计,我们小组了解并掌握数据结构与算法的设计方法,具备了初步的独立分析和设计能力和初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
在整个设计过程中,我们小组的成员们互相帮助,不理解代码的多向知道的人提问,最后使每个人都理解和掌握代码,提高了自己综合运用所学的理论知识和方法独立分析和解决问题的能力,训练用系统的观点和软件开发一般规范进行软件开发,为进一步的应用开发打好基础。
二.问题描述::(1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,抵达城市,航班票价,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
(5)修改航班信息:当航班信息改变可以修改航班数据文件三.需求分析该程序是一个航空订票系统的软件,为航空管理员提供方便,为旅客提供航空定票录入. 查询.咨询. 订票. 退票. 修改航班信息等功能。
此程序规定:一:输入订票数,座位号,乘员定额时需输入一个整型数据;输入飞机飞行周日里应该输入1到7的数;在选择功能时,应输入与所选功能对应的一个整型数据。
二:程序的输出信息主要:一):启动界面。
二):订票系统菜单主界面:1.航线管理2.订票办理3.退票办理4.乘客管理5.系统离开三):航线管理信息包括:1.航线增设2.航线查看3.航线修改4.返回主菜单四):订票办理信息包括:_ 转到定票界面五):退票办理信息包括:_转到退票界面六): 乘客管理信息包括:_可以查询到乘客预定过的票的信息七):系统离开信息包括:_结束此次的操作.四.概要设计(一):系统用到的抽象数据类型定义:实现函数的具体功能:(引用结构数组来快速实现客户端订票,退票的功能。
c语言民航订票系统课程设计
c语言民航订票系统课程设计一、课程目标知识目标:1. 让学生掌握C语言中数组、结构体、函数等基本概念及其应用;2. 让学生了解民航订票系统的基本业务流程,理解系统设计的基本原则;3. 使学生能够运用C语言实现简单的民航订票系统功能,如用户注册、航班查询、购票、退票等。
技能目标:1. 培养学生运用C语言进行程序设计的能力,特别是针对民航订票系统这种实际问题的解决能力;2. 提高学生分析问题、设计算法、编写程序、调试程序的能力;3. 培养学生团队协作能力,通过小组合作完成课程设计。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养他们主动探索新知识的热情;2. 培养学生面对实际问题时,具备积极解决问题的态度,树立正确的价值观;3. 通过课程设计,使学生认识到编程对于解决现实问题的意义,提高社会责任感。
分析课程性质、学生特点和教学要求,本课程目标旨在让学生在掌握C语言基础知识的基础上,通过实际项目的设计与实现,提高编程能力和解决实际问题的能力。
同时,注重培养学生团队协作精神,提高他们的情感态度价值观,为将来的职业发展打下坚实基础。
通过本课程的学习,学生将能够独立或协作完成一个简单的民航订票系统,并在实践中不断提高自己的编程技能和综合素质。
二、教学内容1. C语言基础知识回顾:数组、结构体、函数、指针等基本概念及其应用。
2. 民航订票系统需求分析:介绍系统业务流程,分析用户需求,明确系统功能模块。
3. 系统设计:讲解如何运用C语言进行系统设计,包括模块划分、数据结构设计、接口设计等。
4. 编程实现:- 用户注册与登录模块:实现用户注册、登录、修改密码等功能;- 航班查询模块:实现按航班号、出发地、目的地等条件查询航班信息;- 购票模块:实现用户购票、选择座位、支付等功能;- 退票模块:实现用户退票、退款等功能;- 管理员模块:实现航班信息管理、用户管理、订单管理等功能。
5. 系统测试与调试:教授学生如何进行系统测试,找出并修复程序中的错误。
c语言机票预订系统课程设计
c语言机票预订系统课程设计一、课程目标知识目标:1. 让学生掌握C语言中结构体、数组、函数等基本知识点的综合应用;2. 让学生理解并掌握C语言中文件操作的基本方法;3. 让学生掌握C语言实现机票预订系统的基本原理和步骤。
技能目标:1. 培养学生运用C语言解决实际问题的能力,能独立完成机票预订系统的设计和编程;2. 培养学生分析问题、设计解决方案的能力,能针对具体需求进行模块划分和功能实现;3. 提高学生的团队协作能力,学会与他人合作共同完成一个项目。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养良好的编程习惯;2. 培养学生面对问题勇于挑战、积极解决的态度,增强自信心;3. 通过团队合作,培养学生的集体荣誉感和责任感。
课程性质分析:本课程为C语言程序设计课程的实践环节,旨在让学生通过实际项目的开发,巩固所学知识,提高编程能力。
学生特点分析:学生已具备C语言基础知识,具有一定的编程能力,但缺乏实际项目经验,对综合运用知识解决实际问题的能力有待提高。
教学要求:1. 注重理论与实践相结合,引导学生将所学知识应用于实际项目中;2. 鼓励学生积极参与讨论,培养独立思考和解决问题的能力;3. 加强团队合作指导,提高学生的沟通能力和协作精神。
二、教学内容1. C语言基础知识回顾:结构体、数组、函数、指针、文件操作等;2. 机票预订系统需求分析:讲解系统功能需求,引导学生进行需求分析和模块划分;3. 系统设计:介绍C语言实现机票预订系统的基本原理,包括数据结构设计、模块设计等;4. 编程实现:- 数据结构设计:定义所需的结构体,如航班信息、用户信息等;- 功能模块实现:编写各功能模块的代码,如航班查询、预订、取消预订等;- 文件操作:实现数据的存储和读取,保证数据的持久化;5. 测试与优化:介绍测试方法,指导学生进行系统测试,发现问题并进行优化;6. 团队合作与项目展示:组织学生分组合作,完成整个项目,并进行项目展示和评价。
C语言课程设计报告--飞机订票系统
C语言程序设计课程设计题目:飞机订票系统院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计(报告)任务及评语目录第1章课程设计的目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1程序功能介绍 (2)2.2程序整体设计说明 (2)2.2.1设计思路 (2)2.2.2数据结构设计及用法说明 (3)2.2.3程序结构(流程图) (5)2.2.4各模块的功能及程序说明 (5)2.2.5程序结果 (6)2.3程序源代码及注释 (7)第3章课程设计总结 (17)参考资料 (18)第1章课程设计的目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。
本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力1.2 课程设计的实验环境硬件要求能运行Windows 2000/XP操作系统的微机系统。
C语言程序设计及相应的开发环境。
1.3 课程设计的预备知识熟悉C语言及C语言开发工具。
1.4 课程设计要求1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告第2章课程设计内容2.1程序功能介绍本程序首先输入机票信息,管理员在保存功能中通过密码验证输入机票信息,可以对机票信息进行查询;修改;删除等功能。
一般用户可以使用订票;显示;退票等功能,在订票时用户输入密码在退票时通过验证后成功退票。
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。
数据结构课程设计(C语言版)飞机订票系统
———C语言版课题:飞机订票系统和图的遍历的动态演示姓名:学号:班级:指导教师:订票系统1.需求分析任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2:主要设计思路:1)算法构造流程图:A:主菜单:B:各分块模板的构造流程图:3:功能函数设计:(1):订票系统主菜单函数 menu_select()本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。
其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。
(2):工作人员管理函数 enter()&change()系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。
enter()函数的构造就是为了解决这个问题。
而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。
(3):列出航班信息的函数 list()乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。
(4)乘客具体查询函数 search()本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内蒙古科技大学本科生课程设计说明书题目:c++面向对象课程设计——飞机订票系统学生姓名:董雪学号:专业:计算机科学与技术班级:11级4班指导教师:王丽颖内蒙古科技大学课程设计任务书课程名称c++面向对象课程设计设计题目飞机订票系统指导教师王丽颖时间2012.12..12.28一、教学要求1. 巩固和加深学生对c++面向对象课程的基本知识的理解和掌握2. 掌握c++面向对象编程和程序调试的基本技能3. 利用c++面向对象进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用c++面向对象解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。
飞机订票系统设计假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。
试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(航班信息用文件保存)--输入航班信息浏览功能--输出查询航线:(至少两种查询方式)--算法●按航班号查询●按终点站查询承办订票和退票业务三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天选择课程设计题目,分析课题的要求第二天编程第三天编程及调试第四天写课程设计报告第五天提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。
3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。
六、建议参考资料《C++面向对象程序设计》内蒙古大学出版社目录内蒙古科技大学课程设计任务书 (I)目录 (II)第一章需求分析 (3)1.1 引言 (3)1.2 任务概述 (3)1.3 数据描述 (3)1.4 功能需求 (4)1.5 运行需求 (4)1.6 任务计划 (4)第二章概要设计2.1 总体设计 (4)2.2 航空类的定义 (5)2.3 接口设计 (7)2.4 运行界面设计 (7)第三章详细设计 (8)3.1 输入模块设计 (8)3.2 查找模块设计 (9)3.3 订票模块设计 (10)3.4 退票模块的设计 (10)3.5 保存及读取模块设计 (12)第四章测试分析 (13)4.1 测试程序执行情况 (13)第五章用户手册(可选) (17)5.1 使用说明 (17)第六章课程设计总结 (17)附录:程序代码 (19)参考文献 (28)第一章需求分析1.1引言我们乘坐飞机旅行前,都需要在网上或者去机场买机票,自然就会涉及到机票的订票和退票以及查询等等。
应对这些必须要一个程序能执行多种功能,可以依据乘客的需要来做出相应的解答。
而且在乘客订票和退票后还能自动管理票数,还能根据乘客的需要完成预定机票和等待其他乘客退票等活动。
实现机票的无人化管理。
1.2任务概述每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。
飞机订票系统设计假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。
试设计一民航订票系统,使之能提供下列服务:航班信息录入功能(航班信息用文件保存)--输入航班信息浏览功能--输出查询航线:(至少两种查询方式)--算法●按航班号查询●按终点站查询承办订票和退票业务1.3 数据描述该系统实现对飞机订票系统管理,至少包括以下信息:订票记录的输入、追加客户记录、查找记录、定退票信息、数据写入文件。
1.4功能需求根据要求用户需要设计一个关于售票处服务系统程序,使航空公司可以通过的乘客简单地输入个人部分信息,便可方便的管理机票。
该程序还要实现以下功能:(1)能够对航空航线进行查询;(2)能够自主的承办订票业务(3)能够自主的承办退票业务1.5运行需求应用VisualC++,VisualC++不仅仅是一个C++编译器,而且是一个基于Windows操作系统的是集成开发环境IDE,这种环境开发出来的软件稳定性好、可移植性强,可以编制各种的Windows应用程序。
1.6任务计划第一天选择课程设计题目,分析课题的要求第二天编程第三天编程及调试第四天写课程设计报告第五天提交课程设计报告(打印稿及电子稿)第二章概要设计2.1 总体设计根据需求分析,由于程序较为简单我们将只设计一个类:plane(即航班类)。
其主要功能模块有:(1)输入(2)输出(3)票额计算(4)查询(5)订票(6)退票各功能模块的调用应通过菜单进行选取。
由于乘客和机票的主要信息是由plane类的对象所生成,而且机票的管理自动运行,plane类的构造函数的设计以及机票数额计算的设计要尤其精细,因为这两个函数的调用十分的频繁。
2.2航空类的定义class Plane{private:char name[40];终点站名int number;航班号int Number;飞机号int week;星期几飞行int day;日期int left;余票额int n;与数组flag一起确定客户订票状态public:int flag[20];订票状态数组,-1为预订票,1为已定票,0为初始化状态Plane()构造函数{name[0]='\0';number=0;Number=0;week=0;day=0;left=M;n=0;数组从0开始计数for(int i=0;i<20;i++)flag[i]=0;}void init()初始化每种飞机票{cout<<"请输入终点站名:";cin>>name;cout<<"请输入航班号:";cin>>number;cout<<"请输入飞机号:";cin>>Number;cout<<"请输入星期几飞行:";cin>>week;cout<<"请输入航班的日期:";cin>>day;}~Plane(){};析构函数char *getname(){return name;}获得终点站名int getnumber(){return number;}获得航班号int getNumber(){return Number;}获得飞机号int getweek(){return week;}获得星期几飞行int getday(){return day;}获得日期int getleft(){return left;}获得余票额int getn(){return n;}获得旅客数目void inleft(int n){left=left+n;}余票额增加函数void deleft(int n){left=left-n;}余票额减少函数void inn(){n++;}旅客数目增加函数};2.3 接口设计表2.1:函数列表函数名函数格式即函数首部函数功能Showmenu() Int Showmenu() 菜单函数Start()Void start() 初始化函数query() Void query() 查询函数make() Void make() 订票函数back() Void back() 退票信息WritetofileVoid writetofile() 写入文件()2.4 运行界面设计图2-2 类的结构图2-3 系统结构示意图第三章详细设计3.1输入模块设计主要功能用来对航班信息的进行收集和输入。
将航班信息保存在系统中的前提下,需要输入航班资料,比如航班号,飞机号,航班终点站,航班时间,机票数。
该信息输入成功后,可继续输入航班信息,否则系统返回到主菜单。
第一段:void init()初始化每种飞机票{cout<<"请输入终点站名:";cin>>name;cout<<"请输入航班号:";cin>>number;cout<<"请输入飞机号:";cin>>Number;cout<<"请输入星期几飞行:";cin>>week;cout<<"请输入航班的日期:";cin>>day;第二段:void start(){for(int i=0;i<N;i++){pl[i].init();cout<<endl;}}3.2 查找模块设计主要功能是对航班信息的查找。
在系统已经录入航班信息前提下,使用该功能通过查找方式进行查找航班信息。
具体包括按按终点站查找。
在查找航班各方面信息后,按任意键就可以返回主菜单。
void query(){int i,num=0;char name[40];cout<<endl;cout<<"请输入终点站名:";cin>>name;for(i=0;i<=N;i++)if(strcmp(name,pl[i].getname())==0){num++;cout<<"航班号:"<<pl[i].getnumber()<<endl;cout<<"飞机号:"<<pl[i].getNumber()<<endl;cout<<"星期:"<<pl[i].getweek()<<"飞行"<<endl;cout<<"航班日期:"<<pl[i].getday()<<endl;cout<<"余票额:"<<pl[i].getleft()<<endl;break;}if(num==0)cout<<"没有此航班"<<endl;}3.3 订票模块设计(1)用于乘客预定机票并就乘客的操作管理机票(2)具体语句为:void make(){int number,n,sitnumber,nu,ch,num=0;cout<<"请输入航班号:";cin>>number;cout<<"请输入订票数额:";cin>>n;for(int i=0;i<N;i++)if(number==pl[i].getnumber()){num++;if(n<=pl[i].getleft()){cout<<"此航班有票"<<endl;pl[i].deleft(n);pl[i].inn();pl[i].flag[pl[i].getn()]=1;for(i=0;i<n;i++){3.4退票模块的设计(1)用于乘客退定机票并就乘客的操作管理机票(2)具体语句为:void back(){int number,day,n,nu,sitnumber,num=0;航班号,日期,退票数目,订票数目,座位号,标志量cout<<"请输入日期:";cin>>day;cout<<"请输入航班:";cin>>number;for(int i=0;i<N;i++)if((day==pl[i].getday())&&(number==pl[i].getnumber()))日期与航班是否满足{num++;日期与航班满足cout<<"输入退票数目";cin>>n;cout<<"退票成功"<<endl;pl[i].inleft(n);该种飞机票增加,即已退票for(int j=0;j<=pl[i].getn();j++)顺序查询客户订票状态{if(pl[i].flag[j]==-1)客户是否为预定状态{cout<<"有预约订票,请输入订票数额:";cin>>nu;if(nu<=pl[i].getleft())余票额是否满足要求{cout<<"此航班有票"<<endl;pl[i].flag[j]=1;cout<<"订票成功"<<endl;pl[i].deleft(nu);for(int k=0;k<nu;k++){cout<<"座位号"<<" ";cin>>sitnumber;}cout<<"余票额为"<<pl[i].getleft()<<endl;}}elsecout<<"没有预约订票!"<<"余票额为"<<pl[i].getleft()<<endl;}}if(num==0)cout<<"没有此票"<<endl;}3.5保存及读取模块设计主要功能是对订票信息的保存及读取。