數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語言版《飛機(jī)訂票系統(tǒng)》
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語言版《飛機(jī)訂票系統(tǒng)》》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語言版《飛機(jī)訂票系統(tǒng)》(41頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、軟件工程專業(yè)14級數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:飛機(jī)訂票系統(tǒng)班 級:軟件14姓 名:指導(dǎo)教師:2015年11月20日一、設(shè)計(jì)任務(wù)與要求 11.1 總體目標(biāo)與任務(wù)要求 11.2 題目選擇與目的意義 11.3 所選題目的主要工作 1二、需求分析 22.1 用戶需求分析 22.2 功能需求分析 22.3 系統(tǒng)需求分析 2三、概要設(shè)計(jì) 33.1 各模塊的算法設(shè)計(jì)說明 33.2 存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)說明 8四、詳細(xì)設(shè)計(jì) 10五、源代碼 11六、運(yùn)行結(jié)果分析 21七、收獲與體會(huì) 28八、主要參考資料 28、設(shè)計(jì)任務(wù)與要求1.1 總體目標(biāo)與任務(wù)要求制作一個(gè)訂票系統(tǒng),通過此系統(tǒng)可以實(shí)現(xiàn)如下功能:1)錄入可以錄入航班情
2、況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)。2 )查詢可以查詢某個(gè)航線的情況 (如, 輸入航班號, 查詢起降時(shí)間, 起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉)可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況。3 )訂票可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇的航班(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定) 。4 )退票可退票,退票后修改相關(guān)數(shù)據(jù)文件;客戶資料有姓名,證件號,訂票數(shù)量及航班情況,訂單要有編號。5 )修改航班信息當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件。根據(jù)以上功能說明,設(shè)計(jì)航班信息,訂票信息的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)程序完成功能。6 .2 題目選擇與目的意義選擇這個(gè)
3、題目的原因是,訂票系統(tǒng)在現(xiàn)實(shí)生活中應(yīng)用很廣泛,通過這個(gè)系統(tǒng)可以使訂票、退票等變得簡便。與傳統(tǒng)的人工用紙、筆來記錄辦理訂票、退票等相比, 使用這個(gè)系統(tǒng)也會(huì)增加工作效率。 這個(gè)題目做出來的系統(tǒng)還是比較實(shí)用的,所以我選擇了訂票系統(tǒng)這個(gè)題目。完成此系統(tǒng),需要綜合運(yùn)用數(shù)據(jù)結(jié)構(gòu)課程中學(xué)到的幾種典型數(shù)據(jù)結(jié)構(gòu),以及程序設(shè)計(jì)語言(C語言),自行實(shí)現(xiàn)一個(gè)較為完整的應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)。通過課程設(shè)計(jì),自己通過系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、編程調(diào)試,寫實(shí)驗(yàn)報(bào)告等環(huán)節(jié),進(jìn)一步掌握應(yīng)用系統(tǒng)設(shè)計(jì)的方法和步驟,靈活運(yùn)用并深刻理解典型數(shù)據(jù)結(jié)構(gòu)在軟件開發(fā)中的應(yīng)用。學(xué)會(huì)將知識應(yīng)用于實(shí)際的方法,提高分析和解決問題的能力,增加綜合能力。7 .3
4、 所選題目的主要工作這個(gè)題目的主要工作是使訂票系統(tǒng)可以錄入航班情況,查詢某個(gè)航線的情況、辦理訂票、辦理退票、修改航班信息、查詢訂票信息等。二、需求分析2.1 用戶需求分析用戶使用此程序所要完成的工作主要為:查詢所有航線信息、查看已訂票客 戶信息、查詢航線、辦理訂票業(yè)務(wù)、辦理退票業(yè)務(wù)。通過此系統(tǒng)可以方便的進(jìn)行 上述工作。每條航線所涉及的信息有:終點(diǎn)站名、航班號、飛行時(shí)間、票價(jià)、乘員定額、 余票量。已訂票的客戶名單信息包括姓名、訂票量、艙位等級(1, 2或3)。等候替補(bǔ)的客戶名單信息包括姓名、所需票量。查詢航線功能可以根據(jù)旅客提出的終點(diǎn)站名輸出航班號、飛行時(shí)間、票價(jià)、乘 員定額、余票量。訂票業(yè)務(wù)功
5、能根據(jù)客戶提出的要求 (航班號、訂票數(shù)額)查詢該航班票額情況, 若尚有余票,則為客戶辦理訂票手續(xù),輸出座位號;若已滿員或余票額少于定票額, 則需重新詢問客戶要求。若需要,可登記排隊(duì)候補(bǔ)購票。退票業(yè)務(wù)功能根據(jù)客戶提供的情況(航班號、姓名)為客戶辦理退票手續(xù),然 后查詢該航班是否有人排隊(duì)候補(bǔ),首先詢問排在第一的客戶,若所退票額能滿足他 的要求,則為他辦理訂票手續(xù),否則依次詢問其他排隊(duì)候補(bǔ)的客戶。2.2 功能需求分析功能需求分析模塊圖如圖 2.1所示。開始退出系統(tǒng)辦理訂票業(yè)務(wù)查詢航線瀏覽已訂票客戶信息瀏覽航線信息辦理退票業(yè)務(wù)圖2.1功能模塊圖第 13頁2.3 系統(tǒng)需求分析開發(fā)環(huán)境:Windows 7
6、系統(tǒng)使用軟件:編寫實(shí)驗(yàn)報(bào)告:Microsoft Office Word制作 程序:Microsoft Visual C+ 6.0三、概要設(shè)計(jì)3.1 各模塊的算法設(shè)計(jì)說明1 .瀏覽航線信息功能,調(diào)用display函數(shù)進(jìn)行輸出。如圖3.1所示。瀏覽航線信息流程圖:圖3.1瀏覽航線信息流程圖:其中display函數(shù)的流程圖如圖3.2 display函數(shù)流程圖:2.圖3.3圖3.2 display 函數(shù)流程圖瀏覽已訂票客戶信息功能,按順序輸出客戶信息鏈表中的信息。流程圖如 瀏覽已訂票客戶信息功能流程圖:圖3.3瀏覽已訂票客戶信息功能流程圖3.。流程圖如圖3.4查詢航線功能,根據(jù)客戶提出的終點(diǎn)站名輸出航
7、線信息 查詢航線流程圖:圖3.4查詢航線流程圖4.辦理訂票業(yè)務(wù)功能,根據(jù)客戶提出的航線信息等進(jìn)行訂票。流程圖如圖3.5辦理訂票業(yè)務(wù)功能流程圖:痂人航班號對不札族購睜!時(shí)您票己乘否排隊(duì),的量過衢登記信息等并輸出琬鐮1愉快輸出項(xiàng)迎您下次歉訂勒.第建息等并輸出堆冊成珈圖3.5辦理訂票業(yè)務(wù)功能流程圖5.辦理退票業(yè)務(wù)功能,根據(jù)客戶提出的航線信息等進(jìn)行退票。流程圖如圖3.6辦理退票業(yè)務(wù)功能流程圖:輸入航班號N對不起,你沒有日 過票!不該末冷 時(shí)攙有該航班breakp2=pl;pl=pl->neit;圖3.6辦理退票業(yè)務(wù)功能流程圖6.主函數(shù)流程圖如圖 3.7主函數(shù)流程圖:初始化,輸出菜 單,請選擇輸出
8、"歡迎使用本系 統(tǒng),再見i "exit(0),圖3.7主函數(shù)流程圖/*單鏈隊(duì)列存儲(chǔ)等候替補(bǔ)的客戶信息*/*姓名*/*訂票量*/3.2存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)說明typedef struct wat_roschar name10;int req_amt;struct wat_ros *next;qnode,*qptr;typedef struct pqueue /* 等候替補(bǔ)的客戶名單*/qptr front;qptr rear;linkqueue;上述單鏈隊(duì)列用來存儲(chǔ)排隊(duì)等候的客戶名單,這樣可以通過隊(duì)先進(jìn)先出的特點(diǎn)來進(jìn)行操作。先排隊(duì)的客戶可以先訂票成功。/* 乘員名單 */* 客戶姓名
9、*/* 訂票量 */* 艙位等級*/typedef struct ord_roschar name10;int ord_amt;int grade;struct ord_ros *next;linklist;上述單鏈表用來存儲(chǔ)乘員的信息,包括姓名、訂票量、艙位等級。struct airline/*航線信息 */char ter_name10; /* 抵達(dá)城市*/char air_num10; /* 航班號 */char time10;/* 飛機(jī)時(shí)間*/char pri7;/* 票價(jià)*/int tkt_amt;/* 乘員定額*/int tkt_sur;/* 余票量 */linklist *ord
10、er; /*乘員名單域,指向乘員名單鏈表的頭指針*/linkqueue wait; /* 等候替補(bǔ)的客戶名單域,分別指向排隊(duì)等候名單隊(duì)頭隊(duì)尾的指針*/lineinfo;這個(gè)結(jié)構(gòu)體存儲(chǔ)了航線信息,包括抵達(dá)城市、航班號、飛行時(shí)間、票價(jià)、乘員定額、余票量等。#define MAXSIZE 5/*定義航線數(shù)量,可修改*/struct airline airMAXSIZE=/* 初始化航線信息*/"beijing","1","1200","860",30,30, "shanghai","2&qu
11、ot;,"1000","770",20,20,"london","3","1330","960",10,10,"harbin","4","1700","760",50,50,"dalian","5","1400","550",40,40;通 過 修 改 全 局 變 量 MAXSIZE 的 數(shù) 值 即 可 更 改 航 線
12、 數(shù) 。 在 struct airlineairMAXSIZE 中可以修改、 增加、 刪除航線信息。 航線信息內(nèi)容依次為抵達(dá)城市、航班號、飛行時(shí)間、票價(jià)、乘員定額、余票量(飛行時(shí)間 1200 即 12 : 00)。四、詳細(xì)設(shè)計(jì)1. 查看航線信息編 寫 void list() 函 數(shù) 來 查 看 全 部 航 線 信 息 。 其 中 調(diào) 用 了 void display(struct airline *info) 函數(shù),該函數(shù)的功能是打印每條航線的基本信息。這樣即可按順序打印出 struct airline 鏈表中存儲(chǔ)的全部航線信息。2. 查看已訂票客戶信息編寫 void prtlink() 函數(shù)
13、來查看已訂票客戶信息。 這個(gè)函數(shù)中需要輸入要查詢的航線,通過find() 函數(shù)來尋找這個(gè)航線然后輸出該航線乘員域的乘員信息。3. 查詢航線編寫 void search() 函數(shù)來實(shí)現(xiàn)查詢航線的功能。 用戶輸入抵達(dá)城市名, 該函數(shù)會(huì)在航線信息鏈表中進(jìn)行查詢。如果有該城市,則會(huì)輸出此航線的信息。4. 辦理訂票業(yè)務(wù)編寫 void order() 函數(shù)來實(shí)現(xiàn)訂票功能。首先提示用戶輸入航班號,然后調(diào)用find() 函數(shù)來查找此航班, 如果該航班存在, 則會(huì)提示用戶輸入信息并調(diào)用 linklist*insertlink(linklist *head,int amount,char name口,int gr
14、ade)在訂票乘員名單域中添加客戶信息。如果余票不足,則會(huì)提示用戶進(jìn)行排隊(duì),如果排隊(duì),則會(huì)調(diào)用提示用戶輸入信息并調(diào)用 linkqueue appendqueue(linkqueue q,char name,int amount) 在排隊(duì)等候乘員名單域中添加客戶信息。5. 辦理退票業(yè)務(wù)編寫 void return_tkt() 函數(shù)來實(shí)現(xiàn)退票功能。首先提示用戶輸入航班號,然后調(diào)用 find() 函數(shù)來查找此航班,如果該航班存在,則會(huì)提示用戶輸入信息,信息正確則會(huì)提示退票成功。此時(shí)將乘員信息中的該乘員信息刪除,然后檢查替補(bǔ)乘員鏈表中的信息,如果其訂票量可以得到滿足,則會(huì)將其插入到訂票客戶名單鏈表中,
15、提示他訂票成功。6. 退出系統(tǒng)主函數(shù)中無限循環(huán)輸出菜單for(;) ,用戶在菜單頁面下輸入 6 回車即 exit(0) ,即可退出系統(tǒng)。五、源代碼#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#include <iostream.h>/*定義航線數(shù)量,可修改 */#define MAXSIZE 5typedef struct wat_ros /*單鏈隊(duì)列存儲(chǔ)等候替補(bǔ)的客戶信息*/char name10;/*姓名 */int req_a
16、mt;/*訂票量 */struct wat_ros *next;qnode,*qptr;typedef struct pqueue /*等候替補(bǔ)的客戶名單*/qptr front;/*等候替補(bǔ)客戶名單域的隊(duì)頭指針*/qptr rear;/* 等候替補(bǔ)客戶名單域的隊(duì)尾指針*/linkqueue;typedef struct ord_ros /*乘員名單 */char name10;/*客戶姓名 */int ord_amt; /* 訂票量 */int grade;/*艙位等級 */struct ord_ros *next;linklist;struct airlinechar ter_name10
17、;/* 抵達(dá)城市*/char air_num10; /*航班號 */char time10;/* 飛機(jī)時(shí)間*/char pri7;/*票價(jià)*/int tkt_amt;int tkt_sur;linklist *order;linkqueue wait;指針 */* 乘員定額 */*余票量 */*乘員名單域,指向乘員名單鏈表的頭指針*/*等候替補(bǔ)的客戶名單域,分別指向排隊(duì)等候名單隊(duì)頭隊(duì)尾的 lineinfo;struct airline *start;void display(struct airline *info) /*打印每條航線的基本信息 */printf("%8st%3st%
18、stt%4st%3dt%10dn",info->ter_name,info->air_num,info->time,i nfo->pri,info->tkt_amt,info->tkt_sur);void list()struct airline *info;int i=0;info=start;/* 打印全部航線信息 */第 29 頁printf("終點(diǎn)站名t航班號t飛行時(shí)間t票價(jià)t乘員定額t余票量n");while(i<MAXSIZE)display(info);/*調(diào)用 display函數(shù)來輸出 */info+;i+
19、;printf("nn");void search() /* 根據(jù)客戶提出的終點(diǎn)站名輸出航線信息*/struct airline *info,*find();/*要抵達(dá)的城市名稱*/char name10;int i=0;info=start;printf(" 請輸入要抵達(dá)城市的名稱:");scanf("%s",name);while(i<MAXSIZE)if(!strcmp(name,info->ter_name) /*有該站名 strcmp則返回,if(!0)即break*/break;info+;i+;if(i>
20、;=MAXSIZE)/* 沒有匹配的航線*/printf(" 對不起,沒有這條航線 !n");else printf("終點(diǎn)站名t航班號t飛行時(shí)間t票價(jià)t乘員定額t余票量n");display(info);struct airline *find()struct airline *info;char number10;int i=0;/*調(diào)用display函數(shù)輸出航線信息*/ *根據(jù)系統(tǒng)提出的航班號查詢并以指針形式返回 */*查詢的航班號*/info=start;printf(" 請輸入航班號:");scanf("%s&qu
21、ot;,number);while(i<MAXSIZE) if(!strcmp(number,info->air_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(" 客戶姓名 while(p) /* 按順序輸出
22、客戶信息鏈表*/訂票數(shù)額艙位等級 n");printf("%stt%dt%dn",p->name,p->ord_amt,p->grade); p=p->next;else/*沒有人訂這個(gè)航班*/printf(" 該航線沒有客戶信息 !n");linklist *insertlink(linklist *head,int amount,char name,int grade) /* 增加訂票乘員名單域的客戶信息 */linklist *p1,*new1;p1=head;new1=(linklist*)malloc(size
23、of(linklist);if(!new1)/* 存儲(chǔ)空間不足*/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;elsehead=new1;new1->next=p1;return head;linkqueue appendqueue(linkqu
24、eue q,char name,int amount) /*增加排隊(duì)等候的客戶名單 域*/qptr new1;new1=(qptr)malloc(sizeof(qnode);strcpy(new1->name,name);new1->req_amt=amount;new1->next=NULL;if(q.front=NULL)/*若原排隊(duì)等候客戶名單域?yàn)榭?/q.front=new1;elseq.rear->next=new1;q.rear=new1;return q;void order()struct airline *info; int amount,grade;
25、 char name10;info=start;if(!(info=find()return;printf(" 請輸入您需要的票數(shù)/* 辦理訂票業(yè)務(wù)*/*訂票數(shù)量 ,艙位等級 */*要訂的航班號*/* 根據(jù)客戶提供的航班號進(jìn)行查詢,如為空,退出該模塊*/:");scanf("%d",&amount);if(amount>info->tkt_amt) /* 若客戶訂票額超過乘員定票總額,退出 */printf("n 對不起,您輸入票數(shù)已經(jīng)超過乘員定額!");return;if(amount<=info->
26、tkt_sur)等記信息 */* 若客戶訂票額末超過余票量,訂票成功并int i;printf(" 請輸入您的姓名 :");scanf("%s",name);printf(" 請輸入您需要的艙位等級(1,2或):");scanf("%d",&grade);info->order=insertlink(info->order,amount,name,grade); /* 在訂票乘員名單域*/for(i=0;i<amount;i+) printf("%s 的座位號是/* 依次輸出該訂
27、票客戶的座位號*/:%dn",name,info->tkt_amt-info->tkt_sur+i+1);info->tkt_sur-=amount;/*該航線的余票量應(yīng)減掉該客戶的訂票量*/printf("n 祝您乘坐愉快!n");else /*若滿員或余票額少于訂票額,詢問客戶是否需要進(jìn)行排隊(duì)等候*/char r;printf("n 沒有這么多票了,您需要排隊(duì)等候嗎 ?(Y/N)");r=getch();printf("%c",r);if(r='Y'|r='y') pri
28、ntf("n 請輸入您的姓名 :"); scanf("%s",name);info->wait=appendqueue(info->wait,name,amount); /*在排隊(duì)等候乘員名單域中添加客戶信息 */printf("n 注冊排隊(duì)成功 !n"); else printf("n 歡迎您再次訂購! n");void return_tkt()/* 退票模塊 */struct airline *info;qnode *t,*back,*f,*r;int grade;linklist *p1,*p2,
29、*head;char cusname10;if(!(info=find()/*調(diào)用查詢函數(shù),根據(jù)客戶提供的航線進(jìn)行搜索*/return;head=info->order;p1=head;printf(" 請輸入你的姓名 :");scanf("%s",cusname);while(p1!=NULL)/* 根據(jù)客戶提供的姓名到訂票客戶名單域進(jìn)行查詢*/if(!strcmp(cusname,p1->name)break;p2=p1;p1=p1->next;if(p1=NULL) /* 若未找到,退出本模塊 */printf(" 對不
30、起,您沒有訂過票 !n");return;else/* 若信息查詢成功,刪除訂票客戶名單域中的信息*/if(p1=head)head=p1->next;elsep2->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; r=(info->wait).rear; t=f;/*重新將航線名單域指向
31、訂票單鏈表的頭指針*/*f 指向排隊(duì)等候名單隊(duì)列的頭結(jié)點(diǎn)*/*r 指向排隊(duì)等候名單隊(duì)列的尾結(jié)點(diǎn)*/*t 為當(dāng)前滿點(diǎn)條件的排隊(duì)候補(bǔ)名單域*/while(t)if(info->tkt_sur>=info->wait.front->req_amt) /*若滿足條件者為頭結(jié)點(diǎn) */int i;info->wait.front=t->next;printf("%s 訂票成功 !n",t->name);for(i=0;i<t->req_amt;i+)/* 輸出座位號*/ printf("%s 的座位號是:%dn"
32、,t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade);/* 插入至 U 訂票客戶名單鏈表中 */free(t);break;back=t;t=t->next;if(info->tkt_sur)>=(t->req_amt)&&t!=NULL)/* 若滿足條件者不為頭結(jié)點(diǎn) */ int i;back->next=t->next
33、;printf("%s 訂票成功 !n",t->name);for(i=0;i<t->req_amt;i+)/*輸出座位號*/ printf("<%s>'s seat number 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);/* 插入至 U 訂票客 戶名單鏈表中 */fr
34、ee(t);break;if(f=r)break;int menu_select() int c;/* 菜單界面 */char s20;printf("t 訂票系統(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. 退出系統(tǒng) n&q
35、uot;);printf("n");doprintf(" 請選擇 (1-6):");scanf("%s",s);c=atoi(s);while(c<1|c>6);return c;void main()struct airline airMAXSIZE=/*初始化航線信息 */"beijing","1","1200","860",30,30,"shanghai","2","1000",
36、"770",20,20,"london","3","1330","960",10,10,"harbin","4","1700","760",50,50,"dalian","5","1400","550",40,40;start=air;for(;)system("cls");switch(menu_select()ca
37、se 1:list();break;case 2:prtlink();break;case 3:search();break;case 4:order();break;case 5:return_tkt();break;case 6:printf("n 感謝您 exit(0);printf("n 任意鍵繼續(xù) .n") getch();/* 無限循環(huán) (除非用戶選擇/* 清空屏幕 */*打印全部航線信息 */*瀏覽已訂票客戶信息 */* 查詢航線 */* 訂票 */*退票 */,再見!n"); /*退出系統(tǒng)*/* 正常退出程序 */*任意鍵繼續(xù)*/.退出
38、)*/六、運(yùn)行結(jié)果分析1 . 菜單:進(jìn)入系統(tǒng)后,會(huì)出現(xiàn)如下菜單,如圖 6.1 菜單:第 # 頁訂票系統(tǒng)訂票系統(tǒng)Z2JWAJ/k/.息住戶息客務(wù)務(wù) 信票業(yè)業(yè) 線訂桀杳示統(tǒng) 航已普退系 詢理理出 ft-*-查辦辦退第#頁請選擇a-6):.圖6.1菜單用戶根據(jù)自己需求選擇輸入數(shù)字(1-6)即可進(jìn)入相應(yīng)功能。2 .查看航線信息:在菜單頁面下輸入數(shù)字 1,回車,即可瀏覽全部航線信息。如圖6.2查看航線信息:息客務(wù)務(wù) 信票業(yè)業(yè) 線訂蓄1示統(tǒng) 航己普速系 詢理理出 曲*-查辦辦退 一 » 12 3 4 5 6請選擇6終點(diǎn)站名航班號飛行時(shí)間票價(jià)乘員定額仝.帛 小十里beijing11200S6B30
39、30shanghai210007702020london313309601010hdPbin4170076。5g50dalian514805534040任意疑繼續(xù).圖6.2查看航線信息3.查看已訂票客戶信息:在菜單頁面下輸入數(shù)字2,回車,然后輸入航班號即可查看。如圖6.3查看航線信息:自5 信 統(tǒng)戶 系息客務(wù)務(wù) 票信票業(yè)業(yè) 訂線訂緒委示統(tǒng) 冊已航訂M-系 喜詢理里出 查查查辦辦退fMwwvfw*vf%rfWiVfVfwnjrf%Jvwrv fwrfwru1 rww請選擇AN請輸入航班號二.圖6.3查看航線信息該航線有客戶預(yù)定則顯示客戶預(yù)定的信息。如圖 6.3查看客戶預(yù)定信息:1 .查看航線信息
40、2 .查看已訂票客戶信息3 .查詢品線,辦理訂票業(yè)務(wù)5 .蘇理退票業(yè)券退出系統(tǒng)MSmmmmmmmmjwwrvrwwvrwwtfwrvzzrvrvfwzz請選怪£1-6”2請輜入航班號:2客戶姓名訂票數(shù)額艙位等級hiye任意鍵繼續(xù)-.6.3查看客戶預(yù)定信息如果該航線沒有客戶預(yù)定,則會(huì)提示該航線沒有客戶信息。如圖 6.4 無人預(yù)定航息一 ! 信a 戶 信 息客務(wù)務(wù) 29戶 信票業(yè)業(yè)>:號客 線訂器委示統(tǒng)-6班有 航已齪訂退系C1航?jīng)] 害詢理理出擇入線 杳查查辦辦退選幫 1.2.3.4.5.6.一 請請?jiān)搢任意鍵繼續(xù)一圖6.4無人預(yù)定航線4.查詢航線:在菜單頁面下輸入數(shù)字3,回車,即
41、可進(jìn)入查詢航線功能。如圖6.5 查 詢航線頁面:訂票系統(tǒng)2.自3信戶息客務(wù)務(wù) 信票業(yè)業(yè) 線訂結(jié)一翟示統(tǒng) 航已普退系 一雪詢理理出 *-營查辦辦退rMMnrwrvKRrfrewv*wrwiWWiHnrwwM¥vwwwwwwvMwwwrw請選擇1-6) :3請輸入要抵達(dá)城市的名稱:圖6.5查詢航線頁面根據(jù)提示輸入要抵達(dá)城市的名稱即可查詢。如果有該航線,則會(huì)顯示該航線的信息如圖6.6航線信息:訂票系統(tǒng)息住戶息客務(wù)務(wù) 信票業(yè)業(yè) 線訂孝®蔡 航己霞M-系 詢理理出 查宜查辦辦退2.第35頁也 謳 終beijing息客務(wù)務(wù) 3城這 信票業(yè)業(yè)>:達(dá)有 線訂善委示統(tǒng)-6蜃 航已航訂退
42、系U要, Wp詢理理出擇入起 杳否查辦辦退選單自心任意鍵繼續(xù).5.辦理訂票業(yè)務(wù): 如圖6.8訂票頁面:圖6.7無此航線在菜單頁面下輸入數(shù)字 4,回車,即可進(jìn)入辦理訂票業(yè)務(wù)功能。竹祟券統(tǒng)片訂孥一嗇系統(tǒng)-6班 和已誓退系C1W 一曹詢理理出擇入 查杳香亦辦退選輸息客務(wù)務(wù)信票業(yè)業(yè)白心旨戶d±l輸入要抵達(dá)城市的名擲;be ij in目 國站名 航班導(dǎo)飛行時(shí)1280任意韓繼續(xù).圖6.6航線信息如果沒有該航線,則會(huì)顯示對不起,沒有這條航線。如圖 6.7無此航線:I訂票系統(tǒng)6.9訂票信息:圖6.8訂票頁面用戶根據(jù)提示依次輸入航班號、票數(shù)、姓名、艙位等級即可。如圖息客務(wù)務(wù) 信票業(yè)業(yè) 線訂緒春系統(tǒng) 航
43、已返系 詢理理出 查甘查辦辦退 !a«!a, 12 3 4 5 6.訂票系統(tǒng)請選擇q-6兀4醯女罐翻票數(shù)式請曲入您的理Zbiye請輸入您需要的艙位等級口3或3八圖6.9訂票信息6.10訂票成功:如果訂票成功,則會(huì)顯示座位號,并提示祝您乘坐愉快。如圖訂票系統(tǒng)fftjwwnmjwwvwwinimmnrwuwiruwwwwuwHwwwwwrww1工.查看航線信息Z.查看已訂票客戶信息3 .查詢航線4 辦理訂票業(yè)務(wù)5 .辦理退票業(yè)務(wù)6 .退出系統(tǒng) 請選搔 1-6二4情輸入航班號9請輸A你需要的票數(shù)9請輸入傷超姓名;B1YE請輸入健需要的舲位等級1.2或3):2EIYE的座位號星:1祝穿乘坐愉
44、快?任意鍵繼續(xù),一圖6.10訂票成功如果在輸入訂票信息時(shí),輸入的票數(shù)大于額定乘員數(shù),則會(huì)訂票失敗并提示。訂票系統(tǒng)工.查看航線信息2 .查看已訂票卷戶信息,查詢航線4 .辦理訂票業(yè)務(wù)5 .辦理退票業(yè)務(wù)6 .退出系統(tǒng)請選擇1-6)二4 請輸入航班號" 請輸入您需要的票數(shù)"口樹不起,穿輸入票數(shù)已經(jīng)超過乘員定額? 任意鍵繼續(xù)一圖6.11訂票失敗如果在輸入訂票信息時(shí),輸入的票數(shù)小于額定乘員數(shù),大于余票數(shù),則會(huì)提示沒有這么多票了,詢問是否進(jìn)行排隊(duì)等候。如圖 6.12詢問是否排隊(duì)等候:訂票系統(tǒng)3,4.5,信自3客務(wù)務(wù) 信票業(yè)業(yè) 線訂線票票統(tǒng) 航已航訂退系 看看詢理理,+, 查查查辦亦返請
45、選怪”-63二4灣輸入航班號二2請輸入您需要的票數(shù)門9 沿有這么方票了,窗需要排隊(duì)等候嗎?圖6.12詢問是否排隊(duì)等候如果輸入N,代表不排隊(duì),則會(huì)提示歡迎下次訂購。如果輸入Y,代表進(jìn)行排隊(duì)等候。這是會(huì)提示用戶輸入姓名進(jìn)行排隊(duì)。如圖 6.13排隊(duì)等候:訂票系統(tǒng)1 查看航線信息2 .查看已訂票客戶信息3 .查詢航線4 .辦理訂票業(yè)務(wù)5 .辦理退票業(yè)務(wù)6 .退出系統(tǒng) 請選擇b-6兀4諳輸入航班號:2請輸入蒯需要的票數(shù):仃沒有這么多票了,弱需要排隊(duì)等候嗎"“N>y 請輸入族的姓名:LI LI注冊排隊(duì)成功?任意鍵繼續(xù).一圖6.13排隊(duì)等候6.辦理退票業(yè)務(wù):在菜單頁面下輸入數(shù)字 5,回車,即
46、可進(jìn)入辦理退票業(yè)務(wù)功能。 如圖6.14辦理退票業(yè)務(wù)頁面:訂票系統(tǒng)I.查看航線信息2 .查看已訂票客戶信息3 .查詢戰(zhàn)陽心辦理訂票業(yè)務(wù)5 .辦理退票業(yè)務(wù)E.退出家統(tǒng)ir*uwHmjwwvir>uwxmr«WMWwwwHmLnr>uwxmr«wwwwHmjwrkr請輸入航班號:.圖6.14辦理退票業(yè)務(wù)頁面根據(jù)提示輸入航線號和姓名即可進(jìn)行退票。如果此時(shí)這條航線有人排隊(duì)等候,余票 數(shù)可以滿足其需求,其訂票即可成功。如圖 6.15排隊(duì)等候訂票成功:訂票系統(tǒng)1 .查看航線信息2 .查看已訂票客戶信息3 .查詢航線4 辦理訂票業(yè)務(wù)5 .辦理退票業(yè)務(wù)6 .退出系統(tǒng)清選怪1-6&
47、#39;=5 請輸入航班號:2 請扁人春的姓名:biye ,詢匕退票成功, LILI訂票成功, LILI的座位號皋二20 LILI的座位號是二19 LILI的座位號星:18 LILI的座位號呈:17 LI”的座位號呈 LILI的座位號星:15 LILI的座位號界:I4 LI”的座位號呈這3 LILI的座位號是:12 LILI的座位號幕:11 LI”的座位號品:10 LILI的座位號是:9 LILI的座位號是二8 LILI的座位號是,7 LILI的座位號杲遙 LI”的座位號是力 LILI的座位號是二4 LILI的座位號是:3 LILI的座位號舁二2圖6.15排隊(duì)等候訂票成功7 .退出系統(tǒng):在菜單
48、頁面下輸入數(shù)字 6,回車,即可退出系統(tǒng)。如圖 6.16退出系統(tǒng):訂票系統(tǒng)查看航線信息2 .查看已訂票客戶信息3 .查詢航線4 .辦理訂票業(yè)務(wù)E.辦理退票業(yè)務(wù)退出系統(tǒng)請選擇d二6感謝瓢的使用再見,.Press any key to cointinuie圖6.16退出系統(tǒng)七、收獲與體會(huì)在編寫的時(shí)候只使用了相對較為簡單的基礎(chǔ)語言,代替了相對較為復(fù)雜的語言,降低了運(yùn)行效率。測試輸入的數(shù)據(jù)也有一定的局限性,但是基本可以滿足訂票系統(tǒng)的需求。這個(gè)程序有許多地方可以改進(jìn),例如: 數(shù)據(jù)全部存儲(chǔ)在內(nèi)存中,可以考慮繼續(xù)編寫將數(shù)據(jù)保存在文件中,這樣不會(huì)丟失。航線信息只能通過修改代碼來修改,可以編寫一個(gè)函數(shù)來修改航線信息并將其 保存在文件中。 使用的語言較基礎(chǔ),運(yùn)行效率較低,可以考慮寫一些較為復(fù)雜但運(yùn)行效率高的語言0 界面不夠美觀,菜單也只是局限在左上角,可以修改。八、參考文獻(xiàn)1嚴(yán)蔚敏,吳偉民,數(shù)據(jù)結(jié)構(gòu)(C語言版)M.清華大學(xué)出版社,1997.2夏濤.C語言程序設(shè)計(jì),北京郵電大學(xué)出版社,2007.3譚浩強(qiáng).C程序設(shè)計(jì)(第三版)M.清華大學(xué)出版社,2006.4百度.百度知道.百度文庫第37頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肺癌教學(xué)查房課件
- 美洛昔康 塞來昔布
- 高產(chǎn)良種玉米的選
- 食堂、宿管、安保人員保險(xiǎn)PPT課件
- 《商業(yè)計(jì)劃書、可行性報(bào)告》啤酒項(xiàng)目可行研究報(bào)告8
- 模塊七運(yùn)動(dòng)技能選材項(xiàng)目一觀察法
- 模塊2Web標(biāo)準(zhǔn)及其構(gòu)成
- 博思堂AE運(yùn)營規(guī)范
- 閉合性軟組織損傷及常見病處理
- 廣州御園地產(chǎn)項(xiàng)目樓書文案建議
- 安全駕駛常識課件
- kejian14 政治經(jīng)濟(jì)學(xué)原理ppt
- 42 共射極放大電路的工作原理
- 建設(shè)用地管理培訓(xùn)材料課件
- 北師大版小學(xué)二年級下冊語文《植樹的季節(jié)》課件PPT