數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)《飛機(jī)訂票系統(tǒng)》 (2)
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)《飛機(jī)訂票系統(tǒng)》 (2)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)《飛機(jī)訂票系統(tǒng)》 (2)(14頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件工程專業(yè)14級(jí)設(shè)計(jì)題目: 飛機(jī)訂票系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 班 級(jí): 姓 名: 2019年 6月1日目 錄一、設(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第 13 頁一、設(shè)計(jì)任務(wù)與要求1.1 總體目標(biāo)與任務(wù)要求制作一個(gè)訂票系統(tǒng),通過此系統(tǒng)可以實(shí)現(xiàn)如下功能: 1)錄入 可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件
2、中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)。 2)查詢 可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉)可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況。 3)訂票 可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇的航班(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)。 4)退票可退票,退票后修改相關(guān)數(shù)據(jù)文件;客戶資料有姓名,證件號(hào),訂票數(shù)量和航班情況,訂單要有編號(hào)。 5)修改航班信息當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件。 根據(jù)以上功能說明,設(shè)計(jì)航班信息,訂票信息的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)程序完成功能。1.2 題目選擇與目的意義選擇這個(gè)題目的原因是,訂票系統(tǒng)在現(xiàn)實(shí)生活中應(yīng)
3、用很廣泛,通過這個(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ì)將知識(shí)應(yīng)用于實(shí)際的方法,提高分析和解決問題的能力,增加綜合能力。1.3 所選題目的主要工作這個(gè)題目的主要工作是使
4、訂票系統(tǒng)可以錄入航班情況,查詢某個(gè)航線的情況、辦理訂票、辦理退票、修改航班信息、查詢訂票信息等。二、需求分析2.1 用戶需求分析用戶使用此程序所要完成的工作主要為:查詢所有航線信息、查看已訂票客戶信息、查詢航線、辦理訂票業(yè)務(wù)、辦理退票業(yè)務(wù)。通過此系統(tǒng)可以方便的進(jìn)行上述工作。每條航線所涉和的信息有:終點(diǎn)站名、航班號(hào)、飛行時(shí)間、票價(jià)、乘員定額、余票量。已訂票的客戶名單信息包括姓名、訂票量、艙位等級(jí)(1,2或3)。等候替補(bǔ)的客戶名單信息包括姓名、所需票量。查詢航線功能可以根據(jù)旅客提出的終點(diǎn)站名輸出航班號(hào)、飛行時(shí)間、票價(jià)、乘員定額、余票量。訂票業(yè)務(wù)功能根據(jù)客戶提出的要求(航班號(hào)、訂票數(shù)額)查詢?cè)摵桨嗥?/p>
5、額情況,若尚有余票,則為客戶辦理訂票手續(xù),輸出座位號(hào);若已滿員或余票額少于定票額,則需重新詢問客戶要求。若需要,可登記排隊(duì)候補(bǔ)購票。退票業(yè)務(wù)功能根據(jù)客戶提供的情況(航班號(hào)、姓名)為客戶辦理退票手續(xù),然后查詢?cè)摵桨嗍欠裼腥伺抨?duì)候補(bǔ),首先詢問排在第一的客戶,若所退票額能滿足他的要求,則為他辦理訂票手續(xù),否則依次詢問其他排隊(duì)候補(bǔ)的客戶。2.2 功能需求分析功能需求分析模塊圖如圖2.1所示。圖2.1 功能模塊圖2.3 系統(tǒng)需求分析開發(fā)環(huán)境: Windows 7系統(tǒng)使用軟件:編寫實(shí)驗(yàn)報(bào)告:Microsoft Office Word制 作 程 序:Microsoft Visual C+ 6.0三、概要設(shè)計(jì)
6、3.1 各模塊的算法設(shè)計(jì)說明1瀏覽航線信息功能,調(diào)用display函數(shù)進(jìn)行輸出。如圖3.1所示。 瀏覽航線信息流程圖:圖3.1 瀏覽航線信息流程圖: 其中display函數(shù)的流程圖如圖3.2 display函數(shù)流程圖:圖3.2 display函數(shù)流程圖2瀏覽已訂票客戶信息功能,按順序輸出客戶信息鏈表中的信息。流程圖如圖3.3 瀏覽已訂票客戶信息功能流程圖:圖3.3 瀏覽已訂票客戶信息功能流程圖3查詢航線功能,根據(jù)客戶提出的終點(diǎn)站名輸出航線信息。流程圖如圖3.4 查詢航線流程圖:圖3.4 查詢航線流程圖4辦理訂票業(yè)務(wù)功能,根據(jù)客戶提出的航線信息等進(jìn)行訂票。流程圖如圖3.5 辦理訂票業(yè)務(wù)功能流程圖
7、:圖3.5 辦理訂票業(yè)務(wù)功能流程圖5辦理退票業(yè)務(wù)功能,根據(jù)客戶提出的航線信息等進(jìn)行退票。流程圖如圖3.6 辦理退票業(yè)務(wù)功能流程圖:圖3.6 辦理退票業(yè)務(wù)功能流程圖6主函數(shù)流程圖如圖3.7 主函數(shù)流程圖:圖3.7 主函數(shù)流程圖3.2 存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)說明typedef struct wat_ros /*單鏈隊(duì)列存儲(chǔ)等候替補(bǔ)的客戶信息*/ char name10; /*姓名*/int req_amt; /*訂票量*/struct wat_ros *next; qnode,*qptr;typedef struct pqueue /*等候替補(bǔ)的客戶名單*/qptr front; qptr rear; li
8、nkqueue;上述單鏈隊(duì)列用來存儲(chǔ)排隊(duì)等候的客戶名單,這樣可以通過隊(duì)先進(jìn)先出的特點(diǎn)來進(jìn)行操作。先排隊(duì)的客戶可以先訂票成功。typedef struct ord_ros /*乘員名單*/char name10; /*客戶姓名*/int ord_amt; /*訂票量*/ int grade; /*艙位等級(jí)*/struct ord_ros *next;linklist;上述單鏈表用來存儲(chǔ)乘員的信息,包括姓名、訂票量、艙位等級(jí)。struct airline /*航線信息*/char ter_name10; /*抵達(dá)城市*/char air_num10; /*航班號(hào)*/char time10; /*飛
9、機(jī)時(shí)間*/char pri7; /*票價(jià)*/int tkt_amt; /*乘員定額*/int tkt_sur; /*余票量*/linklist *order; /*乘員名單域,指向乘員名單鏈表的頭指針*/linkqueue wait; /*等候替補(bǔ)的客戶名單域,分別指向排隊(duì)等候名單隊(duì)頭隊(duì)尾的指針*/lineinfo;這個(gè)結(jié)構(gòu)體存儲(chǔ)了航線信息,包括抵達(dá)城市、航班號(hào)、飛行時(shí)間、票價(jià)、乘員定額、余票量等。#define MAXSIZE 5 /*定義航線數(shù)量,可修改*/struct airline airMAXSIZE= /*初始化航線信息*/beijing,1,1200,860,30,30, sha
10、nghai,2,1000,770,20,20,london,3,1330,960,10,10,harbin,4,1700,760,50,50,dalian,5,1400,550,40,40通過修改全局變量MAXSIZE的數(shù)值即可更改航線數(shù)。在struct airline airMAXSIZE中可以修改、增加、刪除航線信息。航線信息內(nèi)容依次為抵達(dá)城市、航班號(hào)、飛行時(shí)間、票價(jià)、乘員定額、余票量(飛行時(shí)間1200即12:00)。四、詳細(xì)設(shè)計(jì)1. 查看航線信息編寫void list()函數(shù)來查看全部航線信息。其中調(diào)用了void display(struct airline *info)函數(shù),該函數(shù)的功
11、能是打印每條航線的基本信息。這樣即可按順序打印出struct airline鏈表中存儲(chǔ)的全部航線信息。2. 查看已訂票客戶信息編寫void prtlink()函數(shù)來查看已訂票客戶信息。這個(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)訂票功能。首先提示用戶輸入航班號(hào),然后調(diào)用find()函數(shù)來查找此航班,如果該航班存在,則會(huì)提示用戶輸
12、入信息并調(diào)用linklist *insertlink(linklist *head,int amount,char name,int grade)在訂票乘員名單域中添加客戶信息。如果余票不足,則會(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)退票功能。首先提示用戶輸入航班號(hào),然后調(diào)用find()函數(shù)來查找此航班,如果該航班存在,則會(huì)提示用戶輸入信息,信息正確則會(huì)提示退票成功
13、。此時(shí)將乘員信息中的該乘員信息刪除,然后檢查替補(bǔ)乘員鏈表中的信息,如果其訂票量可以得到滿足,則會(huì)將其插入到訂票客戶名單鏈表中,提示他訂票成功。6. 退出系統(tǒng)主函數(shù)中無限循環(huán)輸出菜單for(;),用戶在菜單頁面下輸入6回車即exit(0),即可退出系統(tǒng)。五、源代碼#include #include #include #include #include #define MAXSIZE 5 /*定義航線數(shù)量,可修改*/typedef struct wat_ros /*單鏈隊(duì)列存儲(chǔ)等候替補(bǔ)的客戶信息*/ char name10; /*姓名*/int req_amt; /*訂票量*/struct wat
14、_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; /*艙位等級(jí)*/struct ord_ros *next;linklist;struct airlinechar ter_name10; /*抵達(dá)城市*/char air_nu
15、m10; /*航班號(hào)*/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%stt%4st%3dt%10dn,info-ter
16、_name,info-air_num,info-time,info-pri,info-tkt_amt,info-tkt_sur);void list() /*打印全部航線信息*/struct airline *info;int i=0;info=start;printf(終點(diǎn)站名t航班號(hào)t飛行時(shí)間t票價(jià)t乘員定額t余票量n);while(iMAXSIZE)display(info); /*調(diào)用display函數(shù)來輸出*/info+;i+;printf(nn);void search() /*根據(jù)客戶提出的終點(diǎn)站名輸出航線信息*/struct airline *info,*find();char
17、 name10; /*要抵達(dá)的城市名稱*/int i=0;info=start;printf(請(qǐng)輸入要抵達(dá)城市的名稱:);scanf(%s,name);while(iter_name) /*有該站名strcmp則返回,if(!0)即break*/break;info+;i+;if(i=MAXSIZE) /*沒有匹配的航線*/printf(對(duì)不起,沒有這條航線!n);elseprintf(終點(diǎn)站名t航班號(hào)t飛行時(shí)間t票價(jià)t乘員定額t余票量n);display(info); /*調(diào)用display函數(shù)輸出航線信息*/struct airline *find() / *根據(jù)系統(tǒng)提出的航班號(hào)查詢并以指
18、針形式返回*/struct airline *info;char number10; /*查詢的航班號(hào)*/int i=0;info=start;printf(請(qǐng)輸入航班號(hào):);scanf(%s,number);while(iair_num) /*有匹配航班*/return info; info+;i+; /*無匹配航班*/printf(對(duì)不起,沒有這條航線!n);return NULL;void prtlink() /*打印訂票乘員名單域的客戶名單信息*/linklist *p;struct airline *info;info=find();p=info-order;if(p!=NULL)
19、/*按順序輸出客戶信息鏈表*/printf(客戶姓名 訂票數(shù)額 艙位等級(jí)n);while(p) 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(sizeof(linklist);if(!new1)
20、 /*存儲(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;else head=new1;new1-next=p1;return head;linkqueue appendqueue(linkqueue q,char name,int amount) /*增加排隊(duì)等候的客戶名單域*/qptr new1;ne
21、w1=(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() /*辦理訂票業(yè)務(wù)*/struct airline *info;int amount,grade; /*訂票數(shù)量,艙位等級(jí)*/char name10; /*要訂的航班號(hào)*/info=start;if(!(info=find
22、() /*根據(jù)客戶提供的航班號(hào)進(jìn)行查詢,如為空,退出該模塊*/return;printf(請(qǐng)輸入您需要的票數(shù):);scanf(%d,&amount);if(amountinfo-tkt_amt) /*若客戶訂票額超過乘員定票總額,退出*/printf(n對(duì)不起,您輸入票數(shù)已經(jīng)超過乘員定額!);return;if(amounttkt_sur) /*若客戶訂票額末超過余票量,訂票成功并等記信息*/int i;printf(請(qǐng)輸入您的姓名:);scanf(%s,name);printf(請(qǐng)輸入您需要的艙位等級(jí)(1,2或):);scanf(%d,&grade);info-order=insertlin
23、k(info-order,amount,name,grade); /*在訂票乘員名單域中添加客戶信息*/for(i=0;itkt_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)printf(n請(qǐng)輸入您的姓名:);scanf(%s,name);info-wait=a
24、ppendqueue(info-wait,name,amount); /*在排隊(duì)等候乘員名單域中添加客戶信息*/printf(n注冊(cè)排隊(duì)成功!n);else printf(n歡迎您再次訂購!n);void return_tkt() /*退票模塊*/struct airline *info;qnode *t,*back,*f,*r;int grade;linklist *p1,*p2,*head;char cusname10;if(!(info=find() /*調(diào)用查詢函數(shù),根據(jù)客戶提供的航線進(jìn)行搜索*/return;head=info-order;p1=head;printf(請(qǐng)輸入你的姓名
25、:);scanf(%s,cusname);while(p1!=NULL) /*根據(jù)客戶提供的姓名到訂票客戶名單域進(jìn)行查詢*/if(!strcmp(cusname,p1-name) break;p2=p1;p1=p1-next;if(p1=NULL) /*若未找到,退出本模塊*/printf(對(duì)不起,您沒有訂過票!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,
26、p1-name); free(p1);info-order=head; /*重新將航線名單域指向訂票單鏈表的頭指針*/f=(info-wait).front; /*f指向排隊(duì)等候名單隊(duì)列的頭結(jié)點(diǎn)*/r=(info-wait).rear; /*r指向排隊(duì)等候名單隊(duì)列的尾結(jié)點(diǎn)*/t=f; /*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;ireq_amt;i+)
27、/*輸出座位號(hào)*/printf(%s的座位號(hào)是:%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é)點(diǎn)*/int i;back-next=t-next;printf(%s訂票成功!n,t-name);for(i=0;ireq_amt;i+)
28、/*輸出座位號(hào)*/printf(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);/*插入到訂票客戶名單鏈表中*/free(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
29、.查詢航線n);printf(4.辦理訂票業(yè)務(wù)n);printf(5.辦理退票業(yè)務(wù)n);printf(6.退出系統(tǒng)n);printf(n);doprintf(請(qǐng)選擇(1-6):);scanf(%s,s);c=atoi(s);while(c6);return c;void main()struct airline airMAXSIZE= /*初始化航線信息*/beijing,1,1200,860,30,30, shanghai,2,1000,770,20,20,london,3,1330,960,10,10,harbin,4,1700,760,50,50,dalian,5,1400,550,40
30、,40start=air; for(;) /*無限循環(huán)(除非用戶選擇.退出)*/system(cls); /*清空屏幕*/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:printf(n感謝您的使用,再見!n); /*退出系統(tǒng)*/exit(0); /*正常退出程序*/p
31、rintf(n任意鍵繼續(xù).n);getch(); /*任意鍵繼續(xù)*/六、運(yùn)行結(jié)果分析1.菜單:進(jìn)入系統(tǒng)后,會(huì)出現(xiàn)如下菜單,如圖6.1 菜單:圖6.1 菜單用戶根據(jù)自己需求選擇輸入數(shù)字(1-6)即可進(jìn)入相應(yīng)功能。2.查看航線信息:在菜單頁面下輸入數(shù)字1,回車,即可瀏覽全部航線信息。如圖6.2 查看航線信息:圖6.2 查看航線信息3.查看已訂票客戶信息:在菜單頁面下輸入數(shù)字2,回車,然后輸入航班號(hào)即可查看。如圖6.3 查看航線信息:圖6.3 查看航線信息該航線有客戶預(yù)定則顯示客戶預(yù)定的信息。如圖6.3 查看客戶預(yù)定信息:6.3 查看客戶預(yù)定信息如果該航線沒有客戶預(yù)定,則會(huì)提示該航線沒有客戶信息。如
32、圖6.4 無人預(yù)定航線:圖6.4 無人預(yù)定航線4.查詢航線:在菜單頁面下輸入數(shù)字3,回車,即可進(jìn)入查詢航線功能。如圖6.5 查詢航線頁面:圖6.5 查詢航線頁面根據(jù)提示輸入要抵達(dá)城市的名稱即可查詢。如果有該航線,則會(huì)顯示該航線的信息。如圖6.6 航線信息:圖6.6 航線信息如果沒有該航線,則會(huì)顯示對(duì)不起,沒有這條航線。如圖6.7 無此航線:圖6.7 無此航線5.辦理訂票業(yè)務(wù):在菜單頁面下輸入數(shù)字4,回車,即可進(jìn)入辦理訂票業(yè)務(wù)功能。如圖6.8 訂票頁面:圖6.8 訂票頁面用戶根據(jù)提示依次輸入航班號(hào)、票數(shù)、姓名、艙位等級(jí)即可。如圖6.9 訂票信息:圖6.9 訂票信息如果訂票成功,則會(huì)顯示座位號(hào),并
33、提示祝您乘坐愉快。如圖6.10 訂票成功:圖6.10 訂票成功如果在輸入訂票信息時(shí),輸入的票數(shù)大于額定乘員數(shù),則會(huì)訂票失敗并提示。圖6.11 訂票失敗如果在輸入訂票信息時(shí),輸入的票數(shù)小于額定乘員數(shù),大于余票數(shù),則會(huì)提示沒有這么多票了,詢問是否進(jìn)行排隊(duì)等候。如圖6.12 詢問是否排隊(duì)等候:圖6.12 詢問是否排隊(duì)等候如果輸入N,代表不排隊(duì),則會(huì)提示歡迎下次訂購。如果輸入Y,代表進(jìn)行排隊(duì)等候。這是會(huì)提示用戶輸入姓名進(jìn)行排隊(duì)。如圖6.13 排隊(duì)等候:圖6.13 排隊(duì)等候6.辦理退票業(yè)務(wù):在菜單頁面下輸入數(shù)字5,回車,即可進(jìn)入辦理退票業(yè)務(wù)功能。如圖6.14 辦理退票業(yè)務(wù)頁面:圖6.14 辦理退票業(yè)務(wù)頁
34、面根據(jù)提示輸入航線號(hào)和姓名即可進(jìn)行退票。如果此時(shí)這條航線有人排隊(duì)等候,余票數(shù)可以滿足其需求,其訂票即可成功。如圖6.15 排隊(duì)等候訂票成功:圖6.15 排隊(duì)等候訂票成功7.退出系統(tǒng):在菜單頁面下輸入數(shù)字6,回車,即可退出系統(tǒng)。如圖6.16 退出系統(tǒng):圖6.16 退出系統(tǒng)七、收獲與體會(huì)在編寫的時(shí)候只使用了相對(duì)較為簡單的基礎(chǔ)語言,代替了相對(duì)較為復(fù)雜的語言,降低了運(yùn)行效率。測(cè)試輸入的數(shù)據(jù)也有一定的局限性,但是基本可以滿足訂票系統(tǒng)的需求。這個(gè)程序有許多地方可以改進(jìn),例如: 數(shù)據(jù)全部存儲(chǔ)在內(nèi)存中,可以考慮繼續(xù)編寫將數(shù)據(jù)保存在文件中,這樣不會(huì)丟失。 航線信息只能通過修改代碼來修改,可以編寫一個(gè)函數(shù)來修改航線信息并將其保存在文件中。 使用的語言較基礎(chǔ),運(yùn)行效率較低,可以考慮寫一些較為復(fù)雜但運(yùn)行效率高的語言。 界面不夠美觀,菜單也只是局限在左上角,可以修改。八、參考文獻(xiàn)1 嚴(yán)蔚敏,吳偉民,數(shù)據(jù)結(jié)構(gòu)(C語言版)M. 清華大學(xué)出版社,2019.2 夏濤. C語言程序設(shè)計(jì),北京郵電大學(xué)出版社,2019.3 譚浩強(qiáng). C程序設(shè)計(jì)(第三版)M. 清華大學(xué)出版社,2019.4 百度. 百度知道. 百度文庫
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 肺癌教學(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)目樓書文案建議
- 安全駕駛常識(shí)課件
- kejian14 政治經(jīng)濟(jì)學(xué)原理ppt
- 42 共射極放大電路的工作原理
- 建設(shè)用地管理培訓(xùn)材料課件
- 北師大版小學(xué)二年級(jí)下冊(cè)語文《植樹的季節(jié)》課件PPT