欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      飛機售票系統(tǒng)源代碼5則范文

      時間:2019-05-14 03:13:41下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《飛機售票系統(tǒng)源代碼》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《飛機售票系統(tǒng)源代碼》。

      第一篇:飛機售票系統(tǒng)源代碼

      #include #include #include #include #define MAXSIZE 3 /*定義航線量的最大值*/

      typedef struct wat_ros { char name[10];/*姓名*/ int req_amt;/*訂票量*/ struct wat_ros *next;}qnode,*qptr;

      typedef struct pqueue { qptr front;/*等候替補客戶名單域的頭指針*/ qptr rear;/*等候替補客戶名單域的屬指針*/ }linkqueue;

      typedef struct ord_ros { char name[10];/*客戶姓名*/ int ord_amt;/*訂票量*/ int grade;/*艙位等級*/ struct ord_ros *next;}linklist;

      struct airline { char ter_name[10];/*終點站名 */ char air_num[10];/*航班號*/ char plane_num[10];/*飛機號*/ char date[7];/*飛行日期(星期幾)*/ int tkt_amt;/*乘員定額*/ int tkt_sur;/*余票量*/ linklist *order;/*乘員名單域,指向乘員名單鏈表的頭指針*/ linkqueue wait;/*等候替補的客戶名單域,分別指向排隊等候名單隊頭隊尾的指針*/ }lineinfo;struct airline *start;struct airline air[MAXSIZE]={{“beijing”,“1”,“B8571”,“SUN”,3,1}, {“shanghai”,“2”,“S1002”,“MON”,2,5}, {“l(fā)ondon”,“3”,“L1003”,“FRI”,1,3}};;

      void display(struct airline *info)/*打印每條航線的基本信息*/ {printf(“%8st%3st%st%4stt%3dt%10dn”,info->ter_name,info->air_num,info->plane_num,info->date,info->tkt_amt,info->tkt_sur);}

      void list()/*打印全部航線信息*/ { struct airline *info;int i=0;info=start;printf(“終點站名t航班號t飛機號t飛行日期t乘員定額t余票量n”);while(i

      void search()/*根據(jù)客戶提出的終點站名輸出航線信息*/ { struct airline *info,*find();char name[10];int i=0;info=start;printf(“請輸入終點站名:”);scanf(“%s”,name);while(iter_name))break;info++;i++;} if(i>=MAXSIZE)printf(“對不起,該航線未找到!n”);else { printf(“終點站名t航班號t飛機號t飛行日期t乘員定額t余票量n”);display(info);} }

      struct airline *find()/*根據(jù)系統(tǒng)提出的航班號查詢并以指針形式返回*/ { struct airline *info;char number[10];int i=0;info=start;printf(“請輸入航班號:”);scanf(“%s”,number);while(iair_num))return info;info++;i++;} printf(“對不起,該航線末找到!n”);return NULL;}

      void prtlink()/*打印訂票乘員名單域的客戶名單信息*/ { linklist *p;struct airline *info;info=find();p=info->order;if(p!=NULL){ printf(“客戶姓名 訂票數(shù)額 艙位等級n”);while(p){ printf(“%stt%dt%dn”,p->name,p->ord_amt,p->grade);p=p->next;} } else printf(“該航線沒有客戶信息!n”);}

      linklist *insertlink(linklist *head,int amount,char name[],int grade)/*增加訂票乘員名單域的客戶信息*/ { linklist *p1,*new1;p1=head;new1=(linklist *)malloc(sizeof(linklist));if(!new1){printf(“nOut of memory!n”);return NULL;} strcpy(new1->name,name);new1->ord_amt=amount;new1->grade=grade;new1->next=NULL;if(head==NULL)/*若原無訂票客戶信息*/ {head=new1;new1->next=NULL;} else head=new1;new1->next=p1;return head;}

      linkqueue appendqueue(linkqueue q,char name[],int amount)/*增加排隊等候的客戶名單域*/ { qptr new1;new1=(qptr)malloc(sizeof(qnode));strcpy(new1->name,name);new1->req_amt=amount;new1->next=NULL;if(q.front==NULL)/*若原排隊等候客戶名單域為空*/ q.front=new1;else q.rear->next=new1;q.rear=new1;return q;}

      void order()/*辦理訂票業(yè)務(wù)*/ { struct airline *info;int amount,grade;char name[10];info=start;if(!(info=find()))return;/*根據(jù)客戶提供的航班號進行查詢,如為空,退出該模塊*/ printf(“請輸入你訂票所需要的數(shù)量:”);scanf(“%d”,&amount);if(amount>info->tkt_amt)/*若客戶訂票額超過乘員定票總額,退出*/ { printf(“n對不起,您輸入的票的數(shù)量已經(jīng)超過乘員定額!”);return;} if(amount<=info->tkt_sur)/*若客戶訂票額末超過余票量,訂票成功并等記信息*/ { int i;printf(“請輸入您的姓名(訂票客戶):”);scanf(“%s”,name);printf(“請輸入%s票的艙位等級:”,name);scanf(“%d”,&grade);info->order=insertlink(info->order,amount,name,grade);/*在訂票乘員名單域中添加客戶信息*/ for(i=0;i

      號是:%dn”,name,info->tkt_amt-info->tkt_sur+i+1);info->tkt_sur-=amount;/*該航線的余票量應(yīng)減掉該客戶的訂票量*/ printf(“n祝您乘坐愉快!n”);} else /*若滿員或余票額少于訂票額,詢問客戶是否需要進行排隊等候*/ { char r;printf(“n已經(jīng)沒有更多的票,您需要排隊等候嗎?(Y/N)”);r=getch();printf(“%c”,r);if(r=='Y'||r=='y'){ printf(“n請輸入您的姓名(排隊訂票客戶):”);scanf(“%s”,name);info->wait=appendqueue(info->wait,name,amount);/*在排隊等候乘員名單域中添加客戶信息*/ printf(“n注冊成功!n”);} else printf(“n歡迎您下次再次訂購!n”);} }

      void return_tkt()/*退票模塊*/ { struct airline *info;qnode *t,*back,*f,*r;int grade;linklist *p1,*p2,*head;char cusname[10];if(!(info=find()))return;/*調(diào)用查詢函數(shù),根據(jù)客戶提供的航線進行搜索*/ head=info->order;p1=head;printf(“請輸入你的姓名(退票客戶):”);scanf(“%s”,cusname);while(p1!=NULL){/*根據(jù)客戶提供的姓名到訂票客戶名單域進行查詢*/ if(!strcmp(cusname,p1->name))break;p2=p1;p1=p1->next;} if(p1==NULL){ printf(“對不起,你沒有訂過票!n”);return;}/*若未找到,退出本模塊*/ else {/*若信息查詢成功,刪除訂票客戶名單域中的信息*/ if(p1==head)head=p1->next;else p2->next=p1->next;info->tkt_sur+=p1->ord_amt;grade=p1->grade;printf(“%s成功退票!n”,p1->name);free(p1);}

      info->order=head;/*重新將航線名單域指向訂票單鏈表的頭指針 */ f=(info->wait).front;/*f指向排隊等候名單隊列的頭結(jié)點*/ r=(info->wait).rear;/*r指向排隊等候名單隊列的尾結(jié)點*/ t=f;/*t為當(dāng)前滿點條件的排隊候補名單域*/ while(t){ if(info->tkt_sur=info->wait.front->req_amt){/*若滿足條件者為頭結(jié)點*/ int i;info->wait.front=t->next;printf(“%s訂票成功!n”,t->name);for(i=0;ireq_amt;i++)/*輸出座位號*/ printf(“%s的座位號是:%dn”,t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;

      info->order=insertlink(info->order,t->req_amt,t->name,grade);/*插入到訂票客戶名單鏈表中*/ free(t);break;} back=t;t=t->next;if((info->tkt_sur)>=(t->req_amt)&&t!=NULL)/*若滿足條件者不為頭結(jié)點*/ { int i;back->next=t->next;printf(“%s訂票成功!n”,t->name);for(i=0;ireq_amt;i++)/*輸出座位號*/ printf(“<%s>'s is:%dn”,t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade);/*

      seat

      number 插入到訂票客戶名單鏈表中*/ free(t);break;} if(f==r)break;} }

      void sort_tkt(){/*按剩余票數(shù)排序*/ int j;struct airline t,*info,*p,*q;

      p=info=air;for(p=info;(p+1)->tkt_sur;p++){

      } printf(“終點站名t航班號t飛機號t飛行日期t乘員定額t余票量if(p->tkt_surtkt_sur){

      } t=*p;*p=*q;*q=t;for(q=p+1;q->tkt_sur;q++)n”);for(j=0;j

      int menu_select()/*菜單界面*/ { int c;char s[20];printf(“ntt航空客運訂票系統(tǒng)n”);printf(“******************************************n”);printf(“ 1.瀏覽航線信息n”);printf(“ 2.瀏覽已訂票客戶信息n”);printf(“ 3.查詢航線n”);printf(“ 4.辦理訂票業(yè)務(wù)n”);printf(“ 5.辦理退票業(yè)務(wù)n”);printf(“ 6.查看剩余票數(shù)并排序n”);printf(“ 0.退出系統(tǒng)n”);printf(“*******************************************n”);do{ printf(“請選擇:”);scanf(“%s”,s);c=atoi(s);}while(c<0||c>7);return c;}

      void main(){ start=air;for(;;){ switch(menu_select()){ case 1:list();break;case 2:prtlink();break;case 3:search();break;case 4:order();break;case 5:return_tkt();break;case 6:sort_tkt();break;case 0:printf(“n歡迎使用本系統(tǒng),再見!n”);exit(0);} printf(“nPress any key to continue!n”);getch();} }

      第二篇:航空售票系統(tǒng)+C++課程設(shè)計源代碼

      #include #include #define M 5//每種飛機票的總數(shù)目 #define N 3//飛機票的總數(shù)目 class Plane {private: char name[40];//終點站名

      int number;//航班號

      int Number;//飛機號

      int week;//星期幾飛行

      int day;//日期

      int left;//余票額

      int n;//與數(shù)組flag一起確定客戶訂票狀態(tài) public:

      int flag[20];//訂票狀態(tài)數(shù)組,-1為預(yù)訂票,1為已定票,0為初始化狀態(tài)

      Plane()//構(gòu)造函數(shù)

      {

      name[0]='