数据结构课程设计飞机订票系统设计与实现(里面附有源代码!).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构课程设计飞机订票系统设计与实现(里面附有源代码!).doc》由会员分享,可在线阅读,更多相关《数据结构课程设计飞机订票系统设计与实现(里面附有源代码!).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计题目 飞机订票系统 院 系 专 业 姓 名 学 号 指 导 教 师 2021 年 7 月 11. 需求分析1.1 问题描述 基于目前人们外出远行频繁,为方便乘客提前买票及优化飞机航空订票效劳,需要开发一个飞机订票系统,此程序就是要实现航班情况的录入,查询,订票,退票以及航班的查询和修改等根本功能。本课程设计的题目为:飞机订票系统。1.2 根本要求1.2.1 输入的形式和输入值的范围 录入航班信息时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入航班票价,票价折扣,值为 浮点型float;还需要输入航班是否满仓,值为整型int“1表示已满仓, “0表示没有满仓;如需
2、要继续录入航班信息,要输入判别信息,值为整型 “1表示继续录入航班信息, “0表示停止录入航班信息。 客户订票时,需要输入起飞抵达城市,然后选择航班进行查询,选择航班时需要输入航班号,值为字符串。 客户退票时,需要输入姓名,证件号进行退票操作,值为字符串。 查询某个航班的情况时,需要输入航班号,值为字符串;在查询某个航线的情况时,还可以通过输入起飞抵达城市来查询,值为字符串。 查询某个订单时,需要输入订单号,值为整型int ;或者需要输入客户姓名和证件号,值为字符串。 修改航班时,需要输入字符型数据选择进行何种修改操作;增加航班时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入
3、航班票价,票价折扣,值为浮点型float ;还需要输入航班是否满仓,值为整型int“1表示已满仓, “0表示没有满仓;如需要继续录入航班信息,要输入判别信息,值为整型 “1表示继续录入航班信息,“0表示停止录入航班信息;删除航班时,需要输入要删除的航班的航班号;修改航班时间时,需要输入要修改的航班的航班号,修改后的航班起飞时间和抵达时间。1.2.2 输出形式 在所有操作后的输出中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。 录入航班情况时,输出显示添加航班信息是否成功。 客户订票时,当客户输入起飞抵达城市后,输出可供客户选择的航班
4、信息;客户选择了航班后,输入提示信息告知用户订票是否成功。 客户退票时,输出客户退票成功或者无此客户,无法退票。 查询航班时,输出显示对应的航班信息,或者输出提示信息告知没有相应的航班信息。 查询订单时,输出显示对应的订单信息,或者输出提示信息告知没有相应的订单信息。 修改航班时,输出对应的提示的信息,提示操作是否成功。 21.2.3 功能要求 1可以录入航班情况,数据存储在一个数据文件中; 2可以查询某个航线的情况:输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓;输入起飞抵达城市,查询飞机航班情况; 3可以订票,订票情况存在一个数据文件中如果该航班已经无票,提供
5、相关可选航班; 4可退票并且退票后修改相关数据文件; 5客户资料:姓名,证件号,订票数量及航班情况,订单要有编号; 6修改航班信息,当航班信息改变可修改航班数据文件; 7要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。2. 概要设计2.1 数据结构 1航班的信息:航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞时间、降落时间、起飞城市、抵达城市、航班票价、票价折扣、确定航班是否满仓和空座数九个数据项:航班号 起飞 降落 起飞 抵达 航班 空座数 票价 票价 时间 时间 城市 城市 是否满仓 折扣字符串 字符串 字符串 字符串 字符串 整数
6、整数 浮点数 浮点数 int int float float 单链表如下: h D1 D2 D3 每个结点包括数据域和指针域: 数据域 指针域 C 语言描述如下: typedef struct flightnode char air_num10/航班号 char start_time15/起飞时间 char end_time15/抵达时间 char start_place20/起飞城市 char end_place20 /降落城市 int left /空座数 float price /票价 float price_discount/票价折扣 s int i Full /航班是否满仓 struc
7、t flightnode next/指向下一个结点 3 flightnode/航班结点 2客户的资料:为了便于插入、删除和修改,其采用单链表存储结构,每个数据元素包括姓名、证件号、航班号、订票数量和订单号五个数据项:姓名 证件号 航班号 订票数量 订单号字符串 字符串 字符串 整数int 整数int 每个结点包括数据域和指针域: 数据域 指针域 C 语言描述如下: typedef struct passengernode/定义客户资料结点 char name20 /姓名 char ID_num20 /证件号 char flight_num10/航班号 int order_num /订单号 in
8、t ticket_num /订票数量 struct passengernode next/指向下一个结点 passengernode 3客户链表:每个数据元素包括头指针和尾指针两个数据项: 每个结点包括两个指针域: 头指针域 尾指针域 C 语言描述如下: typedef struct passengerList passengernode head passengernode rear passengerList2.2 程序模块2.2.1 录入航班信息模块 void add_flightflightnode amph调用 void insert_flightflightnode amphcha
9、rflight_numchar start_placechar end_placechar start_timechar end_timeint leftfloatpricefloat price_discountint isFull函数,将新航班结点插入航班链表中。2.2.2 客户订票模块 int bookflightnode amphpassengerList ampPList函数调用 intinsert_passengerpassengernode amphchar namechar ID_numchar flight_numintticket_numint order_num函数,将新
10、客户结点插入客户链表中。 42.2.3 客户退票模块 void cancelpassengerList ampPListflightnode amph函数调用 intdelete_passengerpassengerList ampPListflightnode amphchar namechar ID_num函数,将相应的顾客结点删除,并修改相应的航班信息。2.2.4 查询航班模块 void flight_checkflightnode h调用 void check_all_flightflightnode h函数进行所有航班信息浏览, 调用 int place_checkflightnod
11、e hchar start_placechar end_place函数按起飞抵达城市对航班进行查询,调用 int flight_num_checkflightnode hchar flight_num按航班号对航班进行查询。2.2.5 查询订单模块 void passenger_checkpassengerList PList调用 void check_all_passengerpassengerListPList函数进行所有订单信息浏览,调用 int order_num_checkpassengerList PListintorder_num函数按订单号对订单进行查询, 调用 int ID_
12、name_checkpassengerList PListcharnamechar ID_num按客户姓名和证件号对订单进行查询。2.2.6 修改航班模块 增加航班时,void modify_flightflightnode amphpassengerList ampPList函数调用 voidadd_flightflightnode amph函数,将新航班信息结点插入航班链表中。 删除航班时,void modify_flightflightnode amphpassengerList ampPList函数调用 voiddelete_flightflightnode amphpassenger
13、List ampPList函数将相应的航班信息删除并删除相应的订单信息。 修改航班时间时,void modify_flightflightnode amphpassengerList ampPList函数修改指定航班的起飞抵达时间。2.3 各模块之间的调用关系以及算法设计2.3.1 各模块之间的调用关系 5 主函数 录入 退 票 查询航班 查询订单 修改航班信息 订 票 退 出 航班信息 浏览 按航 按起 浏览 按订 按客 增加 删除 修改 全部 班号 飞抵 全部 单号 户姓 航班 航班 航班 航班 查询 达城 订单 查询 名和 信息 信息 起飞 信息 航班 市查 信息 订单 证件 抵达 信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 飞机 订票 系统 设计 实现 里面 附有 源代码
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内