聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 航空订票系统代码

航空订票系统代码

时间:2019-12-20 15:34:37    下载该word文档

#include

#include

void FlightInsert(); //增加路线

void FlightDelete();//删除路线

void FlightLookup();//航班查询

void FlightRework();//航班路线修改

void FlightBuyticket();//买票

void FlightCancelticket();//取消订票

void Flightclean();//清空

void MainMenu();//主函数

void Display();//显示订票信息

typedef struct Customer //已定票乘客信息

{

char Name[10]; //姓名

int Amount; //定票数

int Level; //舱位等级

int SeatNum; //座位号

char FlightNum[10]; //所定航班号

struct Customer *next;

}Customer;

typedef struct Replace //侯补乘客信息

{

char Name[10]; //姓名e

int Amount; //定票数

int Level; //舱位等级

char FlightNum[10]; //所定航班号

struct Replace *next;

}Replace;

typedef struct Flight //航班路线信息

{

char From[10]; //起点站名

char Des[10]; //终点站名

char FlightNum[10]; //航班号

char PlaneNum[10]; //航班

char Week[20]; //飞机周日

int Ration; //乘员定额

int FreeTicket; //剩余票数

float Price[3]; //票价

int ReplacePas; //候补乘客数

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

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

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

}Flight,*PFlight;

int Ration=0; //乘客总数

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

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

Customer *Cusrear;

Replace *Reprear;

void MainMenu()

{

int i=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)

{

case 1:

FlightInsert();

break; //增加航班路线

case 2:

FlightLookup();

break; //查询航班路线

case 3:

FlightRework();

break; //修改航班路线

case 4:

FlightBuyticket();

break; //预订飞机票

case 5:

FlightCancelticket();

break; //退订飞机票

case 6:

Flightclean();

break; //清空系统

case 7:

Display();

break;

case 8:;break;

default:

cout<<"*提示:抱歉,请选择正确的操作!"<

cout<

cout<

break;

}

}

}

void FlightInsert() //航班录入

{

/*int i=2;

while(i!=1)

{*/

Flight *p;

p=new Flight;

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=new Replace;

p->CustName=new Customer;

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;

}*/

}

void FlightLookup() //查询航班号

{

Flight *p,*q;

char FlightNum[10];

p=head;

int i=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<

}

}

void FlightRework() //修改航班路线信息

{

int Customer_Number ;

Flight *p,*q;

char FlightNum[10];

int i=0;

int a=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)

{

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

cin>>q->FlightNum;break;

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

cin>>q->PlaneNum;break;

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

cin>>q->From;break;

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

cin>>q->Des;break;

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

cin>>q->Week;break;

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

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

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

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

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

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

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

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

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

case 10:a=0;

break;

default:cout<<"*提示:对不起,请选择正确的操作!"<

cout<

cout<

break;

}

}

}

}

void FlightBuyticket() //订票

{

int Ticket_Amount;

void Buyticket(PFlight ,int );

void Buyreplace(PFlight ,int ,int );

Flight *p,*q;

char Des[10];

int i=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

{

int n;

cout<<"*提示:抱歉!剩余票数小于定票数,是否需要列入候补名单?(【按1】是 【按2】否)"<

cin>>n;

Buyreplace(q,Ticket_Amount,n);

}

cout<

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

cin>>i;

}

}

}

}

void FlightCancelticket() //退票

{

void Buyticket(PFlight ,int );

Flight *p,*q;

Customer *h,*j;

char FlightNum[6];

char Customer_Name[10];

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

int i;

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;

delete j;

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=new Customer;

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(int i=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--;

delete rep;

}

}

}

break;

}

}

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

cout<

cin>>i;

}

}

void Flightclean()//清空

{

head->next=rear->next;

cout<<"*提示:系统已经清空!"<

cout<

}

void Buyticket(PFlight q,int Ticket_Amount) //买票

{

int n=Ticket_Amount;

Customer *Cus2;

Cus2=new Customer;

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

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

Cus2->Amount=Ticket_Amount;

cout<<"1.请输入姓名:"<

cin>>Cus2->Name;

cout<<"2.请输入购买票的类型:"<

cout<<"【按1】一等舱,【按2】二等舱,【按3】三等舱"<

cin>>Cus2->Level;

cout<<"*提示:订票成功!"<

cout<

cout<<"舱位等级:"<<" "<Level<

cout<<"座位号为:"<

for(int i=1;i<=Ticket_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-=Ticket_Amount;

}

void Buyreplace(PFlight q,int Ticket_Amount,int n) //进入候补队列

{

Replace *Rep2;

Rep2=new Replace;

if(n==1)

{

q->ReplacePas+=Ticket_Amount;

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

Rep2->Amount=Ticket_Amount;

cout<<"1.请输入姓名:"<

cin>>Rep2->Name;

cout<<"2.请输入购买票的类型:"<

cout<<"【按1】一等舱,【按2】二等舱,【按3】三等舱"<

cin>>Rep2->Level;

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

{

Reprear=q->ReplName;

Reprear->next=Rep2;

Reprear=Rep2;

Reprear->next=NULL;

}

else{

Reprear->next=Rep2;

Reprear=Rep2;

Reprear->next=NULL;

}

}

}

void Display()//显示订票信息

{

cout<<"*提示:抱歉,该项目还在开发!"<

cout<

int i;

cout<<"【按1】返回至主菜单"<

cin>>i;

while(i=1)

{

break;

}

/*Customer *h,*j;

char Customer_Name[10];

int i;

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

{

cout<<

}*/

//Customer *p;

//cout<<"已买票的乘客有:"<

//cout<

//cout<<"姓名:"<Name<<"航班号:"<FlightNum<<"订票数:"<Amount<

//cout<<"舱位等级:"<Level<<"座位号"<SeatNum;

//Flight *q;

//char FlightNum[10];

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

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

//cout<<"* 姓名: "<Name<

//cout<<"* 航班号: "<FlightNum<

//cout<<"* 飞机号: "<PlaneNum<

//cout<<"* 起点站: "<From<

//cout<<"* 目的地: "<Des<

//cout<<"* 飞机周日: "<Week<

//cout<<"* 舱位等级: "<Level<

}

******************************************************************************************************

#include "AirLineSystem.h"

#include

void main() //主程序

{

Cusrear=new Customer;

Reprear=new Replace;

head=rear=new Flight;

head->next=NULL;

MainMenu();

}

免费下载 Word文档免费下载: 航空订票系统代码

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服