航空售票管理系统的介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科技大学

本科生《C++程序设计》课程设计说明书

题目:航空售票管理系统

学生:完美主义

学号:XXXXXXXX专业:计算科学与技术班级:计2010-1班

指导教师:XXX

【摘要】

随着科技的发展和人们生活水平的日益提高,人们在不断追求更加快捷的交通方式以满足人们快节奏的生活方式,航空系统在交通系统中已扮演着一个越来越重要的角色。然而,交通的快捷离不开信息的快捷。

随着随着计算机的发展和普及,人们的生活方式发生了巨大的改变,计算机在代替和延伸脑力劳动方面发挥着越来越重要的作用。在交通系统中,有大量的数据需要被处理,而这些工作有人来完成几乎是不可能的,而交给计算机处理,就可以很好地满足我们的需求。

航空售票管理系统可以根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。本文介绍了简易航空售票管理系统的实现过程。

【关键词】

航空售票管理系统动态数组类和对象文件操作运算符重载多文件结构

成绩评定标准

课程设计的验收答辩采取“讲解程序+提问+即时编程”的方式。

目录

………………………………………………………………………………………………………………………………………………………………………

1.1该航空售票管理系统必须用C++语言进行设计,要能体现C++语言的特性。

1.2该系统至少要能提供下列服务:

(1)录入航班信息,格式为:

可不定时地增加航班数据。

(2)浏览航班信息,可显示出所有航班,如果当前系统时间超过了某航班的起飞时间,则显示“此次航班已发出”的提示信息。

(3)查询路线:可按航班编号查询,可按起始站,终点站查询

(4)订票和退票功能

A:查询航班编号或站点。当剩余座位数大于0,并且当前系统时间小于起飞时间时才能售票,售票后自动更新剩余座位数。

B:退票时,输入退票的班次,当本班航班未发出时才能退票,退票后自动更新剩余座位数。

从对问题的描述可以知道,我们需要建立的是具有能对数据录入,追加,浏览,检索和修改功能的软件。由于乘客的数量较大且不固定,因此选择用动态数组来保存乘客的基本信息:航班号、起始站名、终点站名、起飞时间、经济参票价、余票量等等。所以我们建立一个可以动态增长的数组,在必要的时候将数组的容保存到文件中。系统主要实现的操作和功能是:录入航班信息、浏览航班信息、查询航线、订票功能、退票功能。要实现这些功能,首先要使程序能实现查找功能,在查找出到有效信息的前提之下,通过链表的赋值,更新信息和删除退票人信息,满足客户的要求。

2.1阐述你对问题的理解、解决问题的方案说明

根据系统功能要求,可以将问题解决分为以下步骤:

(1)分析系统中的各个实体之间的关系及其属性和行为;

(2)根据问题描述,设计系统的类层次;

(3)完成类层次中各个类的描述(包括属性和方法);

(4)完成类中各个成.员函数的定义;

(5)完成系统的应用模块;

(6)功能调试;

(7)完成系统总结报告以及系统使用说明书。

2.2系统功能模块的划分

该系统总共包含四大功能模块:

一、更新航班信息功能模块

该模块为对航班信息的操作,仅向管理员开放使用,普通用户不能使用该功能对

航班信息进行操作,故进入该功能需进行身份验证。

该模块又被分为五个子功能模块——信息库的重建、信息的插入、修改、删除和清空数据。

二、浏览航班信息

完成将文件中的航班信息按照要求格式全部输出。

三、查询航班信息

可以实现按航班号和按站点的查询并将查询到的信息输出。

四、订票和退票系统

该模块根据订票和退票操作的相似性,将这两种操作放在一起。

另外,由于各模块函数是直接对文件进行操作,所以各功能模块是相互独立的。

第三章数据模型

3.1相关数据结构的说明

本系统用到的容器主要是动态增长的vector ,使用该容器需用头文件#include ,其通过语句vector v_array;申请了一个可以动态增长的数组。该数组的元素类Flight的对象,通过语句Flight fly; v_array.push_back(fly);可实现数组v_array的增长。

该容器用来存放航班类Flight的对象,使用该容器可以可以存放个数不确定的对象,且可以方便地进行访问。

3.2类的设计

程序中一共定义了两个类:Flight类和Traffic_system类。

在Flight类里定义了私有数据成员m_fnum[10]表示航班号, m_ftime[2]表示起飞时间,char m_fstar[18]表示起始站, m_fdestination[18]表示终点站, m_fprice表示票价, m_fseat表示票数;定义了共有的成员函数bool SetInfo()用来设置航班信息,friend istream& operator>>(istream& in, Flight& cp)用来重载提取运算符>>,friend ostream& operator<<(ostream& out, Flight& cp)用来重载插入运算符<<,void Display()用来输出航班信息,bool Book()用来订票,void Refund()用来退票,bool If_takeoff()用来判断是否起飞,bool If_deleted()用来判断该航班是否被删除,bool If_match(char (*p)[18], char ta)用来判断航班号或站点名是否相同。

另一个类为Traffic_system类,其中定义了私有数据成员m_sum和v_array,v_array是数组名,用来存放航班类对象,m_sum表示数组v_array中航班类对象的个数;还定义了私有的成员函数void Read_file()用来读取文件,void Save_file()用来保存

相关文档
最新文档