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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

航空售票系统c语言学位论文.docx

1、航空售票系统c语言学位论文提供全套毕业设计,欢迎咨询C语言程序设计课程设计报告 -航空售票系统 目录第1章 功能需求描述 21.1 需求分析 21.2 功能列表与说明 31.3 操作界面及操作说明 4第2章 设计描述 72.1 任务分解说明 72.2 数据结构设计说明 72.3 函数接口即函数调用关系 9第3章 算法描述 103.2 按航班号查询函数 113.3 按飞机号查询函数 123.4 按飞行日期查询函数 133.5 按航班终点查询函数 143.7 显示航班客户信息函数 173.8 管理员操作函数 193.9 订票系统函数 203.10排队订票系统函数 223.11 退票系统函数 233

2、.12 航班查询函数 25第4章 开发过程描述 274.1 源代码 274.2 编译过程错误分析 414.3 调试错误分析 424.4运行结果及说明 42第5章 设计心得体会 46第1章 功能需求描述1.1 需求分析 随着科技的发展和人们生活水平的日益提高,人们在不断追求更加快捷的交通方式以满足人们快节奏的生活方式,航空系统在交通系统中已扮演着一个越来越重要的角色。然而,交通的快捷离不开信息的快捷。随着计算机的发展和普及,人们的生活方式发生了巨大的改变,计算机在代替和延伸脑力劳动方面发挥着越来越重要的作用。在交通系统中,有大量的数据需要被处理,而这些工作有人来完成几乎是不可能的,而交给计算机处

3、理,就可以很好地满足我们的需求。 航空售票管理系统可以根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。1.2 功能列表与说明*欢迎进入航空售票系统*显示所有航线= 1查询航线信息= 2订票业务 = 3退票业务 = 4管理系统 = 5退出系统 = 0*清除屏幕信息= 9请按上面指引操作: 系统共设有5个功能并以菜单方式工作,上图为功能列表图。功能分别包括以下5个方面:(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);(2)查询航线

4、:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行、最近一天航班的日期和余票额;(3)订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户班里订票手续,输出作为好;若已满或者余票少于订票额,则需要重新询问客户要求。若需要,可等级排队侯补;(4)退票业务:根据客户提供的情况(航班),为客户办理退票手续,然后查询该航班是否有人排队侯补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队侯补的客户。(5)管理员系统:通过密码认证后可查看所有航班的订票情况,可根据需要增加新的航线。1.3 操作界面及操作说明(1)显

5、示所有航线 终点站 航班号 飞机号 飞行日期 余票量 北京 001 2586934 1 120 上海 002 2682154 2 120 广州 003 4558934 3 120 天津 004 3667894 4 120 系统面向用户显示所有航线信息,为用户提供各个航班的信息,供用户参考。(2)查询航线信息请输入查询航班的方式:航班号-1终点站-2飞行日期-3 用户根据需要可选择三种查询方式,输入“1”,按航班号查询,系统提示输入要查询的航班号;输入“2”,按终点站查询,系统提示输入要查询的终点站名;输入“3”,按飞行日期查询,系统提示输入要查询的飞行日期。(3)订票业务请输入查询航班的方式:

6、航班号-1终点站-2飞行日期-33请输入飞行日期 1 终点站 航班号 飞机号 飞行日期 余票量 北京 001 2586934 1 120请输入订票数量:请输入舱位等级(1/2/3):请输入您的名字:订票成功,座位号为11 用户根据所查询的信息,选择相应的航班,系统提示输入订票数量,舱位等级以及用户姓名,最后系统自动提示“订票成功”。(4)退票业务请输入航班号:请输入您的名字:退票信息:姓名/终点站/票数确认要退票?()是(1)否(0)1退票成功 用户在退票时,按系统提示输入航班号,用户姓名,系统则会自动显示出用户要退的票的信息,然后选择是否退票,选择“1”退票,选择“2”不退票。(5)管理员操

7、作界面请输入管理员密码:(houkaiyang)请选择操作查询航班订票情况(1)增加新航班(2)1请输入新航班号:管理员在进入内部管理界面时,根据提示输入密码,进入之后,选择“1”,查询航班订票情况,选择“2”,增加新航班。第2章 设计描述2.1 任务分解说明 (1)分析系统中链表的设计,用来记录航班信息。(2)根据问题描述,设计链表;(3)完成系统中各个信息的定义;(4)完成系统的应用模块;(5)功能调试;(6)完成系统设计报告。 2.2 数据结构设计说明航空售票系统 退出系统退票业务查询航线信息显示所有航线管理系统订票业务 本系统中“航线”只用一条单链表记录,故采用全局变量,减少参数的传递

8、。(1)、定义“航线”类型 ADT Lairline 数据对象:D=ai|ai航线链表集,i=1,2,3,n,n=0 数据关系:R1=| ai-1,aiD,i=1,2,3,n 基本操作: Lairline search_line() /按航班号查找航班 Lairline search_plant() /按飞机号查找航班 Lairline search_day() /按飞行日期查找航班 Lairline search_addr() /按航班终点查找航班 void guide() /主菜单界面 void insert_line() /插入新航班 void print_customer(airlin

9、e *p) /显示航班客户信息 void admin() /进入管理员操作系统 void book() /订票系统 void waited(airline *p) /排队订票系统 void refund() /退票系统 void search() /航班查询系统 void InitLine() /初始化航线信息 void printline() /显示所有航班信息 ADT Lairline(2)、主程序 void main() 初始化; do 接受命令; 处理命令(调用相应函数);while(“命令”!=“退出”);(3)、调用关系函数模块主程序模块 2.3 函数接口即函数调用关系main()

10、guide()admin()refund()book()search()printline()waited(p)search_line()search_addr()search_day()search_plant()printcustomer()p)printcustomer(p) 第3章 算法描述3.1 主函数 主程序流程图,如图31开始flag=1主菜单界面初始化航线gatchar 7flag=06清除屏幕4退票业务5管理界面3订票业务2查询航线1显示航线 flag 真 假结束 图 31 3.2 按航班号查询函数 按航班号查询函数流程图,如图32 开始char a5 airline *p

11、P=Lnext输入航班号 ap 假 真!strcmp(a,pline_num 假 p=pnext 结束 图 323.3 按飞机号查询函数按飞机号查询函数流程图,如图33开始char a8 airline *p P=Lnext输入飞机号 ap 假!strcmp(a,pplant_num) 假 真p=pnext结束图 333.4 按飞行日期查询函数按飞行日期查询函数流程图,如图34开始 int aairline *p P=Lnext输入飞行日期ap 假 真a=pday 假 真p=pnext结束图 343.5 按航班终点查询函数按航班终点查询函数流程图,如图35开始char a20 airline

12、*p P=Lnext输入航班终点ap 假!strcmp(a,pend_addr) 假 真p=pnext结束 图 35 3.6 插入新航班函数流程图插入新航班函数流程图,如图36开始airline *p,*qflag=1flag 真q=(Lairline)malloc(sizeof(airline) 输入航班号p=Lpnext 假strcmp(pnextline_num, qline_num)=0 真 假p=pnext Pnext&strcmp(pnextline_num,qline_num)=0 假 真输入飞行日期,飞机号, 终点站航班已存在,请重新输入结束图 363.7 显示航班客户信息函数

13、显示航班客户信息函数流程图,如图37开始 customer *cpbook 假 真c=pbooked输入已订票客户信息c 假 真输入cnum,cname c=cnext输出“暂时没有客户订票”pwait 假 c=pwait 真输出排队订票客户信息c 假 真 输出cnum,cname输出“暂时没有客户订票”c=cnext结束图 373.8 管理员操作函数 管理员操作函数流程图,如图38开始int i, flag, tagchar a20, airline *p输入管理员密码i=0inumleftcstnext=pbookedpbooked=cstpleft=pleftcstnum订票成功,座位号

14、为:余票不足没有该航班结束 图 393.10排队订票系统函数排队订票函数流程图,如图310开始int flagcustomer *q,*q0,*hairline *p!pwaitpleft0&qnext 真 假qnextnumleft 真 假您正在排队订票,现在有票,是否订 真 flag 假 真q0=qnext,qnext=qnextnextq0next=pbooked,pbooked=q0pleft=pleftq0num订票成功q=qnextpwait=hnext结束 图 310 3.11 退票系统函数退票系统函数流程图,如图311开始int flag,char a20airline *pc

15、ustomer *c,*c1 p=search_line()c=pbooked !p 真 假没有该航班输入您的姓名!pbookedname 真没有找到您的信息假 假输出退票信息flag 假!strcmp(a,cnextname) 真pbooked=pbookednextpleft=pleft+cnumfree(c)真 真 !cnext 假 真对不起,没有找到您的信息退票成功返回主界面结束 图 3113.12 航班查询函数 航班查询函数流程图,如图312开始int i, flag=0 airline *p输入查询航班方式!flag 假 真i2p=search_plant()flag=1其他操作错

16、误,重新输入4p=search_addr()flag=13p=search_day()flag=11p=search_line()flag=1p 假 真没有该航班输出航班信息结束 图312第4章 开发过程描述4.1 源代码#include#include#include#include#define PR printf#define SC scanftypedef struct customer /客户信息 char name20; /客户姓名 int num; /订票量 int level; /舱位等级 customer *next;customer,*Lcustomer;typedef s

17、truct airline /航线信息 char end_addr20; /航线终点 char line_num5; /航班号 char plant_num8; /飞机号 int day; /飞行日期 int total; /定员 int left; /剩余票数 customer *booked; /已定客户信息 customer *wait; /排队等候订票信息 airline *next;airline,*Lairline;airline *L; /将航班信息定义为全局变量,减少参数传递Lairline search_line() /按航班号查找航班 char a5; airline *p

18、; p=L-next; PR(请输入航班号); SC(%s,a); for(;p;p=p-next) if(!strcmp(a,p-line_num) break; return p;Lairline search_plant() /按飞机号查找航班 char a8; airline *p; p=L-next; PR(请输入飞机号); SC(%s,a); for(;p;p=p-next) if(!strcmp(a,p-plant_num) break; return p;Lairline search_day() /按飞行日期查找航班 int a; airline *p; p=L-next;

19、PR(请输入飞行日期); SC(%d,&a); for(;p;p=p-next) if(a=p-day) break; return p;Lairline search_addr() /按航班终点查找航班 char a20; airline *p; p=L-next; PR(请输入航班终点); SC(%s,a); for(;p;p=p-next) if(!strcmp(a,p-end_addr) break; return p;void guide() /主菜单界面 PR(*欢迎进入航空售票系统*n); PR(tt显示所有航线= 1n); PR(tt查询航线信息= 2n); PR(tt订票业务

20、 = 3n); PR(tt退票业务 = 4n); PR(tt管理系统 = 5n); PR(tt退出系统 = 0n); PR(*n); PR(tt清除屏幕信息= 9nn); PR(请按上面指引操作:t);void insert_line() /插入新航班 airline *p,*q; int flag=1; for(;flag;) q=(Lairline)malloc(sizeof(airline); PR(请输入航班号:); SC(%s,q-line_num); for(p=L;p-next;p=p-next) if(strcmp(p-next-line_num,q-line_num)=0)

21、break; if(p-next&strcmp(p-next-line_num,q-line_num)=0) PR(航班已存在,请重新输入n); continue; PR(请输入飞行日期:); SC(%d,&q-day); PR(请输入飞机号:); SC(%s,q-plant_num); PR(请输入终点站:); SC(%s,q-end_addr); q-total=120; q-left=120; q-booked=NULL; q-wait=NULL; q-next=p-next; p-next=q; PR(增加航班成功,是否继续增加n继续(1)n返回(0)); SC(%d,&flag);

22、void print_customer(airline *p) /显示航班客户信息 customer *c; if(p-booked) c=p-booked; PR(已定票客户信息n票数t/t客户姓名n); for(;c;c=c-next) PR(%5dt/t%sn,c-num,c-name); PR(nn); else PR(暂时没有客户订票nn); if(p-wait) c=p-wait; PR(排队订票客户信息n票数t/t客户姓名n); for(;c;c=c-next) PR(%5dt/t%sn,c-num,c-name); PR(nn); else PR(暂时没有客户排队订票nn);void admin() /进入管理员操作系统 int i,flag,tag; char a20; airline *p; PR(请输入管理员密码:(houkaiyang); for(i=0;i1n); PR(终点站-2n); PR(飞行日期-3n); for(;!flag;) SC(%d,&i); switch(i) case 1: p=search_line();flag=1;break; case 2: p=se

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

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