航空订票系统代码.docx

上传人:b****6 文档编号:7130150 上传时间:2023-01-21 格式:DOCX 页数:20 大小:19.09KB
下载 相关 举报
航空订票系统代码.docx_第1页
第1页 / 共20页
航空订票系统代码.docx_第2页
第2页 / 共20页
航空订票系统代码.docx_第3页
第3页 / 共20页
航空订票系统代码.docx_第4页
第4页 / 共20页
航空订票系统代码.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

航空订票系统代码.docx

《航空订票系统代码.docx》由会员分享,可在线阅读,更多相关《航空订票系统代码.docx(20页珍藏版)》请在冰豆网上搜索。

航空订票系统代码.docx

航空订票系统代码

#include

#include

voidFlightInsert();//增加路线

voidFlightDelete();//删除路线

voidFlightLookup();//航班查询

voidFlightRework();//航班路线修改

voidFlightBuyticket();//买票

voidFlightCancelticket();//取消订票

voidFlightclean();//清空

voidMainMenu();//主函数

voidDisplay();//显示订票信息

typedefstructCustomer//已定票乘客信息

{

charName[10];//姓名

intAmount;//定票数

intLevel;//舱位等级

intSeatNum;//座位号

charFlightNum[10];//所定航班号

structCustomer*next;

}Customer;

typedefstructReplace//侯补乘客信息

{

charName[10];//姓名e

intAmount;//定票数

intLevel;//舱位等级

charFlightNum[10];//所定航班号

structReplace*next;

}Replace;

typedefstructFlight//航班路线信息

{

charFrom[10];//起点站名

charDes[10];//终点站名

charFlightNum[10];//航班号

charPlaneNum[10];//航班

charWeek[20];//飞机周日

intRation;//乘员定额

intFreeTicket;//剩余票数

floatPrice[3];//票价

intReplacePas;//候补乘客数

Replace*ReplName;//该航班的候补乘客名单

Customer*CustName;//该航班的已定票乘客名单

structFlight*next;//指示下一航班路线结点

}Flight,*PFlight;

intRation=0;//乘客总数

Flight*head;//建立航班路线头结点

Flight*rear;//建立航班路尾结点

Customer*Cusrear;

Replace*Reprear;

voidMainMenu()

{

inti=0;

while(i!

=8)

{

cout<

cout<<"***************【欢迎使用航空订票系统】***************"<

cout<<""<

cout<<"***************【按1】增加航班路线***************"<

cout<<""<

cout<<"***************【按2】查询航班路线***************"<

cout<<""<

cout<<"***************【按3】修改航班路线***************"<

cout<<""<

cout<<"***************【按4】预订飞机票***************"<

cout<<""<

cout<<"***************【按5】退订飞机票***************"<

cout<<""<

cout<<"***************【按6】清空系统***************"<

cout<<""<

cout<<"***************【按7】已订票名单***************"<

cout<<""<

cout<<"***************【按8】退出系统***************"<

cout<<""<

cout<<"*提示:

当前为主菜单"<

cin>>i;

switch(i)

{

case1:

FlightInsert();

break;//增加航班路线

case2:

FlightLookup();

break;//查询航班路线

case3:

FlightRework();

break;//修改航班路线

case4:

FlightBuyticket();

break;//预订飞机票

case5:

FlightCancelticket();

break;//退订飞机票

case6:

Flightclean();

break;//清空系统

case7:

Display();

break;

case8:

;break;

default:

cout<<"*提示:

抱歉,请选择正确的操作!

"<

cout<

cout<

break;

}

}

}

voidFlightInsert()//航班录入

{

/*inti=2;

while(i!

=1)

{*/

Flight*p;

p=newFlight;

cout<<"****正在设定新的路线****"<

cout<

cout<<"1.请设定起点站名:

"<

cin>>p->From;

cout<<"2.请设定终点站名:

"<

cin>>p->Des;

cout<<"3.请设定航班号:

"<

cin>>p->FlightNum;

cout<<"4.请设定飞机号:

"<

cin>>p->PlaneNum;

cout<<"5.请设定飞行周日:

"<

cin>>p->Week;

cout<<"6.请设定乘员定额:

"<

cin>>p->Ration;

p->FreeTicket=p->Ration;

cout<<"7.请设定一等舱的价格:

"<

cin>>p->Price[0];

cout<<"8.请设定二等舱的价格:

"<

cin>>p->Price[1];

cout<<"9.请设定三等舱的价格:

"<

cin>>p->Price[2];

p->ReplName=newReplace;

p->CustName=newCustomer;

p->CustName->next=NULL;

p->ReplName->next=NULL;

p->ReplacePas=0;

rear->next=p;

rear=p;

rear->next=NULL;

cout<<"设置成功!

"<

cout<<"***********************"<

cout<

/*cout<<"【按1】返回主菜单【按2】继续"<

cin>>i;

}*/

}

voidFlightLookup()//查询航班号

{

Flight*p,*q;

charFlightNum[10];

p=head;

inti=0;

while(i!

=1)

{

cout<<"请输入需要查询的航班号:

"<

cin>>FlightNum;

while(p->next&&strcmp(p->next->FlightNum,FlightNum))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<"*提示:

对不起,不存在此航班号,请核实您的信息!

"<

}

else

{

cout<<"以下是您所查的车次信息:

"<

cout<<"************************"<

cout<<"*1.航班号:

"<FlightNum<

cout<<"*2.飞机号:

"<PlaneNum<

cout<<"*3.起点站:

"<From<

cout<<"*4.目的地:

"<Des<

cout<<"*5.飞机周日:

"<Week<

cout<<"*6.成员定额:

"<Ration<

cout<<"*7.剩余票数:

"<FreeTicket<<"张"<

cout<<"*8.候补乘客数:

"<ReplacePas<<"人"<

cout<<"*9.一等舱的价格:

"<Price[0]<<"元"<

cout<<"*10.二等舱的价格:

"<Price[1]<<"元"<

cout<<"*11.三等舱的价格:

"<Price[2]<<"元"<

cout<<"************************"<

}

cout<<"您还需要其他的操作么?

"<

cout<

cout<<"【按1】返回主菜单【按2】继续操作"<

cin>>i;

cout<<"************************"<

cout<

}

}

voidFlightRework()//修改航班路线信息

{

intCustomer_Number;

Flight*p,*q;

charFlightNum[10];

inti=0;

inta=1;

p=head;

cout<<"请输入需要修改的航班:

"<

cin>>FlightNum;

while(p->next&&strcmp(p->next->FlightNum,FlightNum))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<"*提示:

对不起,不存在此航班,请核实您的信息!

"<

}

else

{

while(a)

{

cout<<"*******【请输入需要修改的数据】*******"<

cout<<""<

cout<<"【按1】航班号"<

cout<<""<

cout<<"【按2】飞机号"<

cout<<""<

cout<<"【按3】起始站"<

cout<<""<

cout<<"【按4】目的地"<

cout<<""<

cout<<"【按5】每周出站日期"<

cout<<""<

cout<<"【按6】成员定额"<

cout<<""<

cout<<"【按7】一等舱的价格"<

cout<<""<

cout<<"【按8】二等舱的价格"<

cout<<""<

cout<<"【按9】三等舱的价格"<

cout<<""<

cout<<"【按10】退出"<

cout<<""<

cout<<"**************************************"<

cin>>i;

switch(i)

{

case1:

cout<<"1.请输入航班号:

"<

cin>>q->FlightNum;break;

case2:

cout<<"2.请输入飞机号:

"<

cin>>q->PlaneNum;break;

case3:

cout<<"3.请输入起始站:

"<

cin>>q->From;break;

case4:

cout<<"4.请输入目的地:

"<

cin>>q->Des;break;

case5:

cout<<"5.请输入飞机周日:

"<

cin>>q->Week;break;

case6:

cout<<"6.请输入乘员定额:

"<

Customer_Number=q->Ration-q->FreeTicket;

cin>>q->Ration;q->FreeTicket=q->Ration-Customer_Number;break;

case7:

cout<<"7.请输入一等舱的价格:

"<

cin>>q->Price[0];break;

case8:

cout<<"8.请输入二等舱的价格:

"<

cin>>q->Price[1];break;

case9:

cout<<"9.请输入三等舱的价格:

"<

cin>>q->Price[2];break;

case10:

a=0;

break;

default:

cout<<"*提示:

对不起,请选择正确的操作!

"<

cout<

cout<

break;

}

}

}

}

voidFlightBuyticket()//订票

{

intTicket_Amount;

voidBuyticket(PFlight,int);

voidBuyreplace(PFlight,int,int);

Flight*p,*q;

charDes[10];

inti=2;

while(i!

=1)

{

cout<<"请输入目的地:

"<

cin>>Des;

p=head;

while(p->next&&strcmp(p->next->Des,Des))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<"*提示:

对不起,不存在此航班,请核实您的信息!

"<

}

else

{

while(i!

=1)

{

cout<<"请输入需要购买的票数:

"<

cin>>Ticket_Amount;

while(Ticket_Amount==0&&Ticket_Amount<0)

{

cout<<"*提示:

对不起,请输入正确的票数!

"<

cout<

cout<<"请输入需要够买的票数:

"<

cin>>Ticket_Amount;

}

if(Ticket_Amount<=q->FreeTicket)

{

Buyticket(q,Ticket_Amount);

}

else

{

intn;

cout<<"*提示:

抱歉!

剩余票数小于定票数,是否需要列入候补名单?

(【按1】是【按2】否)"<

cin>>n;

Buyreplace(q,Ticket_Amount,n);

}

cout<

cout<<"【按1】返回主菜单【按2】继续"<

cin>>i;

}

}

}

}

voidFlightCancelticket()//退票

{

voidBuyticket(PFlight,int);

Flight*p,*q;

Customer*h,*j;

charFlightNum[6];

charCustomer_Name[10];

intReplace1_Amount;//候补第一个人的定票数

inti;

cout<<"**********************************"<

while(i!

=1)

{

cout<<"请输入需要退定的航班号:

"<

cin>>FlightNum;

p=head;

while(p->next&&strcmp(p->next->FlightNum,FlightNum))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<"*提示:

对不起,不存在此航班,请核实您的信息!

"<

}

else

{

while(i!

=2)

{

cout<<"请输入所查姓名:

"<

cin>>Customer_Name;

h=q->CustName;

while(h->next&&strcmp(h->next->Name,Customer_Name))

{

h=h->next;

}

j=h->next;

if(j==NULL)

{

cout<<"*提示:

对不起,查无此人,请核实您的信息!

"<

cout<

}

else

{

if(j->next==NULL)

{//当删除最后一个结点

Cusrear=h;

}

h->next=h->next->next;

q->FreeTicket+=j->Amount;

deletej;

cout<<"*提示:

退票成功!

"<

if(q->ReplName->next!

=NULL)

{

Replace1_Amount=q->ReplName->next->Amount;

if(Replace1_Amount<=q->FreeTicket)

{

Replace*rep;

rep=q->ReplName->next;

Customer*Cus2;

Cus2=newCustomer;

Cus2->SeatNum=q->Ration-q->FreeTicket+1;

strcpy(Cus2->FlightNum,q->FlightNum);

strcpy(Cus2->Name,rep->Name);

Cus2->Amount=rep->Amount;

Cus2->Level=rep->Level;

cout<<"*提示:

"<

cout<

cout<<"候补乘客:

"<Name<<" 已经成功买票!

"<

cout<

cout<<"航班号:

"<FlightNum<

cout<<"舱位等级为:

"<Level<<"(1一等舱,2二等舱,3三等舱)"<

cout<<"座位号为:

"<

for(inti=1;i<=(rep->Amount);i++)

{

cout<<"No."<SeatNum++<<"";

}

cout<

if(q->CustName->next==NULL)

{

Cusrear=q->CustName;

Cusrear->next=Cus2;

Cusrear=Cus2;

Cusrear->next=NULL;

}

else

{

Cusrear->next=Cus2;

Cusrear=Cus2;

Cusrear->next=NULL;

}

q->FreeTicket-=rep->Amount;

q->ReplName->next=q->ReplName->next->next;

q->ReplacePas--;

deleterep;

}

}

}

break;

}

}

cout<<"【按1】返回主菜单,或按任意键返回【继续退票操作】!

"<

cout<

cin>>i;

}

}

voidFlightclean()//清空

{

head->next=rear->next;

cout<<"*提示:

系统已经清空!

"<

cout<

}

voidBuyticket(PFlightq,intTicket_Amount)//买票

{

intn=Ticket_Amount;

Customer*Cus2;

Cus2=newCustomer;

Cus2->SeatNum=q->Ration-q->FreeTicket+1;

strcpy(Cus2->FlightNu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

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

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