亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cpp1.cpp

?? 航空售票系統 查詢班次
?? CPP
字號:
/*
程序采用鏈表和順序表的混合設計

功能:可以輸入姓名查詢自己的航班信息
      可以訂票,退票
      可以增加航班(設置了密碼)
幾個函數功能的描述:
void init(flightmange* fl,char fn[][20],int fnum[],int tic[] ) 初始化航班信息
void printall(flightmange* fl,int *length)顯示所有航班信息
void welcome()顯示主界面
int findflight(flightmange *fl,int n,int *length)查詢是否存在此航班號
void printselect(flightmange *fl,int i,int n)顯示當前航班信息
void booktic(flightmange *fl,int *length)訂票
flightdetail* findname(flightdetail *m,char na[]) 搜索指定用戶名
void returntic(flightmange *fl,int *length)退票
void search(flightmange *fl,int *length)搜索指定用戶的航班信息
void create(flightmange *fl,int *length)在原有的航班基礎上添加新航班

*/
#define N 5
#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
#include "string.h"
#include "ctype.h"
#include "conio.h"

typedef struct flightdetail
{
   char customer[10];
   int num;
   struct flightdetail *next;

}flightdetail;


typedef struct flightmange
{
//   char name[20];
   char date[20];
   char staAddr[20];
   char endAddr[20];
   int booked;
   int ticket;
   int flightnum;
   char people[5][20];
   flightdetail *next;
}flightmange;

void init(flightmange* fl,char staAdd[][20],char endAdd[][20],char date[][20],int fnum[],int tic[] )
{
   int i;
   flightdetail *fd;
   for(i=0;i<N;i++)
   {  fd=(flightdetail *)malloc(sizeof(flightdetail));
 //     strcpy((fl[i]).name,fn[i]);
   strcpy((fl[i]).staAddr,staAdd[i]);
    strcpy((fl[i]).endAddr,endAdd[i]);
	  strcpy((fl[i]).date,date[i]);
      (fl[i]).booked=0;
      (fl[i]).ticket=tic[i];
      (fl[i]).flightnum=fnum[i];
      (fl[i]).next=fd;
      fd->next=NULL;
	  for(int kk=0;kk<5;kk++)
		(fl[i]).people[kk][0]='\0';
   }
}
void printall(flightmange* fl,int *length)
{
  int i;
    printf("\n\t\t\t     所 有 航 班 信 息\n\n");
    printf("\t航班號    起點站  終點站  日期    乘員定額  已售票數  剩余票數\n\n");
  for(i=0;i<*length;i++)
  {	
    printf("\t%-6d",(fl[i]).flightnum);
	printf("   %-7s",(fl[i]).staAddr);	
	printf("   %-7s",(fl[i]).endAddr);
	printf("   %-6s",(fl[i]).date);
    printf("   %-8d",(fl[i]).ticket);
    printf("   %-8d",(fl[i]).booked);
    printf("   %-6d",(fl[i]).ticket-(fl[i]).booked);
    printf("\n");
  }
  printf("\n\n\t按任意鍵返回主菜單\n");
  getch();

}
void welcome()
{
	   printf("\n\n\n\t\t\t* * * * * * * * * *\n");
   printf("\t\t\t飛 機 售 退 票 系 統\n");
      printf("\t\t\t* * * * * * * * * *\n\n");
   printf("\t\t    1. 增 加 航 班(需要密碼)\n");
   printf("\t\t    2. 訂   票\n");
   printf("\t\t    3. 退   票\n");
   printf("\t\t    4. 顯 示 所 有 航 班 信 息\n");
   printf("\t\t    5. 顯 示 我 的 航 班 信 息\n");
   printf("\t\t    6. 退   出\n");
//   printf("\n\nPlease Enter a Num to Select an Item\n\n");

}  

 
int findflight(flightmange *fl,int n,int *length)
{
  int i;
  for(i=0;i<*length;i++)
    if (fl[i].flightnum==n) return i;
  return 999;

}
void printselect(flightmange *fl,int i,int n)
{

    printf("\n\t\t\t%d 航 線 信 息\n\n",n);
    printf("   航班號  起點站  終點站 日  期  乘員定額  已售票數  剩余票數\n\n");
    printf("   %-5d",(fl[i]).flightnum);
	printf("   %-5s",(fl[i]).staAddr);	
	printf("   %-5s",(fl[i]).endAddr);
	printf("   %-6s",(fl[i]).date);
    printf("   %-8d",(fl[i]).ticket);
    printf("   %-8d",(fl[i]).booked);
    printf("   %-6d",(fl[i]).ticket-(fl[i]).booked);
    printf("\n");
}

void booktic(flightmange *fl,int *length)
{
   int i=0,n=0,t=999,nn=0;
   char na[10],key;
   flightdetail *p,*q;
   printf("\n\t\t\t* * * * * * * * * *");
   printf("\n\t\t\t  訂 票 系 統 ");
   printf("\n\t\t\t* * * * * * * * * *\n\n");
   while(1)
   {
     printf("\t請輸入航班號:");
     scanf("%d",&n);
	 t=findflight(fl,n,length);
     if(t==999)  {
                printf("\n沒有找到您所要的航班號,請重新輸入:");
                getch();
 //               system("cls");
//				printf("\n\t\t\t訂 票 系 統\n\n");
                continue;
                    }

      printselect(fl,t,n);
	        printf("\n\t請輸入您的姓名和所需的票數: ");
      printf("\n\t姓名:");
      scanf("%s",na);
      printf("\n\t票數:");
      scanf("%d",&nn);
      if(nn==0)
      {
		  printf("\n\t出錯:所輸入的票數不正確\n");
       getch();
       system("cls");
		printf("\n\t\t訂 票 系 統\n\n");
       continue;

      }
      if(nn<=(fl[t].ticket-fl[t].booked)&&n>=1)
      {
       q=fl[t].next->next;
       p=(flightdetail *)malloc(sizeof(flightdetail));
       strcpy(p->customer,na);
       p->num=nn;
       p->next=q;
       fl[t].next->next=p;
       fl[t].booked+=nn;
       printf("\n\t%s,恭喜您訂票成功!\n",na);
       getch();
       return;
      }

      else
      {
         printf("\n\tSorry,沒有足夠的機票\n 按<Y> 重新輸入 按<W>候票 按<N>返回\n");
         do
         {
           key=getch();

         }while(key!='Y'&&key!='y'&&key!='n'&&key!='N'&&key!='W'&&key!='w');
      }
       if(key=='Y'||key=='y')
       {
                   system("cls");
                printf("\n\t\t\t\t 訂 票 系 統\n\n");
                continue;
       }
       
	   else if(key=='W'||key=='w')//候票
	   {
		   for(int kk=0;kk<5&&fl[t].people[kk][0]!='\0';kk++)
			   ;
		   strcpy(fl[t].people[kk],na);     
       printf("\n\t%s,已排入候票隊列,請耐心等候!\n",na);
       getch();
       return;
		   
	   }
	   
	   else if(key=='N'||key=='n')
	   {
		   return;
	   }
       else {
         printf("\n\tsorry,訂票失敗!");
         return;
       }
   }
}  


flightdetail* findname(flightdetail *m,char na[])
{
   flightdetail *p=m;
   m=m->next;
   while(m!=NULL)
   {
     if(strcmp(m->customer,na)==0) return p;
     p=m;
     m=m->next;
   }
   return NULL;
}

void returntic(flightmange *fl,int *length)
{
   int i=0,n=0,t=999,nn=0;
   char na[10],key;
   flightdetail *p,*q;
   printf("\n\t\t\t* * * * * * * * * *");
   printf("\n\t\t\t  退 票 系 統 ");
   printf("\n\t\t\t* * * * * * * * * *\n\n");
     while(1)
   {
     printf("\nStep1.請輸入航班號:");

     scanf("%d",&n);
     t=findflight(fl,n,length);
     if(t==999)
     {
         printf("\n航班號未找到,按<Y>重新輸入 或 按<N>返回");

         do
         {
           key=getch();

         }while(key!='Y'&&key!='y'&&key!='n'&&key!='N');

       if(key=='n'||key=='N')
       {
//          printf("\n\tOperation Failed ,Thanks for Using");
          getch();
          return;
       }
       else{
             system("cls");
             printf("\n\t\t\t退 票 系 統\n\n");
             continue;
            }
     }
 //           printf("\nCorrect Flight Num!\n\n");
            printf("Step2.姓名:");
            scanf("%s",na);
            p=findname(fl[t].next,na);
         if(p==NULL)
        {
            printf("\n沒有找到您的信息!\n 按<Y>重新輸入 按<N>返回");
            do
            {
            key=getch();
            }while(key!='Y'&&key!='y'&&key!='n'&&key!='N');

       if(key=='n'||key=='N')
       {
          printf("\n\t退票失敗!\n");
          getch();
          return;
       }
       else{
             system("cls");
             printf("\n\t\t\t退 票 系 統\n\n");
             continue;
            }
     }
     printf("\n\t航班號   起始站  終點站   姓  名   所訂票數 ");
     printf("\n\t %-5d   %-10s %-10s %-10s %-10d",fl[t].flightnum,fl[t].staAddr,fl[t].endAddr,p->next->customer,p->next->num);
     printf("\nStep3.需要退的票數:");
     scanf("%d",&nn);
     q=p->next;
     if(nn>q->num||nn<1)
     {
       printf("\n所輸入的票數不對\n\t按 <Y> 重新輸入 按 <N>返回");
           do
            {
            key=getch();
            }while(key!='Y'&&key!='y'&&key!='n'&&key!='N');

       if(key=='n'||key=='N')
       {
          printf("\n\t退票失敗!\n");
          getch();
          return;
       }
       else{
             system("cls");
             printf("\n\t\t\t訂 票 系 統\n");
             continue;
            }
     }
      q->num-=nn;
      printf("\n%s,您已經成功退了 %d 張票 \n \n\t按任意鍵返回",q->customer,nn);
     if(q->num==0)
     {
      p->next=q->next;
      free(q);
     }
     fl[t].booked-=nn;
     getch();


//補票
	int Rest=fl[t].ticket-fl[t].booked;
	int ticketnum=0;
//	char ch;
	 for(int kk=0;kk<5 && fl[t].people[kk][0]!='\0' && Rest>0;kk++)
	 {
		 strcpy(na,fl[t].people[kk]);
		 printf("\n\t %s 有票了!",na);
		 printf("請輸入所需的票數(1~%d),按0放棄訂票\n",Rest);
		 
		 scanf("%d",&ticketnum);
		 if(ticketnum==0)
			 continue;
		 int flag=1;
		 while(flag)
		 {
			if(ticketnum<=Rest && ticketnum>0)
			{
			flag=0;
			 Rest-=ticketnum;
			 q=fl[t].next->next;
			 p=(flightdetail *)malloc(sizeof(flightdetail));
			 strcpy(p->customer,na);
			 p->num=ticketnum;
			 p->next=q;
			 fl[t].next->next=p;
			 fl[t].booked+=nn;
			 printf("\n%s,恭喜您訂票成功!\n",na);			 
			 getch();	
			 break;
			}
			else
			{	
				printf("\nsorry:您所輸入的票數不正確,請重新輸入\n");
				scanf("%d",&ticketnum);			
				if(ticketnum==0)
				{
					flag=0;
					break;
				}
			}
		 }	 
	 }
	 
  break;
  }  
}
void search(flightmange *fl,int *length)
{  int ff=0,i;
   char na[10];
   flightdetail *p;
   printf("Enter Your Name:");
    scanf("%s",na);
   printf("\n\n\t航班號    起點站   終點站  時間   姓名     票數\n\n");
    for(i=0;i<*length;i++)
   {
	p=fl[i].next->next;
//	int zhou=(p==NULL);
     while(p)
     {
       if(strcmp(p->customer,na)==0)
          {           
           printf("\t%-10d",(fl[i]).flightnum);
		    printf(" %-10s",(fl[i]).staAddr);
			printf(" %-10s",(fl[i]).endAddr);
			printf(" %-10s",(fl[i]).date);
           printf(" %-10s",p->customer);
           printf(" %-4d\n",p->num);
           ff++;
        }
      p=p->next;
     }
   }
   if(!ff) printf("\n\t沒有找到您需要的航班");
   getch();

}  

 


void create(flightmange *fl,int *length)
{ 
	char sa[20],ea[20],date[20],password[]="123456",pa[7],key;
  int m,n,i;
  flightdetail *p;
  printf("\n\t輸入密碼:");
  while(1)
  {
      for(i=0;i<7;i++)
  {
     pa[i]=getch();
     if(pa[i]=='\r')//回車符
	 {
		pa[i]='\0';
		break; 
	 }
     printf("*");
  }
  if(strcmp(password,pa)==0)
  {
      printf("\n\n\t密碼正確!\n");break;
  }
  else
  {
      printf("\n\t密碼錯誤\n\t按<Y>重新輸入 按<N>返回\n");
  do
            {
            key=getch();
            }while(key!='Y'&&key!='y'&&key!='n'&&key!='N');

       if(key=='n'||key=='N')
       {
 //         printf("\n\t操作失敗");
          getch();
          return;
       }
       else{
 //            system("cls");
             printf("\t輸入密碼:");
             continue;
            }

  }
  }
//system("cls");
  printf("\n\t輸入航班號:");
  scanf("%d",&n);
    printf("\n\t輸入起點站:");
  scanf("%s",sa);
    printf("\n\t輸入終點站:");
  scanf("%s",ea);
  printf("\n\t輸入日期:");
  scanf("%s",date);
  printf("\n\t輸入票數:");
  scanf("%d",&m);
  strcpy(fl[*length].staAddr,sa);
    strcpy(fl[*length].endAddr,ea);
  fl[*length].flightnum=n;
  strcpy(fl[*length].date,date);
  fl[*length].ticket=m;
  fl[*length].booked=0;
  p=(flightdetail *)malloc(sizeof(flightdetail));
  p->next=NULL;
  fl[*length].next=p;
  printf("\n");
  printselect(fl,*length,n);
	printf("\n\t按任意鍵返回\n");
  (*length)++;
  getch();
}

void main()
{ 
	char sa[N][20]={"杭州","杭州","杭州","上海","杭州"};
	char ea[N][20]={"北京","北京","武漢","北京","天津"};
	char date[N][20]={"12.31","1.2","1.3","1.5","1.7"};
   int fnum[N]={1001,1001,1002,1003,1004},tic[N]={11,42,32,34,12};
   char key;
   flightmange *fl;
   int size=50,length=N;
   fl=(flightmange *)malloc(size*sizeof(flightmange));
   init(fl,sa,ea,date,fnum,tic) ;
   system("cls");
 /*  printf("\t\t\t* * * * * * * * * *\n");
   printf("\n\t\t民航售票系統\n\n\n");
   printf("\t\t\t* * * * * * * * * *\n");

   printf("\nInfo:This Programe was Compiled With Visual C++,\n     And Has Been Tested On TurboC2.0");
   getch();
   printf("\nInitialize Success!\nNow Press Any Key to Continue");
   getch();
   system("cls");
   */
   welcome();
   while((key=getch())!='6')
   {
      switch(key)
      {   case '1' :system("cls");create(fl,&length);system("cls");welcome();break;
          case '2' :system("cls");booktic(fl,&length);system("cls");welcome();break;
          case '3' :system("cls");returntic(fl,&length);system("cls");welcome();break;
          case '4' :system("cls");printall(fl,&length);system("cls");welcome();break;
          case '5' :system("cls");search(fl,&length);system("cls");welcome();break;
		 	  
          default :;
      }
   }
}
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线观看一区二区| 成人av在线网| 久久99精品一区二区三区三区| 一区二区三区高清在线| 亚洲福利一二三区| 日韩av一区二区三区四区| 美日韩一区二区| 成人听书哪个软件好| 91麻豆国产香蕉久久精品| 日本道精品一区二区三区| 欧美一级日韩不卡播放免费| 欧美成人综合网站| 亚洲欧美日韩久久精品| 日韩av高清在线观看| av资源网一区| 欧美成人伊人久久综合网| 中文字幕人成不卡一区| 日韩有码一区二区三区| 高清国产午夜精品久久久久久| 色综合久久中文字幕| 欧美精品一区二区三区蜜臀 | 中文字幕一区二| 久久精品国产亚洲高清剧情介绍| 国产福利一区二区| 欧美精品自拍偷拍| 亚洲免费在线视频一区 二区| 久久99国产精品久久99| 欧美日韩亚洲国产综合| 亚洲精品综合在线| 国产98色在线|日韩| 欧美成人bangbros| 五月天丁香久久| 欧美日韩综合在线| 亚洲精品菠萝久久久久久久| 高清在线观看日韩| 国产一本一道久久香蕉| 丝瓜av网站精品一区二区| 日韩国产精品久久| 欧美老肥妇做.爰bbww视频| 亚洲免费观看高清完整版在线观看熊 | 精品国精品国产尤物美女| 日韩精品乱码av一区二区| 欧美日本一区二区三区四区| 一区二区三区.www| 3atv在线一区二区三区| 日本中文一区二区三区| 欧美成人艳星乳罩| 亚洲成av人片在线观看| 一区二区三区美女| 欧美日韩亚洲丝袜制服| 日韩精品国产精品| 欧美日韩精品综合在线| 精品无人码麻豆乱码1区2区 | 亚洲国产毛片aaaaa无费看| 欧美专区亚洲专区| 精品亚洲国内自在自线福利| 久久久久久久久伊人| 99久久久久久| 九色porny丨国产精品| 日韩理论片网站| 日韩欧美一级精品久久| 91美女蜜桃在线| 国产在线精品免费av| 亚洲一区二区三区中文字幕 | 久久精品二区亚洲w码| 中文字幕不卡在线播放| 欧美一区二区三区电影| 91国产福利在线| 国产精一品亚洲二区在线视频| 一区二区三区蜜桃网| 欧美国产成人精品| 日韩欧美的一区| 欧美日韩卡一卡二| 99精品国产热久久91蜜凸| 国产福利精品导航| 视频一区视频二区在线观看| 亚洲欧美aⅴ...| 中文字幕一区二区三中文字幕| 欧美va在线播放| 日韩三区在线观看| 欧美一级黄色录像| 日韩精品自拍偷拍| 精品少妇一区二区三区| 日韩视频中午一区| 日韩美女主播在线视频一区二区三区 | 色呦呦日韩精品| 日本韩国精品在线| 欧美日韩国产不卡| 在线电影国产精品| 精品精品国产高清a毛片牛牛| 精品国产亚洲在线| 久久精品亚洲麻豆av一区二区| 久久久综合激的五月天| 久久精品一区四区| 洋洋成人永久网站入口| 亚洲第一电影网| 国产不卡视频在线观看| 91免费小视频| 日韩一区二区三区电影在线观看| 日韩午夜三级在线| 亚洲男人天堂av| 精品亚洲国产成人av制服丝袜| 国产美女精品人人做人人爽| 91亚洲精品久久久蜜桃网站 | 免费成人在线网站| 成人一区在线观看| 日韩欧美精品在线视频| 亚洲日本韩国一区| 国产福利一区在线| 8v天堂国产在线一区二区| 中文字幕免费不卡在线| 久久99久久99精品免视看婷婷 | 亚洲国产精品一区二区www| 精品一区免费av| 欧美色爱综合网| 成人欧美一区二区三区黑人麻豆| 久久午夜国产精品| 久久久精品免费免费| 精品国偷自产国产一区| 亚洲亚洲人成综合网络| av网站免费线看精品| 亚洲国产高清不卡| 国产精品原创巨作av| 久久久久久麻豆| 久久超碰97人人做人人爱| 欧美精选在线播放| 亚洲一卡二卡三卡四卡| 欧美在线一区二区三区| 亚洲精品久久久蜜桃| 一本色道a无线码一区v| 一区二区免费看| 在线亚洲免费视频| 一区二区三区在线影院| 欧美综合亚洲图片综合区| 亚洲综合色在线| 欧美日韩三级视频| 蜜臀av一级做a爰片久久| 日韩欧美一级二级| 成人午夜看片网址| 一区二区三区日本| 欧美老女人第四色| 国产精品亚洲一区二区三区在线| 中文字幕国产一区| 欧美特级限制片免费在线观看| 亚洲第一狼人社区| 久久精品人人做人人综合| 成人精品一区二区三区中文字幕| 最新国产成人在线观看| 欧美一区二区精品在线| 99久久精品免费精品国产| 日韩国产欧美在线观看| 国产婷婷色一区二区三区| 精品视频一区三区九区| 国产精品综合久久| 午夜视频一区二区| 国产精品伦一区| 久久先锋影音av鲁色资源| 精品视频在线视频| 成人av在线电影| 国内不卡的二区三区中文字幕| 亚洲电影在线播放| 亚洲三级在线免费观看| 欧美精品一区二区三区久久久 | 精品久久人人做人人爱| 在线区一区二视频| 色噜噜狠狠色综合中国| 成人av电影在线| 丁香激情综合五月| 国产 日韩 欧美大片| 国产成人小视频| 成人av在线网| 99精品视频一区| 色av成人天堂桃色av| 色哟哟精品一区| 欧美日韩一区二区三区在线 | 《视频一区视频二区| 国产农村妇女毛片精品久久麻豆| 久久天堂av综合合色蜜桃网| 精品免费视频一区二区| 国产日韩欧美综合一区| 欧美国产精品一区二区三区| 国产精品高清亚洲| 一区二区三区免费网站| 亚洲午夜在线观看视频在线| 免费看欧美女人艹b| 国产精品亚洲第一| 色素色在线综合| 日韩午夜激情av| 国产精品美女久久久久久| 亚洲一区欧美一区| 国产精品一级二级三级| 99精品视频在线免费观看| 欧美日韩三级一区二区| 精品久久久久久久人人人人传媒 | 91精品福利在线| 欧美一区二区美女| 一区二区三区免费网站| 国产一本一道久久香蕉| 欧美日韩高清在线播放| 亚洲乱码一区二区三区在线观看|