航空客运订票系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
passenger wait; //候补队列,next 存放队头地址
};
3.3
1.
2.查 询
3.订 票
4.退 票
4.
本节介绍了系统实现的开发环境,包括硬件环境,软件环境,以及运行界面展示。最后显示了该系统实现后每个功能的实现结果。
4.1
硬件环境
电脑型号:笔记本
处理器:英特尔Core i5
主板: 华硕
}ADT WQUEUE
链表类型
ADT Linklist
{数据对象:D={ai∈信息,I=1,2,…,n,n≥0}
数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}
基本操作:
InitLink(passenger &Pa)
操作结果:构造一个空的链表Pa
InsertList(passenger L,ElemType pa)
1.2
两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包含上述8个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。
初始条件:动态链表L已存在。
操作结果:pa插入链表。
search_delet(passenger L,ElemType pa)
初始条件:线性链表L已经存在且非空。
操作结果:删除L中pa内容相同的元素。
}ADT Linklist
数组类型
Enter(AL Airline[MAX])
操作结果:构建AL类型的Airline数组
当输出“请输入目的地”时,请任意输入一个一个字符的地名,会输出终点站、飞机号、航班号以及一、二、三等舱的余票额。接下来,程序输出“是否需要订票”,如果要,请输入“Y”,程序会输出“请输入名字和票数 :”请输入你的姓名(一个字符)和订票额(一等、二等、三等),订票成功后会输出“订票成功,感谢使用。如果不要订票,请输入“N ”,程序将输出“感谢使用。”当程序输出“是否退票。”时,操作与订票基本一致。
5.退票模块:用户输入目的地后,会显示飞往该地的航班、飞机号、起飞时间、一等舱剩余票数、二等舱剩余票数、三等舱剩余票数。提示用户是否退票,旅客退票成功后会显示退票成功。
1.4
①界面简洁,美观
②程序实用交互性好
2.
本系统主要使用动态链表保存机票信息,使用队列保存排队的客人信息。其中包含有航线号、飞机号、时间、一等舱票数、二等舱票数、三等舱票数、旅客的姓名和订票信息。
{
char EPlace; //终点站
int FNo; // 航班号
int PNo; //飞机号
int Time; //时间
seat Ticket; //总票量,用结构体seat
passenger BPassenger; //已经订票的乘客,next 存放已经订票的乘客链表的表地址
seat RTicket; //剩余的票额
航空客运订票系统
设计报告
姓名:
班级:
学号:
学院:
专业:
指导:
2013.6.20
1.
该项目是制作一个航空客运订票系统,编写系统需求分析的目的是明确软件的功能、界面,使得系统分析人员及软件开发人员能清楚地了解用户的需求,方便开发工作。
1.1
随着出行人数越来越多,航空客运所占的比例越来越多,机场的售票压力越来越大,此软件意在解决机场的售票问题让更多的人在家就能购买机票,减轻机场负担。
订票类型
Book(AL &line)
操作结果:P=N 退出订票;
P=Y 确认订票;
Q=N 退出排队;
Q=Y 确认排队;
3.
本节介绍了首相数据类型的计算机实现,其中包括ADT的种类,功能的种类及实现,数据结构的定义,常量的定义,函数原型声明及伪代码算法。还介绍了每个功能所对应的操作算法的实现。
3.1
3.2
1.3
1.主界面模块:供用户选择使用本系统的各个功能。
2.录入航线信息模块:可以录入飞行目的地、航线号、飞机号、时间、一等舱数量、二等舱数量、三等舱数量。为以后的模块提供数据。
3.查询模块:用户输入目的地后,会显示飞往该地的航班、飞机号、起飞时间、一等舱剩余票数、二等舱剩余票数、三等舱剩余票数。
4.订票模块:用户输入目的地后,会显示飞往该地的航班、飞机号、起飞时间、一等舱剩余票数、二等舱剩余票数、三等舱剩余票数。提示用户是否订票,旅客订票成功后会显示订票成功。不成功会提示旅客进入排队等票。
采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。划分出来的模块相对独立但又相关,且容易理解。
2.1
抽象数据类型
1.等候队列类型
ADT WQUEUE
{
数据对象:D={ai∈乘客信息,I=1,2,…,n,n≥0}
数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}
显卡:NVIDIA
软件环境
操作系统:Windows 7 旗舰版 64位(DirectX 11)。
开发软件:Microsoft Visual C++ 6.0。
4.2 测试用例
4.3 测试结果
4.2
选择4录入航班信息:
选择1查询航班:
选择2订票:
选择3退票
4.3
输入 a,1,10,1,3,5,10 b,2,20,2,3,5,10 c,3,30,3,3,5,10
struct seat
{
int first; //一等舱
int second; //二等舱
int third; //三等舱
};/
struct ElemType
{
char name; //姓名
seat ticket; //舱位
};//ElemType
typedef struct LNode
{
char name; //姓名
seat ticket; //舱位
struct LNode *next; //定义指针保存下一项地址
}LNode,*passenger;
typedef struct WQueue
{
passenger front; //队头指针
passenger rear; //队尾指针
}WQueue;
struct AL
基本操作:
InitQueue(WQueue &Q)
初始条件:Q为WQueue类型
操作结果:构造一个空的队列Q
EnQueue(WQueue &Q,ElemType pa)
初始条件:队列Q已存在。
操作结果:pa入队列
DeQueue(WQueue &Q,ElemType p)
初始Fra Baidu bibliotek件:Q为非空队列。
操作结果:删除Q的队头元素。
相关文档
最新文档