⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 旅客订票航班系统
💻 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 + -