版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
設計題目航空訂票系統(tǒng)任務:航空客運定票的業(yè)務活動包括:查詢航線、客票預定和辦理退票等。試設計一個航空客運定票系統(tǒng),以使上述業(yè)務可以借助計算機來完成。功能要求:(1)錄入:可以錄入航班情況(2)查詢:可以查詢某個航線的情況(如輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;(3)訂票:(訂票情況可以存在一個數(shù)據文件中,結構自己設定)可以訂票,如果該航班已經無票,可以提供相關可選擇航班;(4)退票:可退票,退票后修改相關數(shù)據文件;(5)客戶資料:有姓名,證件號,訂票數(shù)量及航班情況,訂單要有編號;(6)修改航班信息:當航班信息改變可以修改航班數(shù)據文件。需求分析本演示程序中,由用戶錄入或修改航班情況,進行查詢,預定及辦理退票等業(yè)務,用戶在菜單中進行各個不同功能的選擇,有“輸入航班信息”、“列出航班信息”、“按航班號查詢航班信息”、“按出發(fā)到達城市查詢航班信息”、“訂票”、“退票”、“修改航班信息”、“退出程序”八個功能。概要設計typedefstruct{doublenumber;//訂單編號charname[20];〃姓名charid[20];〃身份證號intcount;//數(shù)量charp[20];〃航班號}GUEST;
typedefstruct{charnum[20];〃航班號chardepart[30];〃出發(fā)城市chararrive[30];〃到達城市charstart[20];〃起飛時間charend[20];〃到達時間intprice;//價格intdiscount;//折扣率(%)inttotal;//總票數(shù)intrest;//剩余票數(shù)intt;〃訂單數(shù)GUESTguest[20];〃乘客}PLANE;PLANEplane[20];intn;//n為航班數(shù)voidinputplane()〃輸入航班voidlist()//顯示voidsearchl()〃按航班號查詢voidsearch2()〃按起飛抵達城市查詢voidbook()〃訂票voidquit()〃退票voidchange()//修改程序調用關系如下:退出修改航班信息輸入航班信息列出航班信息退出修改航班信息輸入航班信息列出航班信息按航班號1按出發(fā)到達查詢航班城市查詢航訂票信息班信息詳細設計#include<stdio.h>#include<stdlib.h>#include<string.h>typedefstruct{doublenumber;//訂單編號charname[20];//姓名charid[20];//身份證號intcount;//數(shù)量charp[20];//航班號}GUEST;typedefstruct{charnum[20];//航班號chardepart[30];//出發(fā)城市chararrive[30];//到達城市charstart[20];//起飛時間charend[20];//到達時間intprice;//價格intdiscount;//折扣率(%)inttotal;//總票數(shù)intrest;//剩余票數(shù)intt;//訂單數(shù)GUESTguest[20];//乘客}PLANE;PLANEplane[20];intn;//n為航班數(shù)voidinputplane(){//輸入航班inti;printf("輸入總航班數(shù):");scanf("%d",&n);printf("輸入航班信息:\n");printf(“航班號出發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)剩余票數(shù)\n");for(i=0;i<n;i++)scanf("%s%s%s%s%s%d%d%d%d",plane[i].num,plane[i].depart,plane[i].arrive,plane[i].start,plane[i].end,&plane[i].price,&plane[i].discount,&plane[i].total,&plane[i].rest);}voidlist(){//顯示inti;printf(“航班號出發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)剩余票數(shù)\n");for(i=0;i<n;i++)printf("%s %s %s %s \t%s\t%d %d\t%d\t%d\n",plane[i].num,plane[i].depart,plane[i].arrive,plane[i].start,plane[i].end,plane[i].price,plane[i].discount,plane[i].total,plane[i].rest);}voidsearchl(){//按航班號查詢inti;charnum[20];printf("輸入你查詢的航班號:");scanf("%s",num);for(i=0;i<n;i++){if(strcmp(num,plane[i].num)==0){printf("航班號出發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)剩余票數(shù)\n");printf("%s%s %s %s\t%s\t%d %d\t%d\t%d\n",plane[i].num,plane[i].depart,plane[i].arrive,plane[i].start,plane[i].end,plane[i].price,plane[i].discount,plane[i].total,plane[i].rest);break;}}if(i==n)printf("沒有此航班!\n");}voidsearch2(){//按起飛抵達城市查詢inti;chara[50],b[50];printf("輸入起飛城市和到達城市:");scanf("%s%s",a,b);printf("航班號出發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)剩余票數(shù)\n");for(i=0;i<n;i++){if((strcmp(a,plane[i].depart)==0)&&(strcmp(b,plane[i].arrive)==0))printf("%s %s %s %s \t%s\t%d %d\t%d\t%d\n",plane[i].num,plane[i].depart,plane[i].arrive,plane[i].start,plane[i].end,plane[i].price,plane[i].discount,plane[i].total,plane[i].rest);}printf("\n");for(i=0;i<n;i++){if((strcmp(a,plane[i].depart)==0)&&(strcmp(b,plane[i].arrive)==0))break;}if(i==n)printf("沒有此航班!\n");}voidbook(){//訂票charname[20],p[20],id[20];doublenumber;inti,j,k,y,count;for(i=0;i<n;i++)plane[i].t=0;do{printf("輸入訂單信息:\n");printf("訂單編號姓名身份證號訂票數(shù)航班號\n");scanf("%d%s%s%d%s",&number,name,id,&count,p);for(i=0;i<n;i++){if(strcmp(p,plane[i].num)==0)break;}if(i==n)printf("沒有此航班\n");else{if(plane[i].rest>=count){j=plane[i].t;plane[i].guest[j].number=number;strcpy(plane[i].guest[j].name,name);strcpy(plane[i].guest[j].id,id);plane[i].guest[j].count=count;strcpy(plane[i].guest[j].p,p);plane[i].rest-=count;plane[i].t++;}else{printf("很抱歉,該航班剩余票數(shù)為%d張\n",plane[i].rest);for(k=0;k<n;k++){if((strcmp(plane[i].depart,plane[k].depart)==0)&&(strcmp(plane[i].depart,plane[k].depart)==0))break;}if(k==n)printf("沒有其他從%s到%s 的航班\n",plane[i].depart,plane[i].arrive);else{printf("\n\n",plane[k].depart,plane[k].arrive從 %s 到plane[k].num);%s還有%s航班printf("航班號扣率總票數(shù)剩余票數(shù)\n");出發(fā)城市到達城市起飛時間到達時間價格折printf("%s%s %s %s\t%s\t%d %d\t%d\t%d\n",plane[k].num,plane[k].depart,plane[k].arrive,plane[k].start,plane[k].end,plane[k].price,plane[k].discount,plane[k].total,plane[k].rest);}}}printf("是否繼續(xù)訂票,“是”輸入1,“否”輸入0\n");scanf("%d",&y);}while(y);}voidquit(){//退票doublenumber;charid[20];inti,j,temp,k,y;temp=0;printf("請輸入您的訂單編號:\n");scanf("%d",&number);printf("請輸入您的身份證:\n");scanf("%s",id);for(i=0;i<n;i++){for(j=0;j<plane[i].t;j++){if(number==plane[i].guest[j].number&&(strcmp(id,plane[i].guest[j].id)==0)){temp=1;}if(temp==1)break;}if(i==n)printf("沒有此訂單!\n");else{printf("訂單編號姓名身份證號訂票數(shù)航班號\n");printf(" %d",plane[i].guest[j].number);printf(" %s",plane[i].guest[j].name);printf("%s",plane[i].guest[j].id);printf(" %d",plane[i].guest[j].count);printf(" %s\n",plane[i].guest[j].p);printf("您是否確認刪除(1/O)\n");scanf("%d",&y);if(y==1){plane[i].rest+=plane[i].guest[j].count;for(k=j+1;k<plane[i].t;k++){plane[i].guest[k-1].number=plane[i].guest[k].number;strcpy(plane[i].guest[k-1].name,plane[i].guest[k].name);strcpy(plane[i].guest[k-1].id,plane[i].guest[k].id);plane[i].guest[k-1].count=plane[i].guest[k].count;strcpy(plane[i].guest[k-1].p,plane[i].guest[k].p);}plane[i].t--;printf("退票成功??!\n");}}}voidchange。//修改{chara[20];inti;printf("請輸入你要修改的航班號:");scanf("%s",a);for(i=0;i<n;i++){if(strcmp(a,plane[i].num)==0)}if(i==n)printf("沒有此航班!\n");else{printf("原信息:\n");printf("航班號出發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)剩余票數(shù)\n");printf("%s %s %s %s \t%s\t%d %d\t%d\t%d\n",plane[i].num,plane[i].depart,plane[i].arrive,plane[i].start,plane[i].end,plane[i].price,plane[i].discount,plane[i].total,plane[i].rest);printf("請輸入修改后的信息:\n");printf("航班號出發(fā)城市到達城市起飛時間到達時間價格折扣率總票數(shù)剩余票數(shù)\n");scanf("%s%s%s%s%s%d%d%d%d",plane[i].num,plane[i].depart,plane[i].arrive,plane[i].start,plane[i].end,&plane[i].price,&plane[i].discount,&plane[i].total,&plane[i].rest);}}voidmain(){inta,b;do{system("cls");for(a=0;a<50;a++)printf("*");printf("\n");printf("\t\t1:輸入航班信息\n");printf("\t\t2:列出航班信息\n");printf("\t\t3:按航班號查詢航班信息\n");printf("\t\t4:按出發(fā)到達城市查詢航班信息\n")printf("\t\t5:訂票\n");printf("\t\t6:退票\n");printf("\t\t7:修改航班信息\n");printf("\t\t8:退出程序\n");for(a=0;a<50;a++)printf("*");printf("\n");printf("請輸入功能選項1-8):\n");scanf("%d",&b);switch(b){case1:inputplane();system("pause");break;case2:list();system("pause");break;case3:search1();system("pause");break;case4:search2();system("pause");break;case5:book();system("pause");break;case6:quit();system("pause");break;case7:change();system("pause");break;case8:break;}}while(1);}調試分析在做“退票"函數(shù)(即voidquit())時,系統(tǒng)總是顯示沒有此訂票,最后發(fā)現(xiàn)沒有跳出其中的一個這個雙層for循環(huán),現(xiàn)在通過調試,解決了這個問題。調試后程序會自動判斷輸入的數(shù)字的有效性。
用戶手冊(1) 演示程序的運行環(huán)境為WindowsVista系統(tǒng),MicrosoftVisualStudio6.0中的MicrosoftVisualC++6.0中運行。執(zhí)行文件為:航空訂票系統(tǒng).exe(2) 進入演示程序后即顯示DOS形式的界面:1:輸入航班信恵2:列出航班信息3:按航班號查詢航班信息4=拽出發(fā)到立城市查詢航班信息5:訂票6=退票7=修改航祖信息8:退小程序請輸入功能選頂1-呂):3) 輸入航班信息。4) 由用戶在菜單頁面選擇需要執(zhí)行的功能,系統(tǒng)會顯示相關信息測試結果1)輸入航班信息1=21=2:3:4:5:6:7:
a:歹!岀航班信息按航班號查詢砌壬信息按岀發(fā)到達城市查詢航班信息疔票退票修菠航班信息退岀程序1輸入總航班數(shù):5輸入航犯言息:航班號出發(fā)城市到達城市起飛時間到達時間價格折扣玄總票數(shù)賽怖票數(shù)ML5133上海虹祈北京CA1550上海虹萍j匕京FZ朗7上海虹萍廣州HC1341上海浦東青臨31'8964上海蒲茶成都請按任意鍵繼續(xù)???7:0Cg:2)10E3M2C2S:5E11:158E4752C010:3012:5019:F0刀:加15:4519:0560241RC2220112012)列出航班信息245ij73輸人航班信息列岀航班信息按航班號查詢航班信息按岀發(fā)到達城市查詢航班信息訂票退票修鼓航班信息退出程序剩余票數(shù)2IFII17:0C8:5510:3019;5015:45價格1D63幻460S413022折扣率94485657到達時間9:2011:1512:5021;2019:05請輸扎功能選頂1-8):2航班號岀發(fā)城市到運城市起飛時間MU5103上詹虹橋加止冗上陶吐橋FMj307上海虹僑HO1241丄海浦東3U3964上海浦東請按任意鍵繼續(xù)???3456784)按出發(fā)到達城市查詢航班信息3)按航班號查詢航班信息請輸人功自繼項1-動:3輸人你查詢的骯班呂:123沒有此舫班!請按任意鍵繼多.?.輸入航班信,息列岀航班信.息按航班號查詢航班信息按出岌到達城韋查詢航班信息訂票退票修叢航班信息退岀程序1:輸入航班信息2:列岀航班信息3:按航班號查詢航班信息4:按出友到達城+>查詢航班信息5:訂荼G:退票7:修改航班信息R:退出程序請輸八功能選項1-刃:4折扣率總票數(shù)34 2075 20折扣率總票數(shù)34 2075 20剩余票數(shù)2航臾號岀發(fā)戒方到込戒市起飛刊間到込刊間忻榕MU51C3 上海肛柝 北京 7;0) 9;20 1003Cx\15G0 上;境虹橋 北京 S:55 11:1E S64
訂票1=輸人航班信島2:列出航班信息3:按航班號查詢航班信息生:按岀發(fā)到達或市登詢航班信息5:訂票5:退崇7:修諛航跚言息乩退岀程序請輸入功能選項1-*):5輸入訂單信息:訂單編號妊容身吩遼號訂票數(shù)航班號張三豐31D0001213U8964是否堆續(xù)訂票「遑"輸人1:話”輸入11輸入訂單信息:訂單編號妊名身吩訂號訂票數(shù)航班號張翠山310000251Hrt9307是苦瞇續(xù)訂界是馬翕人h"杏"輸人〕1輸入訂單信息:訂單漏號姐啟身吩遼號訂票數(shù)航班號張兀忌31D0C03B1NU51O3是否瞇續(xù)訂黑“是''輸人1「苗"輸入)0諳按汪意鍵純結一.一顯示退票后航班信息:1:1:2:3:4:5:6:丫:3:列岀航班信息修改航班信息退出程存按航班號查詢航班信息按岀發(fā)到達城石查詢航班信庶修改航班信息退出程存請輸入功能選項1-8):2航班號岀發(fā)城市到迄城市起飛時問MU5103上海虹橋C?A1590上海虹橋FM?307上海虹襪HA1241上海浦東用陽泅上涯浦東請按任意鍵繼續(xù)...7:0C8:5510:501A:cn1S:4S到達時間0:2011:1512:50
刀切|19:05價栓10638646^8412
妙折扣率754SRP.S7總票數(shù)2C2C2(劇余票數(shù)1C411C6)退票1:輸入骯班信見2=列岀航班信息3=按航臾號查詢航班佢息4=按岀發(fā)到達城市查詢航班信息5:訂票6:追票7:修敵航班信息8:退卅呈序請輸入功能選項1吃):請輸入息的訂單編號:2請輸入您的身優(yōu)證:31000025訂單編號牡名 身悄證號訂票數(shù)航班號2張翠山31003025 1 FM0337您是否確認刪除(1/0)1退票成功!!請按任意鍵継緣…1:1:2:3:4:x□:7:3=輸人航班信息別岀航班信息按航班號查詢航班信息按岀友到達戒帀負詢航班信息訂崇退崇傷五航取信息退岀程序請輸入功能選頂1-叮■航班耳出先城市MU5103上瘵虹橋CA1590上海虹橋FM9307上海虹橋HO1241上海浦東:上海浦東到達城市
北官
北京
廠亦|起飛時間7:0C8:551D:EO19:5015:45至!達時間9:2011:1512:5021:2019:05價格1D63854638418922折扣率947548565/豆票數(shù)20202020次劇余票數(shù)1(|511U請按任意鍵繼續(xù)…7)修改:1=輸人航班信息2:列岀航班信息3:英頃班號查詢航班悟息4:孩岀友到達城市直甸飢土出臺息5:-T票G:退票7=修衣航班信息8=退出程底請輸入功能選頂1-8L7請輸入你要修改的航班號%圧刖4薊言息.航應#二友城市到達城有起總時同到達時頁價格折扌」率忌票數(shù)剩余黑翦^U^yb4上海浦余 戒都15:45ly:Jb日眾57HUU請輸入修改后的信息:航班弓呂發(fā)城市到咗城丙起飛吋■■可至撻葉叵價恪折打率總票數(shù)剩宗票鸚3US964上海浦東成都15:4519:0592257203請按任意鍵繼績.…修改后顯示航班信息1:2:3;4:5:1:2:3;4:5:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版建筑砌體作業(yè)承包協(xié)議版B版
- 2024版花卉苗木購銷合同書范本
- 二零二四年度2024綿陽倉儲租賃合同模板3篇
- 二零二四寧波電影院裝修工程合同模板3篇
- 2024年銷售合同終止協(xié)議:終止條款匯編
- 安徽公司二零二五年度氨水集中采購與環(huán)保監(jiān)測合同
- 2025年度生態(tài)農業(yè)園區(qū)物業(yè)管理與技術服務協(xié)議3篇
- 2025年私立醫(yī)院與藥企合作藥品供應及倉儲服務合同3篇
- 2025年行政事業(yè)單位合同管理制度規(guī)范與合同履行監(jiān)督3篇
- 2024版公園宣傳欄租賃合同
- 建筑公司年度工作總結及計劃(6篇)
- 2023年昆明貴金屬研究所招聘筆試模擬試題及答案解析
- 硫酸裝置試生產方案
- 國家重點??婆R床護理專業(yè)評選標準
- DB11T 1944-2021 市政基礎設施工程暗挖施工安全技術規(guī)程
- 中國農業(yè)核心期刊要目概覽
- 好聽簡單的鋼琴譜
- 技術咨詢合同書(浙江省科學技術廳監(jiān)制)
- 《中外資產評估準則》課件第5章 美國評估準則
- 《軸系結構設計》ppt課件
- 應用化學專業(yè)英語unit.ppt
評論
0/150
提交評論