📄
字号:
#include <iostream.h>
#include <string.h>
#define MAX_CUS 10 //一架飞机最多可容纳乘客数
struct ticket{ //一张飞机票包括的信息
char plant_number;
char plant_date[10];
char adress[20];
char gus_name[20];
char idnumber[20];
int tick_number;
ticket *next;
};
void start();
void addcus(ticket *head); //定票
void findcus(ticket *head); //查找
void cutcus(ticket *head); //退票
void leftticket(ticket *head); //查询剩余票
void main()
{
char choose;
ticket *head;
head = new ticket;
head->next = NULL;
start();
while(1)
{ //选择服务
cout<<"请选择您需要的服务:1、定票 2、查票 3、退票 4、退出系统"<<endl;
cin>>choose;
switch (choose)
{
case '1':addcus(head);break;
case '2':findcus(head);break;
case '3':cutcus(head);break;
case '4':cout<<"谢谢您使用航空售票系统!再见"<<endl;return;
}
}
}
void start()
{
cout<<"*****************************************"<<endl;
cout<<"*** ***"<<endl;
cout<<"*** 欢迎您进入航空售票系统 ***"<<endl;
cout<<"*** ***"<<endl;
cout<<"*****************************************"<<endl;
}
void addcus(ticket *head) //定票
{
ticket *p;
p = new ticket;
char p_num;
cout<<"请输入您需要预定的飞机航班号(A-D):";
cin>>p_num;
p->plant_number = p_num;
char p_adress[20];
cout<<"请输入您的目的地:";
cin>>p_adress;
strcpy(p->adress, p_adress);
char p_data[10];
cout<<"请输入你预定的日期(一—七):";
cin>>p_data;
strcpy(p->plant_date, p_data);
leftticket(head);
p->next = head->next;
head->next = p;
int p_number;
cout<<endl;
cout<<"请输入您预定的飞机座位号:";
cin>>p_number;
p->tick_number = p_number;
char p_name[20];
cout<<"请输入您的姓名:";
cin>>p_name;
strcpy(p->gus_name, p_name);
char p_idnumber[20];
cout<<"请输入您的身份证号码:";
cin>>p_idnumber;
strcpy(p->idnumber, p_idnumber);
cout<<"定票成功!"<<endl<<endl<<endl<<endl;
}
void cutcus(ticket *head) //退票
{
ticket *p , *q;
p = head->next;
q = head;
char p_num, g_name[20];
cout<<"请输入需要退的票的航班号(A-D):";
cin>>p_num;
cout<<"请输入您的姓名:";
cin>>g_name;
while(1)
{
if(p->plant_number != p_num)
{
p = p->next;
q = q->next;
}
else if(strcmp(p->gus_name, g_name) != 0)
{
p = p->next;
q = q->next;
}
else
{
q = p->next;
delete p;
cout<<"退票成功!"<<endl<<endl<<endl<<endl;
return;
}
}
}
void findcus(ticket *head) //查询
{
char p_number;
int t_number;
char name[20];
int i;
while(1)
{
cout<<"根据票号查乘客请按1,根据乘客名查票号请按2:";
cin>>i;
//根据飞机票信息查询乘客名
if(i == 1)
{
cout<<"请输入飞机票的航班号(A-B):";
cin>>p_number;
cout<<"请输入飞机票的座位号:";
cin>>t_number;
while(head->next != NULL)
{
if(head->next->plant_number != p_number || head->next->tick_number != t_number)
{
head = head->next;
}
else
{
cout<<"该票的乘客名为:"<<head->next->gus_name<<endl<<endl<<endl<<endl;
break;
}
}
return;
}
//根据乘客名查询飞机票信息
else if(i == 2)
{
cout<<"请输入乘客名:";
cin>>name;
while(head->next != NULL)
{
if(strcmp(name, head->next->gus_name) != 0)
{
head = head->next;
}
else
{
cout<<"该乘客的飞机票的航班号为:"<<head->next->plant_number;
cout<<"座位号为:"<<head->next->tick_number<<endl<<endl<<endl<<endl;
break;
}
}
return;
}
else
cout<<"输入有误!请重新输入!"<<endl;
}
}
void leftticket(ticket *head) //查询剩余飞机票
{
int value[MAX_CUS] = {0};
while(head->next != NULL)
{
head = head->next;
value[head->tick_number-1] = 1;
}
cout<<"剩余的票的座位号为:";
for(int i = 0; i <= MAX_CUS; i ++)
{
if(value[i] == 0)
cout<<i+1<<" ";
}
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -