C课程设计航空售票管理系统.doc

上传人:枫** 文档编号:563073803 上传时间:2023-07-19 格式:DOC 页数:60 大小:153KB
返回 下载 相关 举报
C课程设计航空售票管理系统.doc_第1页
第1页 / 共60页
C课程设计航空售票管理系统.doc_第2页
第2页 / 共60页
C课程设计航空售票管理系统.doc_第3页
第3页 / 共60页
C课程设计航空售票管理系统.doc_第4页
第4页 / 共60页
C课程设计航空售票管理系统.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《C课程设计航空售票管理系统.doc》由会员分享,可在线阅读,更多相关《C课程设计航空售票管理系统.doc(60页珍藏版)》请在金锄头文库上搜索。

1、C课程设计航空售票管理系统22020年4月19日文档仅供参考内蒙古科技大学本科生C+程序设计课程设计说明书题 目:航空售票管理系统学生姓名:完美主义学 号:专 业:计算科学与技术班 级:计 -1班指导教师:【摘要】随着科技的发展和人们生活水平的日益提高,人们在不断追求更加快捷的交通方式以满足人们快节奏的生活方式,航空系统在交通系统中已扮演着一个越来越重要的角色。然而,交通的快捷离不开信息的快捷。随着随着计算机的发展和普及,人们的生活方式发生了巨大的改变,计算机在代替和延伸脑力劳动方面发挥着越来越重要的作用。在交通系统中,有大量的数据需要被处理,而这些工作有人来完成几乎是不可能的,而交给计算机处

2、理,就能够很好地满足我们的需求。航空售票管理系统能够根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。本文介绍了简易航空售票管理系统的实现过程。【关键词】航空售票管理系统 动态数组 类和对象 文件操作 运算符重载 多文件结构成绩评定标准课程设计的验收答辩采取“讲解程序+提问+即时编程”的方式。考核项目评价质量成绩程序功能完全实现,并能经过答辩。(60%)A能完全正确回答提问;B问题回答的基本意思正确;C不能回答或回答错误,抽取程序小的功能即时编程,能完成;D不能回答或回答错误,即时编程无法完成;程序设计符合面向对象的思想和原则,结构合理(15)A程序结构层次分明,提取出各个

3、实体类,类的设计合理;B程序结构层次分明,具有客户类和服务类;C类的设计基本正确;D几乎在一个类或者方法中实现了大部分的逻辑,结构不够清晰;程序的风格(10%)A遵守编码规范,有良好的风格; 以下问题每出现一项成绩降一个等级: 1类、方法和变量命名不符合规范; 2方法和属性前缺少注释; 3程序没有适当缩进;设计说明书(15%)从以下几方面考核: 1结构完整 2图表正确 3文字通顺 4版面工整目 录第一章 问题描述1第二章 问题分析22.1 阐述你对问题的理解、解决问题的方案说明22.2 系统功能模块的划分2第三章 数据模型43.1 相关数据结构的说明43.2 类的设计43.3 程序结构说明,即

4、程序各个部分之间如何协调来完成任务53.4 全局变量,重要形式参数、局部变量等等,它们的命名及用途解释6第四章 算法描述74.1 解题算法的设计思路介绍74.2 画出程序流程图7第五章 设计总结12附录13参考文献32 第一章 问题描述1.1该航空售票管理系统必须用C+语言进行设计,要能体现C+语言的特性。1.2该系统至少要能提供下列服务:(1) 录入航班信息,格式为:航班号起始终点起飞时间经济舱票价剩余座位mu2164包头北京20:3061087可不定时地增加航班数据。(2)浏览航班信息,可显示出所有航班,如果当前系统时间超过了某航班的起飞时间,则显示“此次航班已发出”的提示信息。(3)查询

5、路线:可按航班编号查询,可按起始站,终点站查询(4)订票和退票功能A:查询航班编号或站点。当剩余座位数大于0,而且当前系统时间小于起飞时间时才能售票,售票后自动更新剩余座位数。B:退票时,输入退票的班次,当本班航班未发出时才能退票,退票后自动更新剩余座位数。第二章 问题分析从对问题的描述能够知道,我们需要建立的是具有能对数据录入,追加,浏览,检索和修改功能的软件。由于乘客的数量较大且不固定,因此选择用动态数组来保存乘客的基本信息:航班号、起始站名、终点站名、起飞时间、经济参票价、余票量等等。因此我们建立一个能够动态增长的数组,在必要的时候将数组的内容保存到文件中。系统主要实现的操作和功能是:录

6、入航班信息、浏览航班信息、查询航线、订票功能、退票功能。要实现这些功能,首先要使程序能实现查找功能,在查找出到有效信息的前提之下,经过链表的赋值,更新信息和删除退票人信息,满足客户的要求。2.1 阐述你对问题的理解、解决问题的方案说明根据系统功能要求,能够将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成.员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。2.2 系统功能模块的划分该系统总共包含四大功能模块:一、

7、更新航班信息功能模块该模块为对航班信息的操作,仅向管理员开放使用,普通用户不能使用该功能对航班信息进行操作,故进入该功能需进行身份验证。该模块又被分为五个子功能模块信息库的重建、信息的插入、修改、删除和清空数据。二、 浏览航班信息完成将文件中的航班信息按照要求格式全部输出。三、 查询航班信息能够实现按航班号和按站点的查询并将查询到的信息输出。四、 订票和退票系统该模块根据订票和退票操作的相似性,将这两种操作放在一起。另外,由于各模块函数是直接对文件进行操作,因此各功能模块是相互独立的。第三章 数据模型3.1 相关数据结构的说明本系统用到的容器主要是动态增长的vector ,使用该容器需用头文件

8、#include ,其经过语句vector v_array;申请了一个能够动态增长的数组。该数组的元素类Flight的对象,经过语句Flight fly; v_array.push_back(fly);可实现数组v_array的增长。该容器用来存放航班类Flight的对象,使用该容器能够能够存放个数不确定的对象,且能够方便地进行访问。3.2 类的设计程序中一共定义了两个类:Flight类和Traffic_system类。在Flight类里定义了私有数据成员m_fnum10表示航班号, m_ftime2表示起飞时间,char m_fstar18表示起始站, m_fdestination18表示终

9、点站, m_fprice表示票价, m_fseat表示票数;定义了共有的成员函数bool SetInfo()用来设置航班信息,friend istream& operator(istream& in, Flight& cp)用来重载提取运算符,friend ostream& operator(ostream& out, Flight& cp)用来重载插入运算符(istream& in, Flight& cp)中使用了形参in和cp,形参in为引用“ istream&”,与该函数的返回值相同,故能够将该函数的返回值传给该形参,实现“”操作符的连续使用。形参cp为引用“Flight&”,实现了对F

10、light类对象的输入重载。B) 插入运算符重载函数ostream& operator(ostream& out, Flight& cp)中使用了形参out和cp,其作用与上面类似。C) 函数bool Flight:If_match(char (*p)18, char ta)中使用了形参p 和ta,形参p为指向字符数组的指针,它用来指向一个大小为18的字符数组;形参ta为字符型,其作用是使该函数区分航班号和站点名两种比较。D) 函数int Traffic_system:Search(int invoke = 0)中使用了形参invoke,该形参为int型并设置默认参数0,其作用为区分调用者,以

11、便输出相应的提示信息。第四章 算法描述4.1 解题算法的设计思路介绍首先根据问题描述抽象出一个航班类,封装了航班的数据信息和方法。数据里主要有航班的航班号、起飞时间、站点等信息,方法主要是对该类中数据的值的输入、输出对本班次机票的管理,对时间、站名等的核对,另外为了方便对文件的输出和读取,还以友元的形式重载了提取和插入运算符。由于有航班有多组,为了方便管理各个对象,因此有定义了一个Traffic_system类,将Flight类的对象作为Traffic_system类的数据成员。Traffic_system类中还定义了两个私有的成员函数完成对文件的读写。共有的成员函数主要是Manage(),void Scan(), Search(int invoke = 0)和BookRefund(),用来完成系统的几大功能。4.2 画出程序流程图文件“航空售票管理系统v-1.0.cpp”中主函数流程图main()tab=0 tab=5 tab=4清屏订票和退票break;break; tab=3 tab=2 tab=1 开始输入tab输出菜单浏览管理查询break;break;break;YNYYYYYNNNN结束文件“class/Traffic_system.cpp”中类中Traffic_system中浏览函数void Scan()开始重建i

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号