1、 项目名称:项目名称: 航空客运订票系统航空客运订票系统 学生姓名:学生姓名: 学学 号:号: 班班 级:级: 指导教师:指导教师: 20132013 年年 1 月月 1 1 日日 目录 1.需求分析 1 2.数据结构设计及用法说明 2 3 详细设计和编码 3 3.1 查询模块 3 3.2 订票模块 4 3.3 退票模块 5 4.实验结果 6 4.1 航班信息录入 . 6 4.2 航班信息查询 . 6 4.3 订票模块 7 4.4 退票管理 8 5.体会 . 9 6.参考文献 .10 7.源代码清单 11 1.需求分析 本订票系统能够实现全部航线信息的录入功能、 订票客户信息的查询功能、 订票
2、功能和 退票功能。 具体分析如下: 1) 航班信息的录入功能 航班信息的录入功能包含:终点站名、航班号、飞机号、 飞行日期(星期几)、乘员定 额、余票量、已经订票的客户名单(包括姓名、订票量)以及等候替补的客户名单(包姓名、所 需票量) 。 2) 订票客户信息的查询功能 订票客户信息的查询功能: 根据客户提供的终点站名进行查询, 并且可以输出以下信息: 航班号、飞机号、飞行日期和余票量。 订票功能 订票功能:根据客户提出的要求(航班号、订票数量)查询该航班票额情况,若尚有余 票, 则为客户办理订票手续; 若已满员或余票额少于定票额, 则询问客户是否愿意排队等候, 若愿意,系统则自动登记排队候补
3、。 退票功能 退票功能:根据客户提供的情况(航班、姓名),询问退票张数,然后为客户办理退票 手续。接着系统自动查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额 能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。 具体功能模块图如图 1-1 所示, 图 1-1 航空客运订票系统功能模块图 航空客运订票系统 录 入 航 班 信 息 查 询 航 班 信 息 订 票 功 能 管 理 退 票 办 理 退 出 2.数据结构设计及用法说明 本系统定义了三个结构体,一个表示已定票客户名单,一个表示等候替补的客户名单, 还有一个为航班信息。同时在结构体之后还定义了一个单链表。 在
4、已定票客户名单中,name1 存放客户姓名,reserve 表示订票量,具体如下: typedef struct /已经订票的客户名单 char name120; /客户姓名 int reserve; /定票量 name; 在等候替补的客户名单中, name 数组用来存放等候客户姓名, necessary 存放所需票量 的数量,具体如下: typedef struct /等候替补的客户名单 char name20; /客户姓名 int necessary20; /所需票量 wai; 在航班信息当中,destination 表示终点站名,flight 表示航班号,num 为飞机号,time 表示
5、飞行日期,sum 表示乘员定额,odd 表示余票量,waitno 表示已经有的候票客户人数; 同时还定义了订票客户数组 name namelist50、 以及候票客户数组 wai wait50; 具体如下: struct airline /航班信息, char destinationmaxsize; /终点站名 char flight20; /航班号 int num; /飞机号 char time; /飞行日期(星期几) int sum; /乘员定额 int odd; /余票量 name namelist50;/订票客户数组 wai wait50;/候票客户数组 int waitno;/已经有
6、的候票客户人数 airplane; 3 详细设计和编码 3.1 查询模块 进入订票系统, 此时有四个功能模块供用户选择, 此时是查询功能, 这是按目的地查询, 根据用户所提供要到的目的地, 当所提供目的地与已经录入的航班信息所录入的终点站名相 同时,查找成功同时显示所查询的航班的信息,当查找失败是,系统会提示用户输入有误, 并要重新查询。 开始 按目的地 查询 比较要查询 的站名和已 输入的站名 If (p=NULL) Y 该航班不存 在 N 显示航班号 输入飞机号 飞行日期 显示余票量 图 3-1 查询功能流程图 3.2 订票模块 进入订票模块的时候,系统提示输入终点站名,客户姓名和所定票量,当用户要订的票 数小于所在航班的余票数时,直接给用户订票,并提示订票成功。当用户要订的票数大于所 在航班的余票数时,系统会给出提