📄 main.cpp
字号:
/*---------------------------------------------
实现航班旅客订票系统的主函数(main.cpp)
-------------------------------------------*/
#include "Queuefunction.h"
#include "process.h"
void main()
{
int n; //座位号总数
int count=0; //计数器
int choice,flag=1,find=0; //初始化标致位
char string[20];
char str[20];
LiQueue*q;
QNode*t;
InitQueue(q); //初始化一个链队
printf("欢迎来到本次航班系统!\n\n");
printf("请您输入本次航班的座位号数:");
scanf("%d",&n); //自定义航班座位数
printf("\n1:订票 2:查询 3:退票 4:退出\n\n");
while(flag==1)
{
printf("请根据您的需要作出选择:");
scanf("%d",&choice);
flag=0;
switch(choice)
{
case 1: //实现订票功能
if(count<n&&find==0)
{
printf("请输入您的姓名: ");
scanf("%s",str);
strcpy(string,str);
count++;
InQueue(q,string,count);
printf("订票成功!您的座位号为: %d号\n",count);flag=1;
}
else
{
if(find==1) //如果有人退票
{
printf("请输入您的姓名: ");
scanf("%s",str);
t=q->front;
while(t!=null) //从队头到对尾寻找退票所在的位置
{
char string[20]={"canceled ticket"};
strcmp(t->name,string);
if(strcmp(t->name,string)==0)//找到退票所在位置
{
strcpy(t->name,str); //将此退票转订给他人
printf("订票成功!您的座位号为: %d号\n",t->num);
find=0;
break;
}
else t=t->next;
}
}
else printf("对不起,座位已满!订票不成功!\n\n");
}
flag=1;
break;
case 2:if(QueueEmpty(q)==null) //实现查询功能
printf("没有人订票!\n");
else
{ t=q->front;
printf("订票的人有:\n");
while(t!=null)
{
printf("%d: %s\n",t->num,t->name);
t=t->next;
}
}
flag=1;
break;
case 3: //实现退票功能
if(QueueEmpty(q)==null)
printf("没有人订票!\n");
else
{printf("请输入您的姓名: ");
scanf("%s",str);
t=q->front;
while(t!=null) //从对头到对尾找到退票人的姓名
{
strcmp(str,t->name);
if(strcmp(str,t->name)==0)//若找到了
{
char string[20]={"canceled ticket"};//将此位置的票表示为退票
strcpy(t->name,string);
printf("退票成功!\n");find=1;
}
else
t=t->next;
}
}
if(find==0) printf("查无此人!\n");
flag=1;
break;
case 4:exit(2);break;//退出此系统
default: ;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -