武汉长江工商学院数据结构课程设计报告.doc

武汉长江工商学院数据结构课程设计报告.doc

武汉长江工商学院数据结构课程设计报告

武汉长江工商学院 计算机科学与技术系 项目名称: 航空客运订票系统 学生姓名: 别尔得汉.哈德开西 学 号: 1011028319 班 级: 11801 指导教师: 刘莹 胡成松 2013年 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.需求分析 本订票系统能够实现全部航线信息的录入功能、订票客户信息的查询功能、订票功能和退票功能。 具体分析如下: 航班信息的录入功能 航班信息的录入功能包含:终点站名、航班号、飞机号、 飞行日期(星期几)、乘员定额、余票量、已经订票的客户名单(包括姓名、订票量)以及等候替补的客户名单(包姓名、所需票量)。 订票客户信息的查询功能 订票客户信息的查询功能:根据客户提供的终点站名进行查询,并且可以输出以下信息:航班号、飞机号、飞行日期和余票量。 订票功能 订票功能:根据客户提出的要求(航班号、订票数量)查询该航班票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于定票额,则询问客户是否愿意排队等候,若愿意,系统则自动登记排队候补。 退票功能 退票功能:根据客户提供的情况(航班、姓名),询问退票张数,然后为客户办理退票手续。接着系统自动查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。 具体功能模块图如图1-1所示, 图1-1航空客运订票系统功能模块图 2.数据结构设计及用法说明 本系统定义了三个结构体,一个表示已定票客户名单,一个表示等候替补的客户名单,还有一个为航班信息。同时在结构体之后还定义了一个单链表。 在已定票客户名单中,name1存放客户姓名,reserve表示订票量,具体如下: typedef struct //已经订票的客户名单 { char name1[20]; //客户姓名 int reserve; //定票量 }name; 在等候替补的客户名单中,name数组用来存放等候客户姓名,necessary存放所需票量的数量,具体如下: typedef struct //等候替补的客户名单 { char name[20]; //客户姓名 int necessary[20]; //所需票量 }wai; 在航班信息当中,destination表示终点站名,flight表示航班号,num为飞机号,time表示飞行日期,sum表示乘员定额,odd表示余票量,waitno表示已经有的候票客户人数;同时还定义了订票客户数组name namelist[50]、以及候票客户数组wai wait[50];具体如下: struct airline //航班信息, { char destination[maxsize]; //终点站名 char flight[20]; //航班号 int num; //飞机号 char time; //飞行日期(星期几) int sum; //乘员定额 int odd; //余票量 name namelist[50];//订票客户数组 wai wait[50];//候票客户数组 int waitno;//已经有的候票客户人数 }airplane; 3 详细设计和编码 3.1 查询模块 进入订票系统,此时有四个功能模块供用户选择,此时是查询功能,这是按目的地查询,根据用户所提供要到的目的地,当所提供目的地与已经录入的航班信息所录入的终点站名相同时,查找成功同时显示所查询的航班的信息,当查找失败是,系统会提示用户输入有误,并要重新查询。 图3-1查询功能流程图 3.2 订票模块 进入订票模块的时候,系统提示输入终点站名,客户姓名和所定票量,当用户要订的票数小于所在航班的余票数时,直接给用户订票,并提示订票成功。当用户要订的票数大于所在航班的余票数时,系统会给出提示,询问用户目前余票量不足,是否进行候补,如果用户选择候补时,就先把现有的票订下,并保存在已订票客户中,剩下的没有订的票就保存在候补客户中。若没有找到对应的航班号,提示航班号错误,重新输入。 图3-2订票模块流程图 3.3 退票模块 进入退票模块时,系统会先让用户输入航班号,并利用同样的查找思路对航班号进行查找,查找失败则提示没有您要找的航班号,查找成功时,然后输入姓名,利用同样的查找方法,查找失

文档评论(0)

1亿VIP精品文档

相关文档