- 5
- 0
- 约1.37万字
- 约 29页
- 2018-12-24 发布于湖北
- 举报
中南大学信息科学与工程学院
数据结构课程设计
实验报告
实验课题:民航航班信息查询与
客票发售服务系统
专业班级:电子信息1101班
学生姓名:BOSS
学生学号:090911
指导老师:BOSS
完成时间:2013年5月23日
第
第 PAGE \* MERGEFORMAT 1 页 共 28 页
第
第 PAGE \* MERGEFORMAT 1 页 共 28页
目录
前言2
问题描述2
需求分析3
程序设计5
调试分析12
问题分析及心得体会15
参考文献16
附录:程序源代码17
一.前言
上学期学习了数据结构,为了能熟练掌握及运用数据结构的知识,并且提高同学们的编程能力,因此进行此次课程设计作业,能有效地提升学生对算法的应用能力。民航航班查询及信息查询服务系统运用C语言和数据结构知识,达到了其基本要求,实现了基本功能,并对程序进行了优化,以达到最佳效果。在设计前制定一个设计方案,明确设计目标,方法和过程,参阅相关文献,咨询老师和同学,严格按照方案进行课程设计,最终解决问题,完成设计任务要求。
二.问题描述
1.问题描述
设民航售票处的计算机系统可以为客户提供下列各项服务:
(1)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
(2)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可预约登记排队等候;
(3)承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人预约登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队预约的客户。
2.要求
编制便于人机对话的程序,实现上述服务项目。
测试数据自定
3.实现提示
每条航线应包括的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票额、已订票的客户名单(包括姓名、订票额、座位号)和预约登记的客户名单(包括姓名、所需票额)。这最后两项显然是一个线性表和一个队列。为查找方便、已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录、包含上述八个域、其中乘员名单域为指向乘员名单链表的头指针,预约登记客户名单域为分别指向队头和队尾的指针。
三.需求分析
订票系统能够实现全部航线信息的浏览功能、订票客户信息的查询功能、单条航线查询功能、订票功能和退票功能 。
具体分析如下:
a) 全部航线信息的浏览功能
浏览全部系统预设的航线信息,每条航线包含的信息有:终点站名、航班号、飞机号、飞行周日(星期几飞行)、乘员定额和余票量。
b) 订票客户信息的查询功能
根据输入的航班号查询该航线所有订票客户的信息,包括客户姓名、订票数额和舱位等级。
c) 单条航线查询功能
根据客户输入的终点站名查看该航线上所涉及的信息。
d) 订票功能
根据客户提出的要求(航班号、订票数量)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于定票额,则询问客户是否愿意排队等候,若愿意,系统则自动登记排队候补。
e) 退票功能
根据客户提供的情况(航班、姓名),询问退票张数,后为
客户办理退票手续。接着系统自动查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
程序设计
1.功能模块
此课程设计包含七大模块,分别是主菜单、后台控制、航线信息输入、航线查询、订票服务、退票服务、订票客户名单。
2.模块结构图
航线查询
航线查询
主菜单订票服务
主菜单
订票服务
退票服务
退票服务
航线信息录入
航线信息录入
航线查询
航线查询
后台操作
后台操作
已订票客户名单
已订票客户名单
返回主界面
返回主界面
3.模块算法说明
1航线查询模块
void search() 根据终点站名输出航线信息,struct airline *info;指向每个航班信息结构
2后台操作
原创力文档

文档评论(0)