航空客运系统程序清单加报告Word格式.docx
- 文档编号:22724030
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:26
- 大小:313.37KB
航空客运系统程序清单加报告Word格式.docx
《航空客运系统程序清单加报告Word格式.docx》由会员分享,可在线阅读,更多相关《航空客运系统程序清单加报告Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
图9命令函数
二、调试过程及实验结果
1.调试过程
编成后出现错误经过调试检查发现switch语句中漏写了break语句,Switch语句作为选择语句,在此程序中,要实现其选择执行的功能,在每个选择条件后面必须有break语句跟随,否则程序将运行错误,经检查漏洞后加以改正。
2.实验结果
经过编译连接后运行得到实验结果
(1)图10为增加航线和查询航线实验结果
图10增加查询航线
(2)图11为订票(订票数小于剩余的票数和大于剩余的票数两种情况)实验结果
图11定票
(3)图12为退票实验结果
图12退票
(4)图13为修改航班和删除航线的实验结果
图13修改和删除航班
四、结论
此课程设计完成了对航线查询、承办订票业务、承办退票业务等功能的设计操作,并且为了插入和删除方便,运用链表做存储结构。
此课程设计还包含了清屏功能以及退出功能。
对程序在运行时输入错误操作的修改,提供了一定方便条件基本上能安全的运行,具备的功能符合题目的要求。
用了文件的操作,是此程序的最大优点。
程序写的还算简练,结构清晰,各个模块的分工和功能明确。
经过两周的课程设计,我认识到把课堂上老师讲的知识运用到实际操作中的重要性。
我这次课程设计的题目是航空订票系统,在开始阶段,根本无从下手,后来通过查阅一些相关资料和老师的耐心讲解,最终成功完成整个程序的设计。
通过这次课设我对C++语言中的结构体定义、链表等知识有了进一步的理解,对流程图的画法更加熟练,对程序的开发思路有了一定的理解,我想这在以后的学习和工作中都会有帮助的,更使我意识到了学习C++语言的重要性。
五、程序清单:
#include<
iostream.h>
process.h>
string.h>
conio.h>
stdio.h>
iomanip.h>
#defineMAX50
#defineNULL0
typedefstructCustomer
{
charName[10];
intAmount;
intRank;
intSeat_No;
charFlight_No[6];
structCustomer*next;
}Customer;
typedefstructReplace
structReplace*next;
}Replace;
typedefstructFlight
charDes_Name[10];
charPlane_No[6];
charWeek_Day;
intCustomer_Amount;
intFree_Amount;
floatPrice[3];
intReplace_Amount;
Replace*ReplName;
Customer*CustName;
structFlight*next;
}Flight,*PFlight;
intCustomer_Amount=0;
Flight*head;
Flight*rear;
Customer*Cusrear;
Replace*Reprear;
voidmain()//主程序
Cusrear=newCustomer;
Reprear=newReplace;
head=rear=newFlight;
head->
next=NULL;
voidFlightInsert();
voidFlightDelete();
voidFlightLookup();
voidFlightRework();
voidFlightBuyticket();
voidFlightCancelticket();
voidFlightclean();
chari='
0'
;
while(i!
='
8'
){
cout<
<
"
***********航空客运定票系统***********"
endl;
1、增加航线5、预订机票"
2、查询航线6、退订机票"
3、修改航线7、清空系统"
4、删除航线8、退出系统"
******************************************"
cin>
>
i;
switch(i)
{case'
1'
:
FlightInsert();
break;
case'
2'
FlightLookup();
3'
FlightRework();
4'
FlightDelete();
5'
FlightBuyticket();
6'
FlightCancelticket();
7'
Flightclean();
default:
cout<
error\n"
}
}
voidFlightInsert()
Flight*p;
p=newFlight;
请输入终点站名:
p->
Des_Name;
请输入航班号:
Flight_No;
请输入飞机号:
Plane_No;
请输入飞行周日:
Week_Day;
请输入乘员定额:
Customer_Amount;
p->
Free_Amount=p->
请输入舱位等级的价格:
头等舱价格"
Price[0];
普通舱价格"
Price[1];
经济舱价格"
Price[2];
ReplName=newReplace;
CustName=newCustomer;
CustName->
ReplName->
Replace_Amount=0;
rear->
next=p;
rear=p;
voidFlightDelete()
Flight*p,*q;
p=head;
inti=0;
=1){
请输入需要删除的航班号:
while(p->
next&
&
strcmp(p->
next->
Flight_No,Flight_No)){
p=p->
next;
}
q=p->
if(q!
=NULL){
if(q->
next==NULL){//当删除rear所指向的结点
next=p->
deleteq;
else{
你所要删除的航班不存在"
1、退出2、继续"
voidFlightLookup()
请输入需要查询的航班号:
if(q==NULL){
对不起不存在此航班"
航班号:
q->
Flight_No<
飞机号:
Plane_No<
目的地:
Des_Name<
飞行周日:
Week_Day<
成员定额:
Customer_Amount<
剩余票数:
Free_Amount<
候补乘客数:
Replace_Amount<
头等舱价格:
Price[0]<
普通舱价格:
Price[1]<
经济舱价格:
Price[2]<
1、返回主菜单2、继续"
voidFlightRework()
intCustomer_Number;
请输入需要修改的航班号:
while(i!
9'
*****请输入需要修改的数据*****"
1、航班号2、飞机号"
3、目的地4、飞行周日"
5、成员定额6、头等舱价格"
7、普通舱价格8、经济舱价格"
9、退出"
******************************"
请输入目的地:
Customer_Number=q->
Customer_Amount-q->
Free_Amount;
Free_Amount=q->
Customer_Amount-Customer_Number;
请输入头等舱价格:
请输入普通舱价格:
请输入经济舱价格:
voidFlightBuyticket()
intTicket_Amount;
voidBuyticket(PFlight,int);
voidBuyreplace(PFlight,int,int);
inti=2;
Des_Name,Des_Name)){
输入需要够买的票数"
Ticket_Amount;
while(Ticket_Amount==0){
请输入一个非零数:
if(Ticket_Amount<
=q->
Free_Amount){
Buyticket(q,Ticket_Amount);
intn;
剩余票数小于定票数,是否需要列入候补名单?
(1、是2、否)"
n;
Buyreplace(q,Ticket_Amount,n);
voidFlightCancelticket()
{voidBuyticket(PFlight,int);
Customer*h,*j;
charCustomer_Name[10];
intReplace1_Amount;
inti;
if(q==NULL)
{cout<
=2){
请输入姓名:
Customer_Name;
h=q->
CustName;
while(h->
strcmp(h->
Name,Customer_Name)){
h=h->
j=h->
if(j==NULL){
查无此人"
if(j->
next==NULL){
Cusrear=h;
h->
next=h->
q->
Free_Amount+=j->
Amount;
deletej;
删除成功!
next!
Replace1_Amount=q->
if(Replace1_Amount<
Replace*rep;
rep=q->
Customer*Cus2;
Cus2=newCustomer;
Cus2->
Seat_No=q->
Free_Amount+1;
strcpy(Cus2->
Flight_No,q->
Flight_No);
Name,rep->
Name);
Amount=rep->
Rank=rep->
Rank;
乘客"
rep->
Name<
已经成功买票"
座位号为:
for(inti=1;
i<
=(rep->
Amount);
i++)
{cout<
Cus2->
Seat_No++<
"
if(q->
next==NULL){
Cusrear=q->
Cusrear->
next=Cus2;
Cusrear=Cus2;
Free_Amount-=rep->
next=q->
Replace_Amount--;
deleterep;
2、退出姓名录入"
1、返回主菜单"
voidFlightclean()
next=rear->
系统已经清空!
voidBuyticket(PFlightq,intTicket_Amount)
intn=Ticket_Amount;
Amount=Ticket_Amount;
Name;
请输入舱位等级:
你的座位号为"
=Ticket_Amount;
{
Free_Amount-=Ticket_Amount;
voidBuyreplace(PFlightq,intTicket_Amount,intn)
Replace*Rep2;
Rep2=newReplace;
if(n==1){
Replace_Amount+=Ticket_Amount;
strcpy(Rep2->
Flight_No,q->
Flight_No);
Rep2->
Rep2->
请输入舱位等级(1-3):
Rep2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 航空客运系统程序清单 加报告 航空 客运 系统 程序 清单 报告