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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

航空客运系统程序清单加报告.docx

1、航空客运系统程序清单 加报告课 程 设 计一、 题目分析从课程设计的题目要求可以知道,我们需要建立的是具有能对数据的插入, 删除 , 检索功能的软件。由于乘客的数量较大且不固定,因此选择用链表来保存乘客的基本信息:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量等等,由于预约人数无法预计,队列也应以链表作存储结构。所以我们建立一个可以插入和删除节点的链表,并能检索这个链表,在必要的时候将链表的内容保存到文件中。系统主要实现的操作和功能是:查询航线、订票功能、退票功能。要实现这些功能,首先要使程序能实现查找功能,在查找出到有效信息的前提之下,通过链表的赋值,更新信息和删除退票人信息

2、,满足客户的要求。二、设计过程(1)图1为程序总体流程图,首先直接调初始化函数,调用增加航班,查询航线,修改航线,删除航线,预定机票,退定机票,函数。调用命令模式函数无实参,进行命令模式函数时,输入查找信息:终点站,如果决定订票,则输入5进行订票,如果不订票则输入8退出;输入7清屏。如果以上操作输入有误,系统则输出提示:输入错误,请重新输入查询信息。图1 程序总体流程图(2)图2为初始化函数流程图,主要是对链表中数据域置空,对链表初始化。图2 初始化函数流程图 (3)图3为增加航线函数流程图,主要功能是把新航班信息写入新建的链表中,然后把新链表与储存航班的链表合并,得到新的航班信息,实现对新航

3、线的增加。 图3增加航线函数流程图(4)图4为查询航班函数流程图,先输入查找信息,然后判断此查找信息是否存在,如果存在,则输出查找信息,如果不存在,则退出。图4 查询航班流程图(5)图5为修改,删除航线流程图,判断是否存在要删除或修改的航班,若有则查找此航班进行修改或删除,若无则输出不存在此航班。图5 修改,删除航线流程图(6)图6为订票函数流程图,先输入目的地,找到与它的位置,若找不到则提示不存在此目的地,再判断飞往目的地的航班是否有余票,若有余票输出座位信息,没余票输出剩余票数小于定票数,选择是否排队进入候补队列。图6 定票函数流程图(7)图 7为退票函数流程图,先通过对退票人的基本信息进

4、行查找,判断是否存在此航班和是否存在此人订票信息,如果存在则进行退票。图7 退票函数(8)图8为排队候补函数流程图,用链表输出操查找出候补人员信息,查找航班函数图8排队候补函数流程图(9)图9为命令函数流程图,实现订票、退票、排队候补和查找信息等功能的总体操作。图9 命令函数二、 调试过程及实验结果1 调试过程编成后出现错误经过调试检查发现switch语句中漏写了break语句,Switch语句作为选择语句,在此程序中,要实现其选择执行的功能,在每个选择条件后面必须有break语句跟随,否则程序将运行错误,经检查漏洞后加以改正。2.实验结果经过编译连接后运行得到实验结果(1)图10为增加航线和

5、查询航线实验结果图10 增加 查询航线(2)图11为订票(订票数小于剩余的票数和大于剩余的票数两种情况)实验结果图11 定票(3)图12为退票实验结果图12 退票 (4)图13为修改航班和删除航线的实验结果图13修改和删除航班四、结论 此课程设计完成了对航线查询、承办订票业务、承办退票业务等功能的设计操作,并且为了插入和删除方便,运用链表做存储结构。此课程设计还包含了清屏功能以及退出功能。对程序在运行时输入错误操作的修改,提供了一定方便条件基本上能安全的运行,具备的功能符合题目的要求。用了文件的操作,是此程序的最大优点。程序写的还算简练,结构清晰,各个模块的分工和功能明确。经过两周的课程设计,

6、我认识到把课堂上老师讲的知识运用到实际操作中的重要性。我这次课程设计的题目是航空订票系统,在开始阶段,根本无从下手,后来通过查阅一些相关资料和老师的耐心讲解,最终成功完成整个程序的设计。通过这次课设我对C+语言中的结构体定义、链表等知识有了进一步的理解,对流程图的画法更加熟练,对程序的开发思路有了一定的理解,我想这在以后的学习和工作中都会有帮助的,更使我意识到了学习C+语言的重要性。五、程序清单:#include #include #include #include #include #include #define MAX 50#define NULL 0typedef struct Cus

7、tomer char Name10; int Amount; int Rank; int Seat_No; char Flight_No6; struct Customer *next;Customer;typedef struct Replace char Name10; int Amount; int Rank; char Flight_No6; struct Replace *next; Replace; typedef struct Flight char Des_Name10; char Flight_No6; char Plane_No6; char Week_Day; int C

8、ustomer_Amount; int Free_Amount; float Price3; int Replace_Amount; Replace *ReplName; Customer *CustName; struct Flight *next; Flight,*PFlight;int Customer_Amount=0; Flight *head; Flight *rear; Customer *Cusrear;Replace *Reprear;void main() /主程序 Cusrear=new Customer; Reprear=new Replace; head=rear=n

9、ew Flight; head-next=NULL; void FlightInsert(); void FlightDelete(); void FlightLookup(); void FlightRework(); void FlightBuyticket(); void FlightCancelticket(); void Flightclean(); char i=0; while (i!=8) cout*航空客运定票系统*endl; cout1、增加航线 5、预订机票endl; cout2、查询航线 6、退订机票endl; cout3、修改航线 7、清空系统endl; cout4、

10、删除航线 8、退出系统endl; cout*i; switch(i) case 1:FlightInsert();break; case 2:FlightLookup();break; case 3:FlightRework();break; case 4:FlightDelete();break; case 5:FlightBuyticket();break; case 6:FlightCancelticket();break; case 7:Flightclean();break; case 8:;break; default:couterrorn;break; void FlightIn

11、sert() Flight *p; p=new Flight; cout请输入终点站名:p-Des_Name; cout请输入航班号:p-Flight_No; cout请输入飞机号:p-Plane_No; cout请输入飞行周日:p-Week_Day; cout请输入乘员定额:p-Customer_Amount; p-Free_Amount=p-Customer_Amount; cout请输入舱位等级的价格:endl; cout头等舱价格p-Price0; cout普通舱价格p-Price1; cout经济舱价格p-Price2; p-ReplName=new Replace; p-CustN

12、ame=new Customer; p-CustName-next=NULL; p-ReplName-next=NULL; p-Replace_Amount=0; rear-next=p; rear=p; rear-next=NULL;void FlightDelete() Flight *p,*q; char Flight_No6; p=head; int i=0; while (i!=1) cout请输入需要删除的航班号:Flight_No; while (p-next&strcmp(p-next-Flight_No,Flight_No) p=p-next; q=p-next; if (q

13、!=NULL) if(q-next=NULL) /当删除rear所指向的结点 rear=p; p-next=p-next-next; delete q; else cout你所要删除的航班不存在endl; cout1、退出2、继续i; void FlightLookup() Flight *p,*q; char Flight_No6; p=head; int i=0; while (i!=1) cout请输入需要查询的航班号:Flight_No; while (p-next&strcmp(p-next-Flight_No,Flight_No) p=p-next; q=p-next; if (q

14、=NULL) cout对不起不存在此航班endl; else cout航班号:Flight_Noendl; cout飞机号:Plane_Noendl; cout目的地:Des_Nameendl; cout飞行周日:Week_Dayendl; cout成员定额:Customer_Amountendl; cout剩余票数:Free_Amountendl; cout候补乘客数:Replace_Amountendl; cout头等舱价格:Price0endl; cout普通舱价格:Price1endl; cout经济舱价格:Price2endl; cout1、返回主菜单 2、继续i; void Fli

15、ghtRework() int Customer_Number ; Flight *p,*q; char Flight_No6; char i=0; p=head; cout请输入需要修改的航班号:Flight_No; while (p-next&strcmp(p-next-Flight_No,Flight_No) p=p-next; q=p-next; if (q=NULL) cout对不起不存在此航班endl; else while(i!=9) cout*请输入需要修改的数据*endl; cout 1、航班号 2、飞机号 endl; cout 3、目的地 4、飞行周日 endl; cout

16、 5、成员定额 6、头等舱价格 endl; cout 7、普通舱价格 8、经济舱价格 endl; cout 9、退出 endl; cout*i; switch(i) case 1:cout请输入航班号:q-Flight_No;break; case 2:cout请输入飞机号:q-Plane_No;break; case 3:cout请输入目的地:q-Des_Name;break; case 4:cout请输入飞行周日:q-Week_Day;break; case 5:cout请输入乘员定额:Customer_Amount-q-Free_Amount; cinq-Customer_Amount;

17、q-Free_Amount=q-Customer_Amount-Customer_Number;break; case 6:cout请输入头等舱价格:q-Price0;break; case 7:cout请输入普通舱价格:q-Price1;break; case 8:cout请输入经济舱价格:q-Price2;break; case 9:break; default:couterrorn;break; void FlightBuyticket() int Ticket_Amount; void Buyticket(PFlight ,int ); void Buyreplace(PFlight

18、,int ,int ); Flight *p,*q; char Des_Name10; int i=2; while (i!=1) cout请输入目的地:Des_Name; p=head; while (p-next&strcmp(p-next-Des_Name,Des_Name) p=p-next; q=p-next; if (q=NULL) cout对不起不存在此航班endl; else while(i!=1) cout输入需要够买的票数Ticket_Amount; while(Ticket_Amount=0) cout请输入一个非零数:Ticket_Amount; if (Ticket_

19、AmountFree_Amount) Buyticket(q,Ticket_Amount); else int n; cout剩余票数小于定票数,是否需要列入候补名单?(1、是 2、否)n; Buyreplace(q,Ticket_Amount,n); cout1、返回主菜单 2、继续i; void FlightCancelticket() void Buyticket(PFlight ,int ); Flight *p,*q; Customer *h,*j; char Flight_No6; char Customer_Name10; int Replace1_Amount; int i;

20、while (i!=1) cout请输入需要删除的航班号:Flight_No; p=head; while (p-next&strcmp(p-next-Flight_No,Flight_No) p=p-next; q=p-next; if (q=NULL) cout对不起不存在此航班endl; else while (i!=2) cout请输入姓名:Customer_Name; h=q-CustName; while (h-next&strcmp(h-next-Name,Customer_Name) h=h-next; j=h-next; if(j=NULL) cout查无此人next=NUL

21、L) Cusrear=h; h-next=h-next-next; q-Free_Amount+=j-Amount; delete j; cout删除成功!ReplName-next!=NULL) Replace1_Amount=q-ReplName-next-Amount; if (Replace1_AmountFree_Amount) Replace *rep; rep=q-ReplName-next; Customer *Cus2; Cus2=new Customer; Cus2-Seat_No=q-Customer_Amount-q-Free_Amount+1; strcpy(Cus2

22、-Flight_No, q-Flight_No ); strcpy(Cus2-Name, rep-Name ); Cus2-Amount=rep-Amount; Cus2-Rank=rep-Rank; cout乘客Name已经成功买票 endl; cout座位号为:; for(int i=1;iAmount);i+) coutSeat_No+ ; coutCustName-next=NULL) Cusrear=q-CustName; Cusrear-next=Cus2; Cusrear=Cus2; Cusrear-next=NULL; else Cusrear-next=Cus2; Cusre

23、ar=Cus2; Cusrear-next=NULL; q-Free_Amount-=rep-Amount; q-ReplName-next=q-ReplName-next-next; q-Replace_Amount-; delete rep; cout2、退出姓名录入i; cout1、返回主菜单i; void Flightclean() head-next=rear-next; cout系统已经清空!Seat_No=q-Customer_Amount-q-Free_Amount+1; strcpy(Cus2-Flight_No, q-Flight_No ); Cus2-Amount=Tic

24、ket_Amount; cout请输入姓名:Cus2-Name; cout请输入舱位等级:Cus2-Rank; cout你的座位号为endl; for(int i=1;i=Ticket_Amount;i+) coutSeat_No+ ; coutCustName-next=NULL) Cusrear=q-CustName; Cusrear-next=Cus2; Cusrear=Cus2; Cusrear-next=NULL; else Cusrear-next=Cus2; Cusrear=Cus2; Cusrear-next=NULL; q-Free_Amount-=Ticket_Amount;void Buyreplace(PFlight q,int Ticket_Amount,int n) Replace *Rep2; Rep2=new Replace; if(n=1) q-Replace_Amount+=Ticket_Amount; strcpy(Rep2-Flight_No,q-Flight_No); Rep2-Amount=Ticket_Amount; cout请输入姓名:Rep2-Name; cout请输入舱位等级(1-3):Rep2

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

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