版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、設(shè)計題目航空訂票系統(tǒng)任務(wù):航空客運定票的業(yè)務(wù)活動包括:查詢航線、客票預(yù)定和辦理退票等。試設(shè)計 一個航空客運定票系統(tǒng),以使上述業(yè)務(wù)可以借助計算機來完成。功能要求:(1)錄入:可以錄入航班情況(2)查詢:可以查詢某個航線的情況(如輸入航班號,查詢起降時間,起飛抵 達城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市, 查詢飛機航班情況;(3)訂票:(訂票情況可以存在一個數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如 果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;(4)退票:可退票,退票后修改相關(guān)數(shù)據(jù)文件;(5)客戶資料:有,證件號,訂票數(shù)量及航班情況,訂單要有編號;(6)修改航班信息:當航班信
2、息改變可以修改航班數(shù)據(jù)文件。需求分析本演示程序中,由用戶錄入或修改航班情況,進行查詢,預(yù)定及辦理退票等 業(yè)務(wù),用戶在菜單中進行各個不同功能的選擇,有“輸入航班信息”、“列出航班 信息”、“按航班號查詢航班信息”、“按出發(fā)到達城市查詢航班信息”、“訂票”、 “退票”、“修改航班信息”、“退出程序”八個功能。概要設(shè)計typedef struct double nu mber;/ 訂單編號 char n ame20; char id20;/ 號 int coun t;/ 數(shù)量 char p20;/ 航班號GUEST;typedef structchar num20; 航班號char depart30
3、;出發(fā)城市char arrive30;到達城市char start20; 起飛時間 char en d20;到達時間int price;/ 價格 int discount;折扣率(%int total;/ 總票數(shù) in t rest;/剩余票數(shù)int t;/ 訂單數(shù)GUEST guest20; 乘客 PLANE;PLANE pla ne20;int n;/n 為航班數(shù)void in putpla ne()輸入航班void list()/顯示void search1()按航班號查詢void search2()按起飛抵達城市查詢void book()訂票void quit()退票void cha
4、nge() 修改程序調(diào)用關(guān)系如下:詳細設(shè)計#include<stdio.h>#include<stdlib.h>#include<string.h> typedef structdouble number;/ 訂單編號 char name20; char id20; 號 int count;/ 數(shù)量char p20;航班號GUEST;typedef structchar num20; 航班號char depart30;出發(fā)城市char arrive30;到達城市char start20;/ 起飛時間char end20;到達時間int price;/ 價格i
5、nt discount;/折扣率(%int total;/總票數(shù)int rest;/剩余票數(shù)int t;/ 訂單數(shù)GUEST guest20;/ 乘客PLANE;PLANE plane20;int n;/n為航班數(shù)void inputplane()輸入航班int i;printf("輸入總航班數(shù):");scanf("%d",&n);printf("輸入航班信息:n");剩余票數(shù)printf(" 航班號岀發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)n");for(i=0;i<n;i+)scanf(&q
6、uot;%s %s %s %s %s %d %d %d %d",planei.num,planei.depart,planei.arrive,planei.start,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest);void list()顯示int i;printf(”航班號岀發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)n");for(i=0;i<n;i+)printf("%s%s%s%s t%st%dt%dn",plane
7、i.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discount,planei.total,planei.rest);void search1()按航班號查詢int i;char num20;printf("輸入你查詢的航班號:");scanf("%s",num);for(i=0;i<n;i+)if(strcmp(num,planei.num)=0)printf(" 航班號岀發(fā)城市到達城市起飛時間 到達時間 價格折扣率剩余票數(shù)n&
8、quot;);printf("%s%s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discount,planei.total,planei.rest);break;if(i=n)printf("沒有此航班!n");void search2()按起飛抵達城市查詢int i;char a50,b50;printf("輸入起飛城市和到達城市:");scanf("%s %s&q
9、uot;,a,b);printf(" 航班號岀發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)n");for(i=0;i<n;i+)if(strcmp(a,planei.depart)=0)&&(strcmp(b,planei.arrive)=0)printf("%s%s%s%s t%st%d剩余票數(shù)%dt%d總票數(shù)%dt%d剩余票數(shù)%dt%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.discoun
10、t,planei.total,planei.rest);printf("n");for(i=0;i<n;i+)if(strcmp(a,planei.depart)=0)&&(strcmp(b,planei.arrive)=0) break;if(i=n)printf("沒有此航班!n"); void book() 訂票char name20,p20,id20;double number;int i,j,k,y,count;for(i=0;i<n;i+)planei.t=0;doprintf("輸入訂單信息:n&quo
11、t;);printf("訂單編號號訂票數(shù)航班號n");scanf("%d %s %s %d %s",&number,name,id,&count,p); for(i=0;i<n;i+)if(strcmp(p,planei.num)=0)break;if(i=n)printf("沒有此航班n");elseif(planei.rest>=count)j=planei.t;planei.guestj.number=number; strcpy(,name);strcpy(pla
12、nei.guestj.id,id); planei.guestj.count=count; strcpy(planei.guestj.p,p); planei.rest-=count;planei.t+;elseprintf(”很抱歉,該航班剩余票數(shù)為%d n",planei.rest);for(k=0;k<n;k+)if(strcmp(planei.depart,planek.depart)=0)&&(strcmp(planei.depart,planek.depart)=0)break; if(k=n)printf("沒有苴/、他 從%s到%s的航
13、班n",planei.depart,planei.arrive);elseprintf("從%s到%s還有%s航班nn",planek.depart,planek.arrive,planek.num);printf(" 航班號出發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)剩余票數(shù)n");printf("%s%s%s%s t%st%d%dt%dt%dn",planek.num,planek.depart,planek.arrive,planek.start,planek.end,planek.pr ice,planek.di
14、scount,planek.total,planek.rest);printf("是否繼續(xù)訂票,“是”輸入1,“否”輸入0n");scanf("%d",& y);while(y); void quit() / 退票double number;char id20;int i,j,temp,k,y;temp=0;printf("請輸入您的訂單編號:n");scanf("%d",&number);printf("請輸入您的:n");scanf("%s",id);fo
15、r(i=0;i<n;i+)for(j=0;jvplanei.t;j+)if(number=planei.guestj.number&&(strcmp(id,planei.guestj.id)=0)temp=1;break;if(temp=1)break;if(i=n)printf("沒有此訂單!n");elseprintf("訂單編號號訂票數(shù) 航班號n");printf(" %d",planei.guestj.number);printf(" %s",);p
16、rintf(" %s",planei.guestj.id);printf(" %d",planei.guestj.count);printf("%sn",planei.guestj.p);printf("您是否確認刪除(1/0)n");scanf("%d",&y);if(y=1)planei.rest+=planei.guestj.count; for(k=j+1;k<planei.t;k+) planei.guestk-1.number=planei.guestk.number;
17、strcpy(,);strcpy(planei.guestk-1.id,planei.guestk.id);planei.guestk-1.count=planei.guestk.count; strcpy(planei.guestk_1.p,planei.guestk.p);planei.t_;printf("退票成功!n");void change()修改char a20;int i;printf("請輸入你要修改的航班號:");scanf("%s",a)
18、;for(i=0;i<n;i+)if(strcmp(a,planei.num)=0)break;if(i=n)printf(”沒有此航班!n");elseprintf("原信息:n");剩余票%dt%d剩余票printf("航班號岀發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)數(shù) n");printf("%s%s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.pr ice,planei.disc
19、ount,planei.total,planei.rest);printf("請輸入修改后的信息:n");printf("航班號岀發(fā)城市 到達城市起飛時間到達時間價格折扣率總票數(shù)數(shù) n");scanf("%s %s %s %s %s %d %d %d %d",planei.num,planei.depart,planei.arrive,planei.sta rt,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest);v
20、oid main()int a,b;dosystem("cls");for(a=0;a<50;a+)printf("*");printf("n");printf("tt1:輸入航班信息 n");printf("tt2:列出航班信息 n");printf("tt3:按航班號查詢航班信息n");printf("tt4:按出發(fā)到達城市查詢航班信息 n");printf("tt5:訂票 n");printf("tt6:退票 n&
21、quot;);printf("tt7:修改航班信息 n");printf("tt8:退出程序n");for(a=0;a<50;a+)printf("*");printf("n");printf("請輸入功能選項1-8) : n");scanf("%d",&b);switch(b)case 1:inputplane(); system("pause");break;case 2:list();system("pause");
22、 break;case 3:search1(); system("pause"); break;case 4:search2(); system("pause"); break;case 5:book(); system("pause"); break;case 6:quit();system("pause"); break;case 7:change(); system("pause"); break;case 8:break;while(1);調(diào)試分析a. 在做“退票”函數(shù)(即void qu
23、it ()時,系統(tǒng)總是顯示沒有此訂票,最后 發(fā)現(xiàn)沒有跳出其中的一個這個雙層for循環(huán),現(xiàn)在通過調(diào)試,解決了這個問題。b. 調(diào)試后程序會自動判斷輸入的數(shù)字的有效性。用戶手冊(1) 演示程序的運行環(huán)境為 WindowsVista 系統(tǒng),Microsoft Visual Studio 6.0中的Microsoft Visual C+ 6.0中運行。執(zhí)行文件為:航空訂票系統(tǒng) .exe(2) 進入演示程序后即顯示DOS形式的界面:::* 尊 * * * # :|=4: * 才* * * * 戟*神琳 * * * * * 3C * * * # * *h輸入航班信息2.列出航班信息3:按航班號査誨肌次信息仏
24、拽出寢到辻就市備航班信息5:訂票6=退票?;修改航班信層8?退出程序?qū)?* 屮 * *4: * 故*:#*"|-* 咄冷 *-岀 ir* * *#* * * 才 *敢* * *i青輸人功能詵lfil-8) r(3) 輸入航班信息。(4) 由用戶在菜單頁面選擇需要執(zhí)行的功能,系統(tǒng)會顯示相關(guān)信息測試結(jié)果)輸入航班信息|d|:*#犧*:c * 羋 * :(d|ci|c* d|o|i: * x *#* *li右4=5:6;7i召輸人航班儲列岀航班信息按航班號查詢航刊王信息按出發(fā)到這城市查詢航班信息疔票追票修咖HI息退岀程序BC 33|c沖3|C 3l|£ 3|Q|C5fC|C 3f
25、C"3f!9fC 3p 9|9|£|0|0(3£33|£3(審曲入功能Mi-8),1輸入愿骯班數(shù);5 輸入航班信息: 刪于號出發(fā)城市到達城市起飛時間到達時間價格折扣室總票數(shù)商膾票數(shù) MU5102上海虹帝北京 CA1530上海虹襪j匕京K119207上海虹轎 廣州H012413U89G4卜悔浦東成都請按任意鍵繼續(xù).7:00 9:20 1063 34 20 2S:5E 11:IE Ef4 75 20 060S 42 20 541S 20 11922 5" 20 110:3019:5015; 4512:5021:2019;05(2) 列出航班信息*
26、才*冀*斗*襯*:(:* 口和林牡*:<*林*#甘* 才 Die*1:2:乩4=5:矩8 +輸入航班信息列出航班信息按航班號查詞航班信息按岀發(fā)到達城宀登詢航班息訂票修改航班信息退岀程序iw清諭入功自畠3頂1-8);肌莢號 岀發(fā)城市到運城市 起飛時間MU5103上靈虹橋PA1590上梅虹榕9307上禱虹僑上海浦東_二海辭情按任意鍵繼綾HO12413U39647:0C8:5510:3019;5015:45至噠對間9:2011:1512:5(J21; 2019:05價格1063 劉4603413刪折扣率94754S5657總票數(shù)202(1202020剩余票數(shù)2L111(3 )按航班號查詢航班信
27、息卜* x *jd|c2(cj|c:|c|c * d|c|: * 3C * :s|c #* :|c * 卓 *#* * *#木# * 杠 * 十1;2:3;4=5:6:7:些輸人區(qū)班信.列出航班信息按航班號査詢刪王信息按岀發(fā)至壓城市查詢航班信息 訂票;息退示修護反班信息 退出程序槪* 箕* *片*乂*"|*賈* * 十* 屮嗆 *屮* 電* * *幘諭Lk功自繼項1-S):輸人你查詢的骯班昏】123 役有此舫班!姑孩任意鍵繼續(xù).(4 )按出發(fā)到達城市查詢航班信息p* * :j|cc|c XT* d|o|c * d|c(: * 3C* :i|o|c #:!:* :|: * 半 * *3
28、4: :fc4: *#* 總 * *1:輸入航班信息2:列岀航班信息3:按航班號萱詢航班信恵4:按岀發(fā)到迖城凸查詢航班信息5:訂票&退票7. 修咬航班信烏8=退岀程序»:衣*斗誅*無朮牡#*:*#*:*#*:*章*#*:*曲1來*1*羋憫諭忘鳩繼項1-刃:侖入起飛城市和到達城曲二海虹橋北京耐塢出發(fā)城市 到達城市 起飛時間 到達時間 價格折扣率總票數(shù)乘I除票數(shù)IUC103 上悔虹橋 北京 7:039:2010S334202CA15Q0 上溝虹棉犯京0:5511:15S64 7S 200b瀕Et鎮(zhèn)繼續(xù).(5)訂票* :>|o|c * 常:*>:* 乂 * * 年乍 *
29、 芒* 琳* * 扣卍1輸入航列膽息I 右列岀航班信息玉按航班號查詢航班信息4=按出發(fā)到達或市查詢航班II息5;訂票6;退票J修議航班信息I81退岀程序"申 二*|C:申; >-申"=申申,.申=方.申.申-彳.申-墨"申-申中.申-申* £-中 .*-申I =申=鼠申-9 =*.*-+" 申-j"申-"申-申.申-申A-申 .*I申i .申=.申. 請輸入功能選項1-引:E輸入訂單信息;訂單編號 妊名 身悅訂號 訂栗數(shù) 航班號1 張三豐 2100CD12 L 3U8964是否邃續(xù)訂票“是”輸否“輸入D1輸入訂單信息;
30、訂單編號妊名身份證號訂票數(shù)航班號2 張翠山 31000025 1 FI9307是否繼鎖訂票,*是"輸入X “否"輸入D1輸入訂單信息:訂卑漏廿片二名貝V訂呂訂隼敘駆班號3 張無忌 31000033 1 JIU5103是否継續(xù)訂票,躋是”輸入1, “否"輸入DD諳按任意縫纏績一一一顯示退票后航班信息:*!: :c3|c|ci* 乂 *#* :o|c * d|cjk: d(cj|c |cj)|c * ZC * :>|d|c * Dof: * :|cj4:* *2:4±5:6;?;St1;輯入航班信息 列岀航班信息 持航班號查詢航班信息 按岀發(fā)到達城方查
31、詢航班信息 訂票j艮旱 修莎航班信息 退岀程序Lt-f -卓.尖.申*:買:申-”* 札* .機:申;-* 申-卓丸卓申申一.申.jC :”申】耳I .* 片L 5C :峯、-申.*_申.* 卓.*-.斗焉諭入功能選項1-呂):I-甌資號岀發(fā)城市 MU5103上海虹橋 上海虹橋 上海虹楙 上海浦東 I海浦東CA1590FM3307 ml 241BUE964焉按任意鍵繼純到達塑帀北棗北京廣州青島起飛時間7:0C8:5510:30仙:ED15:45到達時間 9:20 11:15 12:50 21:20 19:05價艷 1063 86460S412血折扣率94754S葩57總票數(shù)2020202020
32、剰余票數(shù)1C4110(6)退票1:輸入航班信息2.列出航班信息3*按航班號查詢航班信息4=按岀發(fā)到達城市查誼航班信息 5=訂票6;退票 7*修改骯班信息 8:退出程序t 淖""*"1*"|p' i|r JT*1" " 斗* 丁* 彳”*八*"* "if "會"¥"i* *ii*"*=i* *11*" A"i*fr*"請輸入功能選®l-8):請»入您的訂單編號;2請輸入您的身什證:31OO5O2E;訂單編號姓名
33、身粉證號訂票數(shù)航班號2 張翠山 2100002E 1F1I9307您是否確認刪陰仇“)1退幕.或功!'請按任竜題雀壕顯示退票后航班信息:* :>|cj|c* * * :c * :fz|c * * * # * :>|a|c* d|c|i: * 3C * * * :jo|c * * * * 才本 * 本 * *輸入航EH言息 列岀航班信息 按航班號查詢航班信恿 按岀發(fā)到達城市查詢航班信息 訂票 退皋修後航陽言息退岀程序1:厶虹5=6:7;氏請輸入功能選項1-叮1舫班呂TO103CA15900307H01241pUKyb4出宦城市到達城市起飛時間到達時間價格折扣率更票數(shù)二港虹橋
34、北京7:009:2010639420進虹糅匕京8:5F11;15S54T520上海虹橋 廣州10:3012:506J84B20上海涌東青島19:5021:20418S620上梅浦親 喩都15:45iy:os型汕刻余票數(shù)11請扌姙意鍵繼續(xù) (7) 修改:h輸人航班信息厶列出航班信息3;多航班號萱詢航班喑息4=按出發(fā)到迖城市萱嗚飢班信息5:訂票6;退票71修改航班信息IS.退出程序諳輸入功能選項1-8):7請邇?nèi)肽阋薷牡暮桨?:3U39o4原信息:翩左號岀發(fā)城市到達城有起飛時間到達時闔價格折扣率總票數(shù)剌余樂數(shù)SU8%4 上悔浦余成都 15:4& iy:D5 922 b7 2(J U請輸入修改后的信息:航班號岀發(fā)城市到達城肓超飛時間到達時間價格折扣率總票數(shù)剰余票數(shù) 3UB%4 上海浦東成都 1E/5 10;0E 022 57 20 3請按任意鍵昨.修改后顯示航班信息* *d|c :c|c *#*:(: !:* 耿 * *d|cz|z: * 盤 * sc *:<* 卓 * |o|c *:>|afc * *ll輸入航班信息 2.列出航茨
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年物流項目管理年終工作總結(jié)5篇
- 小學(xué)五年級英語教學(xué)總結(jié)
- 會計述職報告范文15篇
- 2023年實驗室工作計劃安排(四篇)
- 世界風險投資企業(yè)案例
- MLEM算法全過程推導(dǎo)
- 國內(nèi)外護理人員等級現(xiàn)狀及我國護理人員等級劃分的設(shè)想
- 市場營銷學(xué)習(xí)心得10篇
- 自我介紹演講稿怎么寫?【5篇】
- 2022新學(xué)期中學(xué)生勵志演講稿三篇
- 執(zhí)業(yè)藥師管理 (藥事管理與法規(guī)課件)
- 三年級下冊美術(shù)教案-第9課 畫古樹 ▏人美版(北京)
- GB/T 11085-1989散裝液態(tài)石油產(chǎn)品損耗
- 紫外線燈管強度監(jiān)測表
- 市場營銷中心項目建設(shè)方案
- 質(zhì)量信得過班組創(chuàng)建計劃
- 浙江英語中考作文范文10篇
- 遼寧大學(xué)2023年畢業(yè)生就業(yè)質(zhì)量報告(同名21742)
- 新聞學(xué)概論重點總結(jié)
- 制袋機的基礎(chǔ)知識課件
- 電力排管工程施工組織方案
評論
0/150
提交評論