ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:187.82KB ,
资源ID:513936      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/513936.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告航班管理系统方案.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计报告航班管理系统方案.docx

1、C语言课程设计报告航班管理系统方案C程序课程设计报告题目:航班管理系统班级:学号:姓名: 指导教师: 年 月 日航班管理系统一、问题描述 航班售票是民航业务管理的一项最基本业务。表面上看,他只是民航业务的一个简单部分,但是她涉及的业务量大、客户多,还涉及资金管理与客户服务等多方面,因此这项业务并不像看上去那么简单。过去传统的售票方式已不能满足现代航空业务流量剧增的客户要求,本次设计便是利用目前先进的开发工具Delphi7.0以及SQL server 2000开发一个航班售票管理系统,她能方便快捷的运用在民航业务的营运之中。本系统是对民航飞机售票业务的一种模拟。此次的开发系统主要是完成航班售票管

2、理的各种自动化服务,通过计算机的运行完成各项事务,设计一个航班售票管理的数据管理系统。通过开发此系统,可稳定简便地通过计算机来执行一系列操作,减少人工劳动强度,达到省时省力的目的,内容包括乘客信息添加、修改、删除、查询;航班的售票订票的添加、修改、删除、查询;航空公司的航班时刻表的查询等。在此次课程设计的实验中,便是利用C语言和数据结构的一些知识模拟航班管理系统。二、设计及实验要点1功能分析如图一 所示航班管理系统主要有以下第一: 具有乘客乘坐飞机的起点、终点、日期和可以使用的座位等基本信息。第二: 售票/订票系统:包括乘客信息添加、修改、删除、查询。第三: 可以在顾客退票时,及时让侯票的顾客

3、补到票第四: 顾客可以及时的查询自己是不是订票成功。第五: 顾客可以在无票时能预定票数。 (图一:航班管理系统功能的主要模块)查询所有的航班信息(包括航班号,票数,以及时间和到达地点等) 查询要到的目的地的所有航线。 客票预订,调用book( )函数, 办理退票,调用back-ticket( )函数, 查看资料,调用Getlem( )函数, (图二:航班管理系统的主流程图)2、总体设计(一)、功能模块设计1.航班管理系统的功能主流程2.管理系统的查询功能3.顾客进行订票的功能模块 4.退票的功能模块5.续票的功能模块6.在订票续票功能完成之后,对顾客订票信息的查询功能模块7.退出系统的功能模块

4、(二)、数据结构设计此程序中运用了C语言的结构体,数据结构中链表和队列的相关知识,为了便于理解陈旭,这里分别来介绍。1 订票顾客的结构体 typedef struct PassengerNode /订票客户结点 。PassengerNode; /已订票客户结点typedef structPassengerNode结构体在系统中用来存储顾客的一些基本信息,如以上定义一样,包括 顾客的姓名 订票客户身份号码 顾客的电话号码 订票的数量 和舱位等级以及用“PassengerNode *next;”来指向下一个订票客户结点。2. 待订票客户的结构体typedef struct WPassengerNo

5、de 。WPassengerNode; /待订票客户结点WpassengerNode结构体在系统中用来存储待订票客户的一些基本信息,如以上定义,包括待订票客户的姓名 待订票客户的身份证号 待订票客户电话号码 待订票客户机票需求量以及用“WPassengerNode *next;”来指向下一个待订票客户节点。3. /订票客户链表typedef struct 。passengerLink; /已订票客户单链表(按ID有序)在该链表中,用“ PassengerNode *passenger;”来指向订票客户,用“ int length;”来统计订票的人数4. 待订票客户的队列typedef stru

6、ct 。WpassengerQueue; /侍订票客户链队列在该队列中,“WPassengerNode *front;”用来指向队列中的第一个人,即为头指针,“WPassengerNode *rear;”指向队尾。4.航班节点(即每一个航班的结构体)typedef struct flightnode /航班结点 。flightnode;/航班结点在该航班节点中,用来存储每一个航班的信息,其中有终点站名称 航班编号 飞机编号 飞行周日 飞机能载最大人数 还余下多少张票等基本信息并用“flightnode *next;”来指向下一个航班节点,用“ WpassengerQueue npassenge

7、r;”来指向本次航班带票客户队列,用“passengerLink passenger;”来指向本次航班已定票的客户链表。5.航班顺序表的定义typedef struct 。SqFlight;/航班顺序线性表此结构体中用“flightnode *flight;”来指向系统中的所有航班的头指针,用“int length;”来统计航班的数量。(三)、函数功能描述1. ask_passenger()函数原型int ask_passenger(flightnode *p,SqFlight LF)该函数用来完成顾客续票的操作2. back_ticket()函数原型int back_ticket(int n

8、umber,SqFlight &LF)该函数用来完成为顾客办理退票业务。3. book()函数原型int book(int number,SqFlight &LF)该函数用来完成顾客的订票业务4. GetElem()函数原型int GetElem(SqFlight LF,int number)该函数用来完成顾客查询基本资料的一些操作5. InitFlightNode()函数原型int InitFlightNode(SqFlight& LF)该函数用来完成对航班顺序表中的每一个航班进行赋值并将赋值后的航班连接到航班顺序表中6. InitList_Sq()函数原型int InitList_Sq(S

9、qFlight &LF) 此函数用来构造一个空的线性表LF 飞机航班结点7. InitList_pa()函数原型int InitList_pa(passengerLink &PA)该函数 用来为已订票客户链表建一个空链表8. InitList_WPQ()函数原型int InitList_WPQ(WpassengerQueue &WPQ)该函数 用来为待票客户建一个空的队列9. lookup()函数原型int lookup(char *cityname,SqFlight LF)用来查找航班,形参指针cityname指向查询时输入的航线的首地址,引用航班顺序线性表LF10. searchID()函

10、数原型PassengerNode *searchID(flightnode *p,char *ID)p是指向某个航班结点的指,ID是要查询的ID,该函数是通过ID号来查询航班,并返回已订票顾客节点11. searchNUM()函数原型flightnode *searchNUM(int number,SqFlight LF)该函数通过number来按航班号查询航班,并返回相关的航班节点12. system1()函数原型void system1(SqFlight LF)该函数主要实现/显示主菜单 能实现的操作等并像用户提供进行选择的界面。13. wbook()函数原型int wbook(SqFli

11、ght & LF,flightnode *p)该函数是续票函数的补充,主要实现将待票客户插入到待票队列的队尾14. main()函数原型void main()该函数先通过system(color 0A); 来实现改变背景和前景颜色的效果,继而分别通过InitList_Sq(LF);InitFlightNode(LF);来完成对航班顺序表的初始化。最后通过system1(LF); 来进入显示系统的主界面,以供用户选择。三、源程序(见附录)四、程序实现(一)源码分析1.程序预处理2.主函数main()主函数实现功能主要是为进入系统做好准备,并完成航班的初始化,即对各个航班赋上初值。void mai

12、n()system(color 0A);/改变背景和前景颜色system(mode con: cols=70 lines=35);/调整显示方框的大小SqFlight LF;InitList_Sq(LF);InitFlightNode(LF);system1(LF);printf(n);3管理系统的查询功能该功能主要实在主函数初始化的前提下,调用lookup( )函数来完成所有航班的查询。另外也可以通过目的地,输入目的地的大写字母来调用lookup.( )来完成。int lookup(char *cityname,SqFlight LF) /查询系统 /形参指针cityname指向查询时输入的

13、航线的首地址 /引用航班顺序线性表LF。其操作实现的结果按如图 1 所示。当输入目的地的结果如图 2 所示。查询完以后,按任意键有可进入主界面 图 1 图 2 (输入目的地的准确查询)4.顾客订票的功能模块。实现结果如图 3 所示 图 3 (订票成功)5.顾客退票的功能模块在完成订票后,如果要退票,顾客可在在主界面中选择 4 进行退票,此时通过调用函数back_ticket()来完成,在此函数中,先通过searchNUM(number,LF) 找到要办理航班的航班,继而通过修改订票人的链表和剩余票数来删除要退票的人的信息。具体操作如下所示int back_ticket(int number,S

14、qFlight &LF)/办理退票业务 。实现结果如图 4 所示 图 4 (退票成功)5.顾客续票的功能模块在有待票客户的前提下,系统通过ask_passenger()来完成待票人的补订,并将其加入到已定票人的序列中,具体操作如下int ask_passenger(flightnode *p,SqFlight LF)。具体实现的结果如以下所示图 5是有待票人的情况。 图 5 (没有足够的票,进入到待票的队列中)图 6 为在有人退票的情况下进行的补票即在显示退票的情况下,即显示“退票成功”后会出现待票人的一些信息,并询问是不是要购票。在1.要 2.不要 的界面中,如果选择 1,则系统再次运用函数bookup( ) 函数来完成订票。选择 2 则退出系统 图 6 (待票人再次订票成功的界面)(二)运行结果具体的运行结果以上图 所示(即图 16 所示)五、不足之处在系统中应该减少顾客输入的次数,比如在待票人在次订票时,只需要输入是不是要订票即可,而不要在输入一次客户的必要信息,由于水平有限,程序中可能存在不足之处,敬请老师批评和指导。六、参考文献何钦铭,颜辉。C语言程序设计M。杭州:浙江科技出版社,2004管理系统的源代码如下所示。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1