ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:191.29KB ,
资源ID:8956784      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8956784.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版C++飞机订票系统毕业课程设计.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

完整版C++飞机订票系统毕业课程设计.docx

1、完整版C+飞机订票系统毕业课程设计内蒙古科技大学本科生课程设计说明书题 目:c+面向对象课程设计 飞机订票系统学生姓名:董雪学 号:专 业:计算机科学与技术班 级:11级4班指导教师:王丽颖内蒙古科技大学课程设计任务书课程名称c+面向对象课程设计设计题目飞机订票系统指导教师王丽颖时间2012.12.12.28一、教学要求1. 巩固和加深学生对c+面向对象课程的基本知识的理解和掌握2. 掌握c+面向对象编程和程序调试的基本技能3. 利用c+面向对象进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用c+面向对象解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中

2、任意选择一题,独立完成,题目选定后不可更换。飞机订票系统设计假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:v 航班信息录入功能(航班信息用文件保存)输入v 航班信息浏览功能输出v 查询航线:(至少两种查询方式)算法按航班号查询 按终点站查询v 承办订票和退票业务三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规

3、范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料C+面向对象程序设计内蒙古大学出版社目 录内蒙古科技大学课

4、程设计任务书 I目 录 II第一章 需求分析 31.1 引言 31.2 任务概述 31.3 数据描述 31.4 功能需求 41.5 运行需求 41.6 任务计划 4第二章 概要设计2.1 总体设计 42.2 航空类的定义 52.3 接口设计 72.4 运行界面设计 7第三章 详细设计 83.1 输入模块设计 83.2 查找模块设计 93.3 订票模块设计 103.4 退票模块的设计 103.5 保存及读取模块设计 12第四章 测试分析 134.1 测试程序执行情况 13第五章 用户手册(可选) 175.1 使用说明 17第六章 课程设计总结 17附录:程序代码 19参考文献 28第1章 需求分

5、析1.1 引言我们乘坐飞机旅行前,都需要在网上或者去机场买机票,自然就会涉及到机票的订票和退票以及查询等等。应对这些必须要一个程序能执行多种功能,可以依据乘客的需要来做出相应的解答。而且在乘客订票和退票后还能自动管理票数,还能根据乘客的需要完成预定机票和等待其他乘客退票等活动。实现机票的无人化管理。1.2 任务概述 每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。 飞机订票系统设计假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:v 航班信息录入功能(航班

6、信息用文件保存)输入v 航班信息浏览功能输出v 查询航线:(至少两种查询方式)算法按航班号查询 按终点站查询v 承办订票和退票业务1.3 数据描述 该系统实现对飞机订票系统管理,至少包括以下信息:订票记录的输入 、追加客户记录、查找记录、定退票信息、数据写入文件。1.4 功能需求 根据要求用户需要设计一个关于售票处服务系统程序,使航空公司可以通过的乘客简单地输入个人部分信息,便可方便的管理机票。该程序还要实现以下功能:(1) 能够对航空航线进行查询;(2) 能够自主的承办订票业务(3) 能够自主的承办退票业务1.5 运行需求应用VisualC+,VisualC+不仅仅是一个C+编译器,而且是一

7、个基于Windows操作系统的是集成开发环境I,这种环境开发出来的软件稳定性好、可移植性强,可以编制各种的Windows应用程序。1.6 任务计划第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿) 第二章 概要设计2.1 总体设计根据需求分析,由于程序较为简单我们将只设计一个类:plane(即航班类)。其主要功能模块有:(1)输入(2)输出(3)票额计算(4)查询(5)订票(6)退票各功能模块的调用应通过菜单进行选取。由于乘客和机票的主要信息是由plane类的对象所生成,而且机票的管理自动运行,plane类的构

8、造函数的设计以及机票数额计算的设计要尤其精细,因为这两个函数的调用十分的频繁。2.2 航空类的定义class Planeprivate: char name40;终点站名 int number;航班号 int Number;飞机号 int week;星期几飞行 int day;日期 int left;余票额 int n;与数组flag一起确定客户订票状态public: int flag20;订票状态数组,-1为预订票,1为已定票,0为初始化状态 Plane()构造函数 name0=0; number=0; Number=0; week=0; day=0; left=M; n=0;数组从0开始计

9、数 for(int i=0;i20;i+) flagi=0; void init()初始化每种飞机票 coutname; coutnumber; coutNumber; coutweek; coutday; Plane();析构函数char *getname()return name;获得终点站名 int getnumber()return number;获得航班号 int getNumber()return Number;获得飞机号 int getweek()return week;获得星期几飞行 int getday()return day;获得日期 int getleft()return

10、 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()退票信息Writetofile(

11、)Void writetofile()写入文件2.4 运行界面设计 图2-2 类的结构 图2-3 系统结构示意图第三章 详细设计3.1 输入模块设计主要功能用来对航班信息的进行收集和输入。将航班信息保存在系统中的前提下,需要输入航班资料,比如航班号,飞机号,航班终点站,航班时间,机票数。该信息输入成功后,可继续输入航班信息,否则系统返回到主菜单。第一段:void init()初始化每种飞机票 coutname; coutnumber; coutNumber; coutweek; coutday;第二段:void start() for(int i=0;iN;i+) pli.init(); co

12、utendl; 3.2 查找模块设计主要功能是对航班信息的查找。在系统已经录入航班信息前提下,使用该功能通过查找方式进行查找航班信息。具体包括按按终点站查找。在查找航班各方面信息后,按任意键就可以返回主菜单。void query() int i,num=0; char name40; coutendl; coutname; for(i=0;i=N;i+) if(strcmp(name,pli.getname()=0) num+; cout航班号:pli.getnumber()endl; cout飞机号:pli.getNumber()endl; cout星期:pli.getweek()飞行end

13、l; cout航班日期:pli.getday()endl; cout余票额:pli.getleft()endl; break; if(num=0) cout没有此航班endl;3.3 订票模块设计(1) 用于乘客预定机票并就乘客的操作管理机票(2) 具体语句为:void make() int number,n,sitnumber,nu,ch,num=0; coutnumber; coutn; for(int i=0;iN;i+) if(number=pli.getnumber() num+; if(n=pli.getleft() cout此航班有票endl; pli.deleft(n); pl

14、i.inn(); pli.flagpli.getn()=1; for(i=0;in;i+) 3.4 退票模块的设计(1) 用于乘客退定机票并就乘客的操作管理机票(2) 具体语句为:void back() int number,day,n,nu,sitnumber,num=0;航班号,日期,退票数目,订票数目,座位号,标志量 coutday; coutnumber; for(int i=0;iN;i+) if(day=pli.getday()&(number=pli.getnumber()日期与航班是否满足 num+;日期与航班满足 coutn; cout退票成功endl; pli.inleft

15、(n);该种飞机票增加,即已退票 for(int j=0;j=pli.getn();j+)顺序查询客户订票状态 if(pli.flagj=-1)客户是否为预定状态 coutnu; if(nu=pli.getleft()余票额是否满足要求 cout此航班有票endl; pli.flagj=1; cout订票成功endl; pli.deleft(nu); for(int k=0;knu;k+) cout座位号sitnumber; cout余票额为pli.getleft()endl; else cout没有预约订票!余票额为pli.getleft()endl; if(num=0) cout没有此票e

16、ndl;3.5 保存及读取模块设计主要功能是对订票信息的保存及读取。在对系统进行一系列操作,对系统的最新操作进行保存,及时更新系统,方便下次的操作。void writetofile() ofstream ofs(123.dat); int i; for(i=0;iN;i+) ofspli.getname()endl; ofspli.getnumber()endl; ofspli.getNumber()endl; ofspli.getweek()endl; ofspli.getday()endl; ofs.close(); cout数据已经写入文件123.dat中endl; 第四章 测试分析4.

17、1 测试程序执行情况 图4-1 主菜单1.输入航班信息 图4-2 输入航班信息2.查询航班信息 图4-3 查询航班信息3.订票信息 图4-4 订票信息4.退票信息 图4-5 退票信息5.保存及读取信息 图4-6 保存及读取信息第五章 用户手册(可选)5.1 使用说明用户进入系统后,就会看到飞机订票系统的主菜单页面。系统总共有六个模块,分别由0到5表示,主菜单页面只能输入0到6,输入其他字符无效,如果用户输入无效字符,系统仍留在主菜单页面。第6章 课程设计总结大二第一学期,我学习了C+面向对象程序设计,进一步熟悉了C+语言,以及面向对象程序设计的思想与方法。在这门课程的学习过程中,我常常对C+灵

18、活多变的编程风格感到难以适应,对于创建一个可编程模型来解决实际问题感到无从下手,对如何运用所学过的算法与常见结构去解决编程问题感到困惑,对类的设计,程序结构的设计更感到茫然。这一年的C+编程学习,可以说是在痛苦中渡过的,每当我无法解决非常初等的程序设计问题时,每当我连十几行的程序代码都写不出来时,我觉得编程太难了。我多次在心里对学习与掌握好计算机编程产生过畏难情绪,甚至产生过放弃这门课程学习的念头。好在老师在这一年里一直在鼓励着我们。她告诉我们,每一个程序员在成长过程中,都有过类似的经历与感受,使我克服了畏难与自卑心理;他还告诉我们,掌握编程需要累积薄发,需要多动手实验,在实验中去感悟,终会有

19、水滴石穿、云开日出、豁然开朗的那一刻;他还要求我们向士兵突击这部电视剧中主人翁许三多学习,“不抛弃,不放弃”,让我们坚持到对编程“开窍”的那一天。老师为了让我们练好编程,为我们开设了许多练习编程的实验课,让我们不断地磨砺自已的意志品质与思维灵犀,借他山之石,攻已之玉。老师的这些话,我感到有一定的道理,心里却仍存疑虑,将信将疑。但也不好拂却了老师的好意与付出,于是,我只好硬着头皮坚持着,坚持了一年。这次课程设计,是我第一次完成较大的程序编写,开始时,我们心里根本没底,想都不敢想自已能写出一点东西来,并真正地解决这一实际问题。但随着工作的逐渐深入,对问题的理解越来越透彻,想写的东西越来越多,信心越

20、来越足,程序越编越大,系统的功能越做越强。当我们洋洋洒洒地撰写完千余行代码,将一个又一个功能模块实现出来,并将它们调试通过之后,那种喜悦感、幸福感、成就感让我感到兴奋。我终于等到了所谓“开窍”的这一刻,原来它是这样的一种感觉。此时此刻,回想一年来学习编程的经历,我明白了这样一个道理:此时的喜悦感、幸福感、成就感,不正好是过去的沮丧、痛苦、自卑所带来的馈赠吗!其实,这种道理对我们这个年龄段的青年人,谁人不知又谁人不晓呢,它所应证的不就是那几句老名言吗?不经历风雨,怎么能见彩虹宝剑锋从磨砺出,梅花香自苦寒来让我们值得进一步思考的是,为什么我们一碰到困难,就忘记了这些至理名言呢?为什么我们一遇到挫折

21、,总希望别人来安慰与鼓励,甚至是扶你前行呢?做完这次课程设计,我感到自己成熟起来了,想起以前老师说过: 古今之成大事业大学问者,必经过三种之境界。 “昨夜西风凋碧树,独上高楼,望尽天涯路。”此第一境界也; “衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也; “从里寻她千XX,蓦然回首,那人却在灯火栏珊处。”此第三境界也。 航空订票程序已开发完成了,它实现了我们在需求分析中所提出的功能,但它仍有许多需要改进的地方。附录:程序代码#include string.;与数组flag一起确定客户订票状态public: int flag20;订票状态数组,-1为预订票,1为已定票,0为初始化状态 Plan

22、e()构造函数 name0=0; number=0; Number=0; week=0; day=0; left=M; n=0;数组从0开始计数 for(int i=0;i20;i+) flagi=0; void init()初始化每种飞机票 coutname; coutnumber; coutNumber; coutweek; coutday; Plane();析构函数 char *getname()return name;获得终点站名 int getnumber()return number;获得航班号 int getNumber()return Number;获得飞机号 int getw

23、eek()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+;旅客数目增加函数;Plane plN;void init();int showmenu();菜单函数void start();初始化函数void query();查询函数void make();订票函数

24、void back();退票函数void writetofile();int main() cout这是民航售票处的计算机系统程序endl; while(1) int choice; choice=showmenu(); switch(choice) case 1:start();break; case 2:query();break; case 3:make();break; case 4:back();break; case 5:writetofile();break; case 0:return 0; default:cout你敲错了!n; return 0;int showmenu()

25、 int ch; coutendl; cout请选择你要执行的功能endl; cout1:录入数据endl; cout2:查询航线endl; cout3:承办订票业务endl; cout4:承办退票业务endl; cout5:将数据写入文件endl; cout0:退出程序的运行ch; return ch; void start() for(int i=0;iN;i+) pli.init(); coutendl; void query() int i,num=0; char name40; coutendl; coutname; for(i=0;i=N;i+) if(strcmp(name,pli.getname()=0) num+; cout航班号:pli.getnumber()endl; cout飞机号:pli.getNumber()endl; cout星期:pli.getweek()飞行endl; cout航班日期:pli.getday()endl; cout余票额:pli.getleft()endl; break; if(num=0) cout没有此航班endl;void make()

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2