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

上传人:Sc****h 文档编号:142533265 上传时间:2022-08-25 格式:DOC 页数:22 大小:544.50KB
返回 下载 相关 举报
C语言课程设计报告_航班管理系统方案_第1页
第1页 / 共22页
C语言课程设计报告_航班管理系统方案_第2页
第2页 / 共22页
C语言课程设计报告_航班管理系统方案_第3页
第3页 / 共22页
点击查看更多>>
资源描述
下载可编辑C 程序课程设计报告题目:航班管理系统班级:学号:姓名:指导教师 :年月日.专业 .整理 .下载可编辑一、问题描述4二、设计及实验要点51 功能分析52、总体设计8(一)、功能模块设计81.航班管理系统的功能主流程82.管理系统的查询功能83.顾客进行订票的功能模块84.退票的功能模块8.专业 .整理 .下载可编辑5.续票的功能模块96.在订票续票功能完成之后,对顾客订票信息的查询功能模块97.退出系统的功能模块9(二)、数据结构设计9(三)、函数功能描述12三、源程序 (见附录 )14四、程序实现14(一)源码分析141.程序预处理142.主函数 main ()143 管理系统的查询功能154.顾客订票的功能模块175.顾客退票的功能模块175.顾客续票的功能模块18(二)运行结果21五、不足之处21六、参考文献22.专业 .整理 .下载可编辑航班管理系统一、问题描述航班售票是民航业务管理的一项最基本业务。表面上看 ,他只是民航业务的一个简单部分 ,但是她涉及的业务量大 、客户多,还涉及资金管理与客户服务等多方面 ,因此这项业务并不像看上去那么简单。过去传统的售票方式已不能满足现代航空业务流量剧增的客户要求,本次设计便是利用目前先进的开发工具 Delphi 7.0 以及 SQL server 2000 开发一个航班售票管理系统,她能方便快捷的运用在民航业务的营运之中。本系统是对民航飞机售票业务的一种模拟。.专业 .整理 .下载可编辑此次的开发系统主要是完成航班售票管理的各种自动化服务,通过计算机的运行完成各项事务 ,设计一个航班售票管理的数据管理系统。通过开发此系统 ,可稳定简便地通过计算机来执行一系列操作,减少人工劳动强度 ,达到省时省力的目的 ,内容包括乘客信息添加 、修改、删除、查询;航班的售票订票的添加、修改、删除、查询;航空公司的航班时刻表的查询等。在此次课程设计的实验中,便是利用 C 语言和数据结构的一些知识模拟航班管理系统。二、设计及实验要点1 功能分析如图一所示航班管理系统主要有以下第一: 具有乘客乘坐飞机的起点、终点、日期和可以使用的座位等基本信息。第二: 售票 / 订票系统 :包括乘客信息添加、修改、删除、查询。第三: 可以在顾客退票时 ,及时让侯票的顾客补到票第四: 顾客可以及时的查询自己是不是订票成功。第五: 顾客可以在无票时能预定票数。.专业 .整理 .下载可编辑航班管理系统所有航班查询航线客票预订办理退票查看资料的信息(图一:航班管理系统功能的主要模块)开始查询所有的航班信息(包括航班号,票数,以及时间和到达地点等)查询要到的目的地的所有航线。.专业 .整理 .下载可编辑客票预订,调用book( )函数,办理退票,调用back-ticket( )函数,查看资料,调用Getlem( )函数,结束.专业 .整理 .下载可编辑(图二:航班管理系统的主流程图)2、总体设计(一)、功能模块设计1.航班管理系统的功能主流程2.管理系统的查询功能3.顾客进行订票的功能模块4.退票的功能模块.专业 .整理 .下载可编辑5.续票的功能模块6.在订票续票功能完成之后,对顾客订票信息的查询功能模块7.退出系统的功能模块(二)、数据结构设计此程序中运用了C 语言的结构体 ,数据结构中链表和队列的相关知识,为了便于理解陈旭 ,这里分别来介绍 。1 订票顾客的结构体typedef struct PassengerNode/ 订票客户结点。PassengerNode;/ 已订票客户结点typedef structPassengerNode结构体在系统中用来存储顾客的一些基本信息,如以上定义一样,包括顾客的姓名订票客户身份号码顾客的电话号码订票的数量和舱位等级以及用 “PassengerNode *next;”来指向下一个订票客户结点。2. 待订票客户的结构体typedef struct WPassengerNode.专业 .整理 .下载可编辑。WPassengerNode;/ 待订票客户结点WpassengerNode结构体在系统中用来存储待订票客户的一些基本信息,如以上定义,包括待订票客户的姓名待订票客户的身份证号待订票客户电话号码待订票客户机票需求量以及用“WPassengerNode*next; ”来指向下一个待订票客户节点。3. / 订票客户链表typedef struct。passengerLink;/ 已订票客户单链表 (按 ID 有序)在该链表中,用 “PassengerNode*passenger; ”来指向订票客户,用 “intlength; ”来统计订票的人数4. 待订票客户的队列typedef struct。.专业 .整理 .下载可编辑WpassengerQueue;/ 侍订票客户链队列在该队列中 ,“WPassengerNode*front; ”用来指向队列中的第一个人,即为头指针,“WPassengerNode *rear;”指向队尾 。4.航班节点 (即每一个航班的结构体)typedef struct flightnode /航班结点。flightnode;/航班结点在该航班节点中,用来存储每一个航班的信息,其中有终点站名称航班编号飞机编号飞行周日飞机能载最大人数还余下多少张票等基本信息并用 “flightnode*next; ”来指向下一个航班节点,用 “WpassengerQueuenpassenger; ”来指向本次航班带票客户队列,用 “passengerLinkpassenger; ”来指向本次航班已定票的客户链表。5.航班顺序表的定义typedef struct。SqFlight;/ 航班顺序线性表此结构体中用“flightnode*flight; ”来指向系统中的所有航班的头指针,用 “intlength; ”来统计航班的数量 。.专业 .整理 .下载可编辑(三)、函数功能描述1. ask_passenger ()函数原型 int ask_passenger(flightnode *p,SqFlight LF)该函数用来完成顾客续票的操作2. back_ticket ()函数原型 int back_ticket(int number,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(SqFlight &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 ()函数原型 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(SqFlight & LF,flightnode *p)该函数是续票函数的补充,主要实现将待票客户插入到待票队列的队尾14. main ().专业 .整理 .下载可编辑函数原型 void main()该函数先通过 system(color 0A);来实现改变背景和前景颜色的效果,继而分别通过 InitList_Sq(LF);InitFlightNode(LF); 来完成对航班顺序表的初始化。最后通过system1(LF); 来进入显示系统的主界面 ,以供用户选择 。三、源程序 (见附录 )四、程序实现(一)源码分析1.程序预处理2.主函数 main ()主函数实现功能主要是为进入系统做好准备,并完成航班的初始化,即对各个航班赋上初值 。void main()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 指向查询时输入的航线的首地址/ 引用航班顺序线性表 LF。其操作实现的结果按如图1 所示。当输入目的地的结果如图2 所示。查询完以后 ,按任意键有可进入主界面.专业 .整理 .下载可编辑图 1图 2 (输入目的地的准确查询).专业 .整理 .下载可编辑4.顾客订票的功能模块。实现结果如图3 所示图 3 (订票成功 )5.顾客退票的功能模块在完成订票后 ,如果要退票 ,顾客可在在主界面中选择4 进行退票 ,此时通过调用函数back_ticket ()来完成 ,在此函数中 ,先通过searchNUM(number,LF)找到要办理航班的航班,继而通过修改订票人的链表和剩余票数来删除要退票的人的信息。具体操作如下所示.专业 .整理 .下载可编辑int back_ticket(int number,SqFlight &LF)/办理退票业务。实现结果如图4 所示图 4(退票成功 )5.顾客续票的功能模块在有待票客户的前提下,系统通过ask_passenger ()来完成待票人的补订,并将其加入到已定票人的序列中,具体操作如下int ask_passenger(flightnode *p,SqFlight LF).专业 .整理 .下载可编辑。具体实现的结果如以下所示图 5 是有待票人的情况 。.专业 .整理 .下载可编辑图 5 (没有足够的票 ,进入到待票的队列中 )图 6 为在有人退票的情况下进行的补票即在显示退票的情况下,即显示 “退票成功 ”后会出现待票人的一些信息,并询问是不是要购票 。 在 1.要2.不要的界面中 ,如果选择1,则系统再次运用函数bookup( )函数来完成订票 。 选择 2 则退出系统.专业 .整理 .下载可编辑图 6 (待票人再次订票成功的界面 )( 二)运行结果具体的运行结果以上图所示(即图1 6 所示)五、不足之处在系统中应该减少顾客输入的次数,比如在待票人在次订票时,只需要输入是不是要订票即可 ,而不要在输入一次客户的必要信息,由于水平有限 ,程序中可能存在不足之处 ,敬请老师批评和指导。.专业 .整理 .下载可编辑六、参考文献何钦铭,颜辉 。C 语言程序设计 M 。 杭州:浙江科技出版社 , 2004管理系统的源代码如下所示。.专业 .整理 .
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!