数据结构课程设计 飞机订票系统

上传人:博****1 文档编号:564427875 上传时间:2023-12-24 格式:DOCX 页数:31 大小:151.43KB
返回 下载 相关 举报
数据结构课程设计 飞机订票系统_第1页
第1页 / 共31页
数据结构课程设计 飞机订票系统_第2页
第2页 / 共31页
数据结构课程设计 飞机订票系统_第3页
第3页 / 共31页
数据结构课程设计 飞机订票系统_第4页
第4页 / 共31页
数据结构课程设计 飞机订票系统_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《数据结构课程设计 飞机订票系统》由会员分享,可在线阅读,更多相关《数据结构课程设计 飞机订票系统(31页珍藏版)》请在金锄头文库上搜索。

1、摘要随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多, 出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化, 其中重要的一项就是航空飞机订票系统,因此好的订票系统关系着人们的日常出行方便与 否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。本文 Microsoft Visual C 6.0 作为程序代码的实现软件,进行飞机订票系统的数据结构 课程设计。首先,根据课程设计内容进行需求分析,确定主要的功能模块,。然后进行数 据结构、各功能模块算法以及它们之间的调用关系的概要设计,做出各信息模块的数据结 构表,并给出所用的结构体和

2、结点类型。在此基础上,进行各功能模块的详细算法设计, 做出各算法的流程图。最后,对系统进行测试,分为合法数据测试和非法数据测试,并对 测试结果截图保存。本系统包含录入航班信息、订票、退票、查询航班信息、查询订票信 息、修改航班信息和退出系统 7 个基本功能,经测试后健壮性良好。关键词飞机订票系统;数据结构;C语言;单链表目录1问题背景 12问题分析 13需求分析 23.1用户需求分析 23.2功能需求分析 23.3系统需求分析 34逻辑设计 34.1 数据结构 34.2 各功能模块间函数调用关系 54.3 函数说明 55详细设计 75.1录入航班信息 75.2顾客订票模块 85.3顾客退票模块

3、 85.4查询航班模块 95.5查询订单模块 95.6修改航班模块 96 程序调试与测试 116.1合法数据测试结果 116.2非法数据测试结果 137结果分析 157.1输入 157.2输出 1516参考文献 161 问题背景订票系统是一种新兴的现代商务方式,近几年来得到了迅速发展,显现了巨大的现代 商业价值。有理由相信,订票系统将逐渐方便盛会生活,也将成为数字化社会的一种重要 体现。它改变了传统的买卖双方面堆满的交流方式,也打破了旧有工作经营模式,它通过 网络使航空公司面对整个世界,为用户提供每周 7 天,每天 24 小时的全天候服务。网 上订票的规模正在逐年迅速增长,它带来的商机是巨大而

4、深远的。订票系统研究的主攻方 向是通过公共计算机通信网络进行网上订票活动,突破传统商务在时间、地域上的限制, 成为方便、快捷、安全可靠的新兴电子化商务活动模式。是网上订票活动更安全、可靠、 快速、明确和方便。对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费 用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这 种服务提供了更多的方便,节省了很多时间。建设航空订票管理系统是体现和提高航空公 司领导业绩的一条捷径。2 问题分析通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自 定)查询:可以查询

5、某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市, 航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票 情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班;退 票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件 号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件3需求分析3.1用户需求分析用户使用此程序所要完成的工作主要为:录入和查询所有航线信息、查看已订票客户 信息、查询航线、办理订票业务、办理退票业务。通过此系统可以方便的进行上述工作。 每条航线所涉

6、及的信息有:终点站名、航班号、飞行时间、票价、乘员定额、余票量。已 订票的客户名单信息包括姓名、订票量、舱位等级(1, 2或3)。等候替补的客户名单 信息包括姓名、所需票量。查询航线功能可以根据旅客提出的终点站名输出航班号、飞行 时间、票价、乘员定额、余票量。订票业务功能根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚 有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于定票额,则需重新 询问客户要求。若需要,可登记排队候补购票。退票业务功能根据客户提供的情况(航班 号、姓名)为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一 的客户,若所退票额能满足

7、他的要求,则为他办理订票手续,否则依次询问其他排队候补 的客户。3.2功能需求分析1. 功能模块说明:(1) 将航班的基本信息录入到系统中。(2) 根据航班号或者根据起飞地点、降落地点查询所需航班信息。(3) 输入姓名和所要订航班的航班号订票。(4) 输入姓名和所订航班的航班号办理退票。(5) 输入航班号,修改该航班的起飞和降落时间以修改航班的起降时间。(6) 退出的同时将信息写入文件。2. 订票系统功能图图3.1订票系统结构图3.3系统需求分析开发环境:PC机,Windows 7系统运行软件:Microsoft Visual C 6.04逻辑设计4.1数据结构1航班的信息:航班的情况存储结构

8、采用单链表,每个元素表示一个航班的情况,包 括航班号、起飞时间、降落时间、起飞城市、抵达城市、航班票价、票价折扣、确定航班 是否满仓和空座数九个数据项:表3.1航班信息的数据结构表数据项数据类型航班号字符串(char)起飞时间字符串(char)降落时间字符串(char)起飞城市字符串(char)抵达城市字符串(char)航班是否满仓整型(int)空座数整型(int)票价浮点数(float)票价折扣浮点数(float)ty pedef st rue t passengernode /定义客户资料结点 char name20; /姓名 char ID_num20; /证件号 char fligh

9、t_ num10; /航班号 int order_num; /订单号 int ticket_num; /订票数量st ruc t passengernode * nex t; /扌旨向下一个结点 passengernode;3客户链表:每个数据元素包括头指针和尾指针两个数据项: 每个结点包括两个指针域:C语言描述如下:typedef struct passengerList passengernode *head; passengernode *rear;passengerList;4.2各功能模板函数之间的调用关系。主函数査询订爭入航=总按14号或客户号見査洞4.3函数说明void init

10、_flight(flightnode *&h):要建立一个以h为头结点的空链表,录入航班信息 和增加航班后将航班结点插入该链表。void ini t_passengerLis t(passengerList *&pLis t):建立一个带有头指针和尾指针的空 链表,存储带有顾客信息的结点。头指针域尾指针域void save_flight(flightnode *h):保存航班信息到指定数据文件中。void load_flight(flightnode *&h):从存储航班信息的文件导入航班信息到航班链表 中。void save_passenger(passengerList *PLis t):

11、保存客户信息到指定数据文件中。 void load_passenger(passengerList *&PList):从存储客户信息的文件导入客户信息到 客户链表中。void add_fligh t(fligh tn ode *&h):录入航班信息后调用 inser t_fligh t 函数增加班。 void insert_flight(flightnode *&h,char* flight_num,char* start_place,char* end_place,char*start_time,char* end_time,int left,float price,float price_

12、discount,int isFull):在录入航班情况或增加新的航班后,将新的航班结点插入到航线链表中。 int book(flightnode *&l,passengerList *&PList):要完成客户订票,将客户结点插入 客户链表中,并修改相应的航班信息。void insert_passengerList(flightnode *&h,passengerList *&PList,char *name,char *ID_num,char *flight_num,int ticket_num):在顾客订票后,将该顾客结点插入到顾客 链表中,并修改相应的航班信息。void find_sa

13、me_flight(flightnode *l,char *flight_num):在客户订票时,当客户输 入的航班号对应的航班已满仓时,提供其他可选航班并输出显示。void cancel(passengerList *&PLis t,fligh tn ode *&h):完成客户退票,将客户的订单 从客户链表中删除,并修改相应的航班信息。int delete_passenger(passengerList *&PList,flightnode *&h,char *name,char *ID_num):按照要退票的顾客的姓名和证件号查找该顾客结点,进行删除操作。void fligh t_chec

14、k(fligh tn ode * h):选择使用何种方式对航班信息进行查询。 void check_all_flight(flightnode *l):浏览所有航班信息。int place_check(fligh tn ode *l ,char *start_ place,char * end_place): 按照起飞抵达 城市查询航班信息。int fligh t_ num_check(fligh tn ode *l ,char *f ligh t_ num): 按照航班号查询航班信息。 void passenger_check(passengerList *PList):选择使用何种方式对订

15、单信息进行查 询。void check_all_passenger(passengerLis t * PLis t):浏览所有订单信息。int order_num_check(passengerList *PList,int order_num):按订单号查询订单信 息。int ID_name_check(passengerList *PList,char *name,char *ID_num): 按客户姓名和 证件号查询订单信息。void modify_fligh t(fligh tn ode *&h,passengerList *&PLis t):修改航班信息,包括添 加航班信息,删除航班信息,修改航班起飞抵达时间。void dele te_fligh t(fligh tn ode *&h,passengerList *&PLis t):按照某个航班号删除航 班结点。5 详细设计5.1 录入航班信息在主函数中输入“1,调用void add_fligh t(fligh tnode *&h)函数,此函数将航班指 针*p指向已存在航班链表*h

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号