- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可编辑版
Word完美格式
上海电力学院
数据结构C++课程设计
题 目: 航空客运订票系统
学生姓名: 范晓宁
学 号:
院 系: 计算机与信息工程学院
专业年级: 信息安全2010级
2012 年 6 月 29 日
一、设计题目
航空客运订票的业务活动包括;查询航线、客票预订和办理退票等。试设计一个航空客 运订票系统,以使上述业务可以借助计算机来完成。
【基本要求】
(1)每条航线所涉及的信息有:终点站名、航班名、飞机号、飞行周日(星期几)、乘员
定
额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2 或3)以及等候替补
的客户名单(包括姓名、所需票量);
(2)作为示意系统,全部数据可以只放在内存中;
(3)系统能实现的操作和功能如下:
①查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,
最近一天航班的日期和余票额;
②承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若
尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则
需重新询问客户要求。若需要,可登记排队候补;
③承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查
询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足客户的要
求,则为客户办理订票手续,否则依次询问其他排队候补的客户。
二、需求分析
1)运行环境(软、硬件环境)
Winxp 32位 visual C++6.0
2)输入的形式和输入值的范围
由航空公司输入航线情况并以单链表的形式存储在内存里面
3)输出的形式描述
通过客户的输入输出相应的内容
4)功能描述
用户通过本系统实现该航空公司的查询、订票(包括候补)、和退票功能
5)测试数据
终点站
航班
飞机号
飞行日期
成员定额
余票量
zhengzhou
Iphone4s
1
Sunday
3
3
beijing
Nokia
2
Tuesday
2
2
tianjin
ASUS
3
Friday
4
4
三、概要设计
1)抽象数据类型定义描述
(对各类的成员及成员函数进行抽象描述,参见书或ppt及实验)
一条航线包括了终点站、航班名、飞机号、飞行周日、成员定额、余票量、订票人员、候补人员等信息,我们可以将航线看成一类,定义为一个类,而订票人员通用的属性是:姓名、订票张数和舱位等级,候补人员通用属性是姓名和订票张数,可以将订票人员和候补人员定义为结构体,航线定义为一个类,类包括了两个结构体。具体定义如下:
class transportNode//航线类节点
{
friend class transport;
private:
char finish[10];//目的地
char flightname[10];//航班名
int flightnum;//航班号
int day;//飞行日期
int limitednum;//乘员限额
int remainber;//余票
struct booknode
{
public:
char name[10];//乘客姓名
int ticketnum;//票数
int rate;//舱位等级
}b[40];
struct sparenode
{
public:
char name[10];//乘客姓名
int ticketnum;//票数
int m;//记录排队等候的顾客的数量
}s[40];
transportNode *next;
}
功能模块设计(如主程序模块设计)
主程序中录入航线的信息,然后进入主菜单,再实现其他的功能,类transport 中包括了除去主菜单以外的所有的功能函数
class transport
{
public:
transport();//无參构造函数构造头节点
void recort();//记录航班信息
void chest();//实现根据输入的目的地查询的功能
void book();//实现旅客的订票功能
void bounce();//实现退票功能
private:
transportNode *head;
};
int menu();//进入主菜单
3)模块层次调用关系图
函数入口,录入航班信息
函数入口,录入航班信息
进入主菜
文档评论(0)