數(shù)據(jù)結(jié)構(gòu)課程設計《飛機訂票系統(tǒng)》

上傳人:xin****18 文檔編號:47176244 上傳時間:2021-12-17 格式:DOC 頁數(shù):34 大小:672.50KB
收藏 版權(quán)申訴 舉報 下載
數(shù)據(jù)結(jié)構(gòu)課程設計《飛機訂票系統(tǒng)》_第1頁
第1頁 / 共34頁
數(shù)據(jù)結(jié)構(gòu)課程設計《飛機訂票系統(tǒng)》_第2頁
第2頁 / 共34頁
數(shù)據(jù)結(jié)構(gòu)課程設計《飛機訂票系統(tǒng)》_第3頁
第3頁 / 共34頁

本資源只提供3頁預覽,全部文檔請下載后查看!喜歡就下載吧,查找使用更方便

15 積分

下載資源

資源描述:

《數(shù)據(jù)結(jié)構(gòu)課程設計《飛機訂票系統(tǒng)》》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)結(jié)構(gòu)課程設計《飛機訂票系統(tǒng)》(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、軟件工程專業(yè) 14 級 設計題目:飛機訂票系統(tǒng)設計與實現(xiàn) 班 級: _ 姓 名: _ 2016一、設計任務與要求 . 1 總體目標與任務要求 . 1. 題目選擇與目的意義 . 1. 所選題目的主要工作 . 1 二、需求分析 . 2 用戶需求分析 . 2 功能需求分析 . 2 系統(tǒng)需求分析 . 2 三、概要設計 . 3 各模塊的算法設計說明 . 3 存儲結(jié)構(gòu)設計說明 . 8 四、詳細設計 . 10 五、源代碼 . 11 六、運行結(jié)果分析 . 21 七、收獲與體會 . 28 八、主要參考資料 . 28 、設計任務與要求 總體目標與任務要求 制作一個訂票系統(tǒng),通過此系統(tǒng)可以實現(xiàn)如下功能: 1)錄入

2、可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體 數(shù)據(jù)自定)。 2)查詢 可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達 城市,航班票價,票價折扣,確定航班是否滿倉)可以輸入起飛抵達城市,查詢 飛機航班情況。 3)訂票 可以訂票,如果該航班已經(jīng)無票,可以提供相關可選擇的航班(訂票情 況可以存在一個數(shù)據(jù)文件中,結(jié)構(gòu)自己設定 )。 4)退票 可退票,退票后修改相關數(shù)據(jù)文件;客戶資料有姓名,證件號,訂票數(shù)量及 航班情況,訂單要有編號。 5)修改航班信息 當航班信息改變可以修改航班數(shù)據(jù)文件。 根據(jù)以上功能說明,設計航班信息,訂票信息的存儲結(jié)構(gòu),設計程序完 成功能。 題目選

3、擇與目的意義 選擇這個題目的原因是,訂票系統(tǒng)在現(xiàn)實生活中應用很廣泛,通過這個系統(tǒng) 可以使訂票、退票等變得簡便。與傳統(tǒng)的人工用紙、筆來記錄辦理訂票、退票等 相比,使用這個系統(tǒng)也會增加工作效率。 這個題目做出來的系統(tǒng)還是比較實用的, 所以我選擇了訂票系統(tǒng)這個題目。 完成此系統(tǒng), 需要綜合運用數(shù)據(jù)結(jié)構(gòu)課程中學到的幾種典型數(shù)據(jù)結(jié)構(gòu), 以及程 序設計語言 ( C 語言),自行實現(xiàn)一個較為完整的應用系統(tǒng)的設計與開發(fā)。通過課程 設計,自己通過系統(tǒng)分析、系統(tǒng)設計、編程調(diào)試,寫實驗報告等環(huán)節(jié),進一步掌握 應用系統(tǒng)設計的方法和步驟,靈活運用并深刻理解典型數(shù)據(jù)結(jié)構(gòu)在軟件開發(fā)中的應 用。學會將知識應用于實際的方法,提

4、高分析和解決問題的能力,增加綜合能力。 所選題目的主要工作 這個題目的主要工作是使訂票系統(tǒng)可以錄入航班情況,查詢某個航線的情 況、辦理訂票、辦理退票、修改航班信息、查詢訂票信息等。 用戶需求分析 用戶使用此程序所要完成的工作主要為:查詢所有航線信息、查看已訂票客 戶信息、查詢航線、辦理訂票業(yè)務、辦理退票業(yè)務。通過此系統(tǒng)可以方便的進行 上述工作。 每條航線所涉及的信息有:終點站名、航班號、飛行時間、票價、乘員定額、 余票量。 已訂票的客戶名單信息包括姓名、訂票量、艙位等級(1,2或3)。 等候替補的客戶名單信息包括姓名、所需票量。 查詢航線功能可以根據(jù)旅客提出的終點站名輸出航班號、飛行時間、票價

5、、乘 員定額、余票量。 訂票業(yè)務功能根據(jù)客戶提出的要求 (航班號、訂票數(shù)額)查詢該航班票額情況, 若尚有余票,則為客戶辦理訂票手續(xù),輸出座位號;若已滿員或余票額少于定票額, 則需重新詢問客戶要求。若需要,可登記排隊候補購票。 退票業(yè)務功能根據(jù)客戶提供的情況(航班號、姓名)為客戶辦理退票手續(xù),然 后查詢該航班是否有人排隊候補,首先詢問排在第一的客戶,若所退票額能滿足他 的要求,貝U為他辦理訂票手續(xù),否則依次詢問其他排隊候補的客戶。 功能需求分析 功能需求分析模塊圖如圖所示。 開始 系統(tǒng)需求分析需求分析 開發(fā)環(huán)境:Windows 7系統(tǒng) 使用軟件:編寫實驗報告: Microsoft Office

6、Word 希9 作 程序:Microsoft Visual C+ 三、概要設計 各模塊的算法設計說明 1 瀏覽航線信息功能,調(diào)用 display函數(shù)進行輸出。如圖所示 信息流程圖: 瀏覽航線 其中display函數(shù)的流程圖如圖 display函數(shù)流程圖: 圖 display 函數(shù)流程圖 2瀏覽已訂票客戶信息功能,按順序輸出客戶信息鏈表中的信息。流程圖如 圖 瀏覽已訂票客戶信息功能流程圖: 3查詢航線功能,根據(jù)客戶提出的終點站名輸出航線信息。流程圖如圖 詢航線流程圖: 4辦理訂票業(yè)務功能,根據(jù)客戶提出的航線信息等進行訂票。 流程圖如圖 辦 理訂票業(yè)務功能流程圖: 圖辦理訂票業(yè)務功能流程圖 5辦理

7、退票業(yè)務功能,根據(jù)客戶提出的航線信息等進行退票。 流程圖如圖 辦 理退票業(yè)務功能流程圖:gi甜息每 并囂岀堆 Wr LJAH1 I辭訂穀1 | 對不起 您鬍入的 已邂過 乘貞定額 輸出砲您下 次敵訂購 6主函數(shù)流程圖如圖 主函數(shù)流程圖: 開始 N N Y Y s=4 5=& 結(jié)束 return tkt 0 1st () 存儲結(jié)構(gòu)設計說明 typedef struct wat_ros char n int req_amt; struct wat_ros *n ext; qno ? i圖主函/*單鏈隊列存儲等候替補的客戶信息 */ /*姓名*/ /*訂票量*/ 初始化,輸出菓 單,請選擇 brea

8、k, break; order search 0 break; struct airline /*航線信息 */ lineinfo; 這個結(jié)構(gòu)體存儲了航線信息,包括抵達城市、航班號、飛行時間、票價、乘 員定額、余票量等。#define MAXSIZE 5 struct airline airMAXSIZE= /* 定義航線數(shù)量,可修改 */ /* 初始化航線信息 */ typedef struct pqueue qptr front; qptr rear; /* 等候替補的客戶名單 */ linkqueue; 上述單鏈隊列用來存儲排隊等候的客戶名單,這樣可以通過隊先進先出的特 點來進行操作。先

9、排隊的客戶可以先訂票成功。 typedef struct ord_ros char name10; int ord_amt; int grade; struct ord_ros *next; /* 乘員名單 */ /* 客戶姓名 */ /* 訂票量 */ /* 艙位等級 */ linklist; 上述單鏈表用來存儲乘員的信息,包括姓名、訂票量、艙位等級。 char ter_name10; char air_num10; char time10; char pri7; int tkt_amt; int tkt_sur; linklist *order; linkqueue wait; 隊尾的指針

10、 */ /* 抵達城市 */ /* 航班號 */ /* 飛機時間 */ /* 票價 */ /* 乘員定額 */ /* 余票量 */ /* 乘員名單域,指向乘員名單鏈表的頭指針 */ /* 等候替補的客戶名單域, 分別指向排隊等候名單隊頭 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,40 ; 通過修改全局變量 MAXSIZE的數(shù)值即可更改航線數(shù)。 在struct airline airMAXSI

11、ZE 中可以修改、增加、刪除航線信息。航線信息內(nèi)容依次為抵達城市、航班號、飛 行時間、票價、乘員定額、余票量(飛行時間 1200 即 12:00)。 四、詳細設計 1. 查看航線信息 編寫void list()函數(shù)來查看全部航線信息。 其中調(diào)用了 void display(struct airline *info) 函數(shù),該函數(shù)的功能是打印每條航線的基本信息。這樣即可按順序打印出 struct airline 鏈表中存儲的全部航線信息。 2. 查看已訂票客戶信息 編寫 void prtlink() 函數(shù)來查看已訂票客戶信息。 這個函數(shù)中需要輸入要查詢的 航線,通過find()函數(shù)來尋找這個航線

12、然后輸出該航線乘員域的乘員信息。 3. 查詢航線 編寫void search()函數(shù)來實現(xiàn)查詢航線的功能。 用戶輸入抵達城市名, 該函數(shù) 會在航線信息鏈表中進行查詢。如果有該城市,則會輸出此航線的信息。 4. 辦理訂票業(yè)務 編寫 void order() 函數(shù)來實現(xiàn)訂票功能。首先提示用戶輸入航班號,然后調(diào)用 find() 函數(shù)來查找此航班, 如果該航班存在, 則會提示用戶輸入信息并調(diào)用 linklist *insertlink(linklist *head,int amount,char name,int grade) 在訂票乘員名單域中添 加客戶信息。如果余票不足,則會提示用戶進行排隊,如果

13、排隊,則會調(diào)用提示 用戶輸入信息并調(diào)用 linkqueue appendqueue(linkqueue q,char name,int amount) 在排隊等候乘員名單域中添加客戶信息。 5. 辦理退票業(yè)務 編寫 void return_tkt() 函數(shù)來實現(xiàn)退票功能。首先提示用戶輸入航班號,然后 調(diào)用find()函數(shù)來查找此航班,如果該航班存在,則會提示用戶輸入信息,信息 正確則會提示退票成功。此時將乘員信息中的該乘員信息刪除,然后檢查替補乘 員鏈表中的信息,如果其訂票量可以得到滿足,則會將其插入到訂票客戶名單鏈 表中,提示他訂票成功。 6. 退出系統(tǒng) 主函數(shù)中無限循環(huán)輸出菜單 for(;

14、),用戶在菜單頁面下輸入 6回車即exit(O), 即可退出系統(tǒng)。 /* 等候替補的客戶名單 */ /* 等候替補客戶名單域的隊頭指針 */ /* 等候替補客戶名單域的隊尾指針 */ linkqueue; typedef struct ord_ros /* 乘員名單 */ char name10; /* 客戶姓名 */ int ord_amt; /* 訂票量 */ int grade; /* 艙位等級 */ struct ord_ros *next; linklist; struct airline char ter_name10; /* 抵達城市 */ char air_num10; /*

15、航班號 */ 五、源代碼 #include #include #include #include #include #define MAXSIZE 5 /* 定義航線數(shù)量,可修改 */ typedef struct wat_ros char name10; int req_amt; /* 單鏈隊列存儲等候替補的客戶信息 */ /* 姓名 */ /* 訂票量 */ struct wat_ros *next; qnode,*qptr; typedef struct pqueue qptr front; qptr rear; char time10; /* 飛機時間 */ char pri7; /*

16、 票價 */ /* 乘員定額 */ /* 余票量 */ /* 乘員名單域,指向乘員名單鏈表的頭指針 */ /* 等候替補的客戶名單域 ,分別指向排隊等候名單隊頭隊尾的 lineinfo; struct airline *start; void display(struct airline *info) /* 打印每條航線的基本信息 */ printf(%8st%3st%stt%4st%3dt%10dn,info-ter_name,info-air_num,info-time, info-pri,info-tkt_amt,info-tkt_sur); void list() /* 打印全部航線信

17、息 */ struct airline *info; int i=0; info=start; printf(終點站名t航班號t飛行時間t票價t乘員定額t余票量n); while(iMAXSIZE) displaynfo); /* 調(diào)用 display函數(shù)來輸出 */ info+; i+; printf(nn); void search() /* 根據(jù)客戶提出的終點站名輸出航線信息 */ struct airline *info,*find(); char name10; /* 要抵達的城市名稱 */ int i=0; info=start;int tkt_amt; int tkt_sur;

18、linklist *order; linkqueue wait; 指針*/ printf( 請輸入要抵達城市的名稱 :); scanf(%s,name); while(iter_name) /* 有該站名 strcmp則返回,if(!O)即 break*/ break; info+; i+; if(i=MAXSIZE) /* 沒有匹配的航線 */ printf( 對不起,沒有這條航線 !n); else printf(終點站名t航班號t飛行時間t票價t乘員定額t余票量n); info=start; printf( 請輸入航班號 :); scanf(%s,number); while(iair_

19、num) return info;display(info); struct airline *find() struct airline *info; char number1O; int i=O; /*調(diào)用display函數(shù)輸出航線信息*/ / *根據(jù)/* 查詢的航班號 */ /* 有匹配航班 */ info+; i+; printf( 對不起,沒有這條航線 !n); /* 無匹配航班 */ return NULL; void prtlink() linklist *p; struct airline *info; /* 打印訂票乘員名單域的客戶名單信息 */ info=find(); p

20、=info-order; if(p!=NULL) printf( 客戶姓名 while(p) /* 按順序輸出客戶信息鏈表 */ 訂票數(shù)額 艙位等級 n); 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

21、=(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

22、(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=NULL) /* 若原排隊等候客戶名單域為空 */ =new1; else next=new1; =new1; return q;/* 增加排隊等候的客戶名 /* 訂票數(shù)量 ,艙位等級 */ /* 要訂的航班號 */ /* 根據(jù)客戶提供的航班號進行查詢,如為空,退出該模塊 */ printf( 請輸入您

23、需要的票數(shù) :); scanf(%d,&amount); if(amountinfo-tkt_amt) /* 若客戶訂票額超過乘員定票總額,退出 */ printf(n 對不起,您輸入票數(shù)已經(jīng)超過乘員定額 !); return; if(amounttkt_sur) /* 若客戶訂票額末超過余票量,訂票成功并 等記信息 */ int i; printf( 請輸入您的姓名 :); scanf(%s,name); printf( 請輸入您需要的艙位等級 (1,2或):); scanf(%d,&grade); info-order=insertlink(info-order,amount,name,g

24、rade); /* 在訂票乘員名單域 中添加客戶信息 */ for(i=0;itkt_amt-info-tkt_sur+i+1); info-tkt_sur-=amount; /* 該航線的余票量應減掉該客戶的訂票量 */ printf(n 祝您乘坐愉快 !n);void order() struct airline *info; int amount,grade; char name10; info=start; if(!(info=find() return; /* 辦理訂票業(yè)務 */ /* 若滿員或余票額少于訂票額,詢問客戶是否需要進行排隊等候 */ char r; printf(n 沒

25、有這么多票了,您需要排隊等候嗎 (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;

26、linklist *p1,*p2,*head; char cusname10; if(!(info=find() /* 調(diào)用查詢函數(shù),根據(jù)客戶提供的航線進行搜索 */ return; head=info-order; p1=head; printf( 請輸入你的姓名 :); scanf(%s,cusname); while(p1!=NULL) /* 根據(jù)客戶提供的姓名到訂票客戶名單域進行查詢 */ if(!strcmp(cusname,p1-name) break; else p2=p1; p1=p1-next; if(p1=NULL) /* 若未找到,退出本模塊 */ printf( 對不起

27、,您沒有訂過票 !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; r=(info-wait).rear; t=f; /* 重新將航線名單域指向訂票單鏈表的頭指針 */ /*f 指向排隊等候名單隊列的頭結(jié)點 */ /*r 指向排隊等

28、候名單隊列的尾結(jié)點 */ /*t 為當前滿點條件的排隊候補名單域 */ while(t) if(info-tkt_sur=info-req_amt) /* 若滿足條件者為頭結(jié) 點 */ int i; info-=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,grad

29、e);/* 插入到訂票客 戶名單鏈表中 */ 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 seat number is:%dn,t-name,(info-tkt_sur)-i); info-tkt_sur-=t-req_amt; info-order=insertlink(in

30、fo-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( printf(1. 查看航線信息 n); printf(2. 查看已訂票客戶信息 n); printf(3. 查詢航線 n); printf(4. 辦理訂票業(yè)務 n); printf(5. 辦理退票業(yè)務 n); printf(6. 退出系統(tǒng) n); printf(n); do printf( 請選擇 (1-6)

31、:); 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,40 ; start=air; for(;) system(cls); switch(menu_select() case 1:

32、list(); break; /*無限循環(huán)(除非用戶選擇 .退出)*/ /* 清空屏幕 */ /* 打印全部航線信息 */ 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); /*正常退出程序 */ /* 退票 */ printf(n 任意鍵繼續(xù) .n); getch(); /* 任意

33、鍵繼續(xù) */ 六、運行結(jié)果分析 1.菜單:進入系統(tǒng)后,會出現(xiàn)如下菜單,如圖 菜單: 圖菜單 用戶根據(jù)自己需求選擇輸入數(shù)字(1-6)即可進入相應功能。 2.查看航線信息:在菜單頁面下輸入數(shù)字1,回車,即可瀏覽全部航線信息。如圖 查 看航線信息: FFFi 示 丄查看航裁社包 B 查暑已訂票客戶信息 辦理卩建業(yè)務 亦理逋熏業(yè)勢 退出系統(tǒng) nnwWtfVWUWTWUMVruwnnvfvrvnjnrrurvrurirrvrw 任意犍繼續(xù) 圖查看航線信息 3.查看已訂票客戶信息:在菜單頁面下輸入數(shù)字 2,回車,然后輸入航班號即可查 圖查看航線信息 自3 信 戶 息胸窮務 信票業(yè)業(yè) 線訂緯翼票統(tǒng) 航己ff

34、i口墩 詢理番 杳查查亦辦退 請選拝f(xié) 終點話名 be ij insr shangrhAl london hai*I) )in dalian 航班號飛行時間 1 1200 2 1090 3 133S0 4 1709 票價 乘貝定額 8G0 30 30 770 20 20 90 19 10 760 50 50 550 40 40 看。 如圖 查看航線信息: 自薯務- 線訂曙軍11 11 航已呼遍系 專詢理理岀 查查查辦辦退 訂票系統(tǒng) 請選 該航線有客戶預定則顯示客戶預定的信息。如圖 查看客戶預定信息: 訂票系茄 fuwvumnmmrrviiruTwruwvnjvuwvwtfwwxmmmrTunr

35、ni1 匚杳看航線信息 氛查看己訂菓專戶信息 3璋嚙航或 4 .辦理訂票業(yè)務 5 辦理退累業(yè)務 J 退出系統(tǒng) 請選擇= 2 請輸入航班號吃 容戶姓名 訂票數(shù)飆 飽位等級 hiye 任竜鍵繼績 查看客戶預定信息 如果該航線沒有客戶預定,則會提示該航線沒有客戶信息。如圖 任意犍繼續(xù)- 圖無人預定航線 訂票系統(tǒng) 2Z2222 書隸嶷韻市的名幣 圖查詢航線頁面 根據(jù)提示輸入要抵達城市的名稱即可查詢。 如果有該航線,則會顯示該航線的信息 如圖航線信息:無人預定航線: 息 信 息 戶 -置 息客務務2:12:1戶 信票業(yè)業(yè)-兀號客 線訂答篥統(tǒng)班有 航己肌訂退系=航?jīng)] 詢理理出擇入線 查查查外外退選餐 B

36、B- -IJIJ- -I4,2 I4,2 亦 j 住握鋰 4.查詢航線:在菜單頁面 詢航線頁面: F輸入數(shù)字 3,回車,即可進入查詢航線功能。如圖 自8 息客 信票業(yè)業(yè) 線訂筆集統(tǒng) . 一如1J1J艮芋 詢理理出 查查查辦靈 1.查看航線信息 2 查著已訂票容戶信息 蘇理口節(jié)業(yè)務 亦理追索業(yè)第 退出系繞 KWvmjVWXMWtfWWWWWMrMWiNMWMWMifWVWrWWftftAmr 任意犍繼續(xù) 圖航線信息 如果沒有該航線,則會顯示對不起,沒有這條航線。如圖 無此航線: 任惹犍繼續(xù)八 圖無此航線 5辦理訂票業(yè)務:在菜單頁面下輸入數(shù)字 4,回車,即可進入辦理訂票業(yè)務功能 如圖訂票頁面: 圖

37、訂票頁面 用戶根據(jù)提示依次輸入航班號、票數(shù)、姓名、艙位等級即可。如圖 訂票信息:請選擇1-6:3 喬笹入妾抵達城市的名禰:ie ij inff 終買站名 航班尋 飛行吋間 heijirag 1200 票價 乘員定額 余票量 860 30 30 C C i i e e b b n n u u 1 1 HH 自心 戶 息客務勞 信票業(yè)業(yè) MgMg- -wiwi- - -6 6賽 舵己朋口晶系11要 騫詢理理岀擇入起 杳_杳_杳蘇辦退選隼 g g- -沢久2請注那 心達旨 息 信 戶 息客務務 信票業(yè)業(yè) 銭訂裁需蔬 航己M M訂退系 看看詢理 擊董查辦辦迪 訂票系統(tǒng) 圖訂票信息 如果訂票成功,則會顯

38、示座位號,并提示祝您乘坐愉快。如圖 訂票成功: 訂票系扌充 1 查看航線信息 囂查看已訂幕容戶信息 扎查詢航線 勺辦理訂票業(yè)務 靈辦孑里退票業(yè)務 退出系統(tǒng) 請選棒Qf心 請輸天航班號;1 請揄入鏗需蘿的票數(shù) 諳輸入傾的姓務U1YE 請繪f入偵需要閔艙檢等級: 2 RHE的座位號曇:1 祝您乘坐愉快! 任鳶鍵繼裁 圖訂票成功 如果在輸入訂票信息時,輸入的票數(shù)大于額定乘員數(shù),則會訂票失敗并提示。 訂票系統(tǒng) rwwwijwnjwnmaruv*uwwwKlMvwhfumLrwwnn_nxnFUYhjr 一查看航線當,恿 2 -查著自訂票客戶信息 乩査周航殘 4 辦理訂票業(yè)務 覚辦理退票業(yè)務 3 退出系

39、統(tǒng) fWTwrwwnmnvrurvTvruwviwwwwvwwxmmrnrivnwum 請選擇小 請輸入航班號M 諳輸入您需喪的票=111 對不起.您揄入幕數(shù)己經(jīng)超過乘員定頷賈 任鳶籬繼績 息客務務 信票業(yè)業(yè) 踐訂線_篥統(tǒng) 舵己龜訂涯系 詢理理出 查查査辦辦退 1 2 3 4 1 2 3 4 U GU G : :EKIEKIn n 數(shù)IVIV位 票=D=D艙 4:1:1的一雀K1K1- - :號轟要 -&垂EE需 a躺心您您 擇入入入入 選 請請請壬 圖訂票失敗 如果在輸入訂票信息時,輸入的票數(shù)小于額定乘員數(shù),大于余票數(shù),則會提示沒有 這么多票了,詢問是否進行排隊等候。如圖 詢問是否排隊等候:

40、 訂票系統(tǒng) 查看航線信息 2 -查看己訂票客戶信息 3 -查藥航聶 H樸理iT票業(yè)務 5辦理退票業(yè)務 退出系統(tǒng) 請選擇YAM 請騎入航班號汐 請輸入您需要的票 = 19 沿有這么多票了.您需要排隊等候嗎2. 圖詢問是否排隊等候 如果輸入N,代表不排隊,則會提示歡迎下次訂購。如果輸入 Y,代表進行排隊等 候。這是會提示用戶輸入姓名進行排隊。如圖 排隊等候: 訂票縈統(tǒng) 查看航線僖息 2 查看已訂票客戶信息 芫查詢ffi;線 4 -辦士里iT票業(yè)務 J 辦理退票業(yè)務 退出柔統(tǒng) rfanrwzrijrwwnjwfwrwzfwrwfVfvmrinrvrvnjrvmErwrv 請選擇灶-小4 請輸人腕班號

41、龍 請輸人檢需要的票教曲 澄有這么多票了,您需要排隊等候嗎他心 請輸人燃的姓名=LILI 注冊排隊成功* 任議雌綾 圖排隊等候 6.辦理退票業(yè)務:在菜單頁面下輸入數(shù)字 5,回車,即可進入辦理退票業(yè)務功能 如圖 辦理退票業(yè)務頁面: 訂票系統(tǒng) -查看航線信息 壬-查看已訂票宮戶信息 在查詢航線 乳辦理訂票業(yè)務 5 -辦理想票業(yè)務 退出系統(tǒng) rwvwwtmrzffwrvnrwvrvfVfVfVfvrvrMwvfvrMrvrvrvfv 諳選怪 請輸入航班號= 圖辦理退票業(yè)務頁面 根據(jù)提示輸入航線號和姓名即可進行退票。如果此時這條航線有人排隊等候,余票 數(shù)可以滿足其需求,其訂票即可成功。如圖 排隊等候訂

42、票成功: 訂黑系統(tǒng) RjwunjiwrvnrrvruwvinmnfvwiivnfwunjiruinjvwrvfKirvEfv 4 查看航線信息 2 查看已訂票容戶信息 趴查詢航線 4 辦理訂票業(yè)務 5 辦理退票業(yè)務 退出系統(tǒng) ivwwwwftmmMWMnwwwvwwftnwftjfwwmfwwww 請選擇燈-G :5 請輸人航班號沌 請輸入枷俞姓名:biyte hi般退票成血, Lis訂票成功? LILI的座位號:20 LILI的座位號旱:19 ULI的座位號是小 LILI的座位號:17 LILI的座位號杲江6 ULI的座位號 L1LI的座曾號&:14 L【LI的座位號|-:13 LILI的座

43、位號 = 12 LI的座位號杲;1丄 LIU的座位號杲曲0 L1LI的座位號杲?jīng)A LILI的座位號是胡 ULI的座位號是汐 LIU的座位號是M LILI&座屈號是汚 1-1 Lift座位號舁赳 LILI的座位號杲估 LIU的座位號杲沙 任鳶鍵績 圖排隊等候訂票成功 7退出系統(tǒng):在菜單頁面下輸入數(shù)字 6,回車,即可退出系統(tǒng)。如圖 退出系統(tǒng): 訂苧系統(tǒng) 查看航線僖息 羅查看已訂票害戶信息 乳查詢航線 乩辦理訂票業(yè)務 乩辦理退票業(yè)齊 追出系統(tǒng) rwruwwuwuwtfumfxrinmmjmnunnjvuwiiunLnuTunmrE 請選iS=6 感謝您的使用,再恥! Press anv ke to

44、continue 圖退出系統(tǒng) 七、收獲與體會 在編寫的時候只使用了相對較為簡單的基礎語言,代替了相對較為復雜的語言,降 低了運行效率。測試輸入的數(shù)據(jù)也有一定的局限性,但是基本可以滿足訂票系統(tǒng)的需求。 這個程序有許多地方可以改進,例如: 數(shù)據(jù)全部存儲在內(nèi)存中,可以考慮繼續(xù)編寫將數(shù)據(jù)保存在文件中,這樣不會丟 失。 航線信息只能通過修改代碼來修改,可以編寫一個函數(shù)來修改航線信息并將其 保存在文件中。 使用的語言較基礎,運行效率較低,可以考慮寫一些較為復雜但運行效率高的 界面不夠美觀,菜單也只是局限在左上角,可以修改 八、參考文獻 1 嚴蔚敏,吳偉民,數(shù)據(jù)結(jié)構(gòu)(C語言版)M.清華大學出版社,1997. 2 夏濤.C語言程序設計,北京郵電大學出版社,2007. 3 譚浩強.C程序設計(第三版)M.清華大學出版社,2006. 4 百度.百度知道.百度文庫

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!