航空訂票系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
航空訂票系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
航空訂票系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
航空訂票系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
航空訂票系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

設(shè)計(jì)題目航空訂票系統(tǒng)任務(wù):航空客運(yùn)定票的業(yè)務(wù)活動(dòng)包括:查詢航線、客票預(yù)定和辦理退票等。試設(shè)計(jì)一個(gè)航空客運(yùn)定票系統(tǒng),以使上述業(yè)務(wù)可以借助計(jì)算機(jī)來(lái)完成。功能要求:(1)錄入:可以錄入航班情況(2)查詢:可以查詢某個(gè)航線的情況(如輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉(cāng));可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;(3)訂票:(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果該航班已經(jīng)無(wú)票,可以提供相關(guān)可選擇航班;(4)退票:可退票,退票后修改相關(guān)數(shù)據(jù)文件;(5)客戶資料:有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào);(6)修改航班信息:當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件。需求分析本演示程序中,由用戶錄入或修改航班情況,進(jìn)行查詢,預(yù)定及辦理退票等業(yè)務(wù),用戶在菜單中進(jìn)行各個(gè)不同功能的選擇,有“輸入航班信息”、“列出航班信息”、“按航班號(hào)查詢航班信息”、“按出發(fā)到達(dá)城市查詢航班信息”、“訂票”、“退票”、“修改航班信息”、“退出程序”八個(gè)功能。概要設(shè)計(jì)typedefstruct{doublenumber;//訂單編號(hào)charname[20];〃姓名charid[20];〃身份證號(hào)intcount;//數(shù)量charp[20];〃航班號(hào)}GUEST;

typedefstruct{charnum[20];〃航班號(hào)chardepart[30];〃出發(fā)城市chararrive[30];〃到達(dá)城市charstart[20];〃起飛時(shí)間charend[20];〃到達(dá)時(shí)間intprice;//價(jià)格intdiscount;//折扣率(%)inttotal;//總票數(shù)intrest;//剩余票數(shù)intt;〃訂單數(shù)GUESTguest[20];〃乘客}PLANE;PLANEplane[20];intn;//n為航班數(shù)voidinputplane()〃輸入航班voidlist()//顯示voidsearchl()〃按航班號(hào)查詢voidsearch2()〃按起飛抵達(dá)城市查詢voidbook()〃訂票voidquit()〃退票voidchange()//修改程序調(diào)用關(guān)系如下:退出修改航班信息輸入航班信息列出航班信息退出修改航班信息輸入航班信息列出航班信息按航班號(hào)1按出發(fā)到達(dá)查詢航班城市查詢航訂票信息班信息詳細(xì)設(shè)計(jì)#include<stdio.h>#include<stdlib.h>#include<string.h>typedefstruct{doublenumber;//訂單編號(hào)charname[20];//姓名charid[20];//身份證號(hào)intcount;//數(shù)量charp[20];//航班號(hào)}GUEST;typedefstruct{charnum[20];//航班號(hào)chardepart[30];//出發(fā)城市chararrive[30];//到達(dá)城市charstart[20];//起飛時(shí)間charend[20];//到達(dá)時(shí)間intprice;//價(jià)格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(“航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(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(“航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(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(){//按航班號(hào)查詢inti;charnum[20];printf("輸入你查詢的航班號(hào):");scanf("%s",num);for(i=0;i<n;i++){if(strcmp(num,plane[i].num)==0){printf("航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(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("沒(méi)有此航班!\n");}voidsearch2(){//按起飛抵達(dá)城市查詢inti;chara[50],b[50];printf("輸入起飛城市和到達(dá)城市:");scanf("%s%s",a,b);printf("航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(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("沒(méi)有此航班!\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("訂單編號(hào)姓名身份證號(hào)訂票數(shù)航班號(hào)\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("沒(méi)有此航班\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("沒(méi)有其他從%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("航班號(hào)扣率總票數(shù)剩余票數(shù)\n");出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折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("請(qǐng)輸入您的訂單編號(hào):\n");scanf("%d",&number);printf("請(qǐng)輸入您的身份證:\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("沒(méi)有此訂單!\n");else{printf("訂單編號(hào)姓名身份證號(hào)訂票數(shù)航班號(hào)\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("您是否確認(rèn)刪除(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("請(qǐng)輸入你要修改的航班號(hào):");scanf("%s",a);for(i=0;i<n;i++){if(strcmp(a,plane[i].num)==0)}if(i==n)printf("沒(méi)有此航班!\n");else{printf("原信息:\n");printf("航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(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("請(qǐng)輸入修改后的信息:\n");printf("航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(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:按航班號(hào)查詢航班信息\n");printf("\t\t4:按出發(fā)到達(dá)城市查詢航班信息\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("請(qǐng)輸入功能選項(xiàng)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);}調(diào)試分析在做“退票"函數(shù)(即voidquit())時(shí),系統(tǒng)總是顯示沒(méi)有此訂票,最后發(fā)現(xiàn)沒(méi)有跳出其中的一個(gè)這個(gè)雙層for循環(huán),現(xiàn)在通過(guò)調(diào)試,解決了這個(gè)問(wèn)題。調(diào)試后程序會(huì)自動(dòng)判斷輸入的數(shù)字的有效性。

用戶手冊(cè)(1) 演示程序的運(yùn)行環(huán)境為WindowsVista系統(tǒng),MicrosoftVisualStudio6.0中的MicrosoftVisualC++6.0中運(yùn)行。執(zhí)行文件為:航空訂票系統(tǒng).exe(2) 進(jìn)入演示程序后即顯示DOS形式的界面:1:輸入航班信恵2:列出航班信息3:按航班號(hào)查詢航班信息4=拽出發(fā)到立城市查詢航班信息5:訂票6=退票7=修改航祖信息8:退小程序請(qǐng)輸入功能選頂1-呂):3) 輸入航班信息。4) 由用戶在菜單頁(yè)面選擇需要執(zhí)行的功能,系統(tǒng)會(huì)顯示相關(guān)信息測(cè)試結(jié)果1)輸入航班信息1=21=2:3:4:5:6:7:

a:歹!岀航班信息按航班號(hào)查詢砌壬信息按岀發(fā)到達(dá)城市查詢航班信息疔票退票修菠航班信息退岀程序1輸入總航班數(shù):5輸入航犯言息:航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣玄總票數(shù)賽怖票數(shù)ML5133上海虹祈北京CA1550上海虹萍j匕京FZ朗7上海虹萍廣州HC1341上海浦東青臨31'8964上海蒲茶成都請(qǐng)按任意鍵繼續(xù)???7:0Cg:2)10E3M2C2S:5E11:158E4752C010:3012:5019:F0刀:加15:4519:0560241RC2220112012)列出航班信息245ij73輸人航班信息列岀航班信息按航班號(hào)查詢航班信息按岀發(fā)到達(dá)城市查詢航班信息訂票退票修鼓航班信息退出程序剩余票數(shù)2IFII17:0C8:5510:3019;5015:45價(jià)格1D63幻460S413022折扣率94485657到達(dá)時(shí)間9:2011:1512:5021;2019:05請(qǐng)輸扎功能選頂1-8):2航班號(hào)岀發(fā)城市到運(yùn)城市起飛時(shí)間MU5103上詹虹橋加止冗上陶吐橋FMj307上海虹僑HO1241丄海浦東3U3964上海浦東請(qǐng)按任意鍵繼續(xù)???3456784)按出發(fā)到達(dá)城市查詢航班信息3)按航班號(hào)查詢航班信息請(qǐng)輸人功自繼項(xiàng)1-動(dòng):3輸人你查詢的骯班呂:123沒(méi)有此舫班!請(qǐng)按任意鍵繼多.?.輸入航班信,息列岀航班信.息按航班號(hào)查詢航班信息按出岌到達(dá)城韋查詢航班信息訂票退票修叢航班信息退岀程序1:輸入航班信息2:列岀航班信息3:按航班號(hào)查詢航班信息4:按出友到達(dá)城+>查詢航班信息5:訂荼G:退票7:修改航班信息R:退出程序請(qǐng)輸八功能選項(xiàng)1-刃:4折扣率總票數(shù)34 2075 20折扣率總票數(shù)34 2075 20剩余票數(shù)2航臾號(hào)岀發(fā)戒方到込戒市起飛刊間到込刊間忻榕MU51C3 上海肛柝 北京 7;0) 9;20 1003Cx\15G0 上;境虹橋 北京 S:55 11:1E S64

訂票1=輸人航班信島2:列出航班信息3:按航班號(hào)查詢航班信息生:按岀發(fā)到達(dá)或市登詢航班信息5:訂票5:退崇7:修諛航跚言息乩退岀程序請(qǐng)輸入功能選項(xiàng)1-*):5輸入訂單信息:訂單編號(hào)妊容身吩遼號(hào)訂票數(shù)航班號(hào)張三豐31D0001213U8964是否堆續(xù)訂票「遑"輸人1:話”輸入11輸入訂單信息:訂單編號(hào)妊名身吩訂號(hào)訂票數(shù)航班號(hào)張翠山310000251Hrt9307是苦瞇續(xù)訂界是馬翕人h"杏"輸人〕1輸入訂單信息:訂單漏號(hào)姐啟身吩遼號(hào)訂票數(shù)航班號(hào)張兀忌31D0C03B1NU51O3是否瞇續(xù)訂黑“是''輸人1「苗"輸入)0諳按汪意鍵純結(jié)一.一顯示退票后航班信息:1:1:2:3:4:5:6:丫:3:列岀航班信息修改航班信息退出程存按航班號(hào)查詢航班信息按岀發(fā)到達(dá)城石查詢航班信庶修改航班信息退出程存請(qǐng)輸入功能選項(xiàng)1-8):2航班號(hào)岀發(fā)城市到迄城市起飛時(shí)問(wèn)MU5103上海虹橋C?A1590上海虹橋FM?307上海虹襪HA1241上海浦東用陽(yáng)泅上涯浦東請(qǐng)按任意鍵繼續(xù)...7:0C8:5510:501A:cn1S:4S到達(dá)時(shí)間0:2011:1512:50

刀切|19:05價(jià)栓10638646^8412

妙折扣率754SRP.S7總票數(shù)2C2C2(劇余票數(shù)1C411C6)退票1:輸入骯班信見(jiàn)2=列岀航班信息3=按航臾號(hào)查詢航班佢息4=按岀發(fā)到達(dá)城市查詢航班信息5:訂票6:追票7:修敵航班信息8:退卅呈序請(qǐng)輸入功能選項(xiàng)1吃):請(qǐng)輸入息的訂單編號(hào):2請(qǐng)輸入您的身優(yōu)證:31000025訂單編號(hào)牡名 身悄證號(hào)訂票數(shù)航班號(hào)2張翠山31003025 1 FM0337您是否確認(rèn)刪除(1/0)1退票成功!!請(qǐng)按任意鍵継緣…1:1:2:3:4:x□:7:3=輸人航班信息別岀航班信息按航班號(hào)查詢航班信息按岀友到達(dá)戒帀負(fù)詢航班信息訂崇退崇傷五航取信息退岀程序請(qǐng)輸入功能選頂1-叮■航班耳出先城市MU5103上瘵虹橋CA1590上海虹橋FM9307上海虹橋HO1241上海浦東:上海浦東到達(dá)城市

北官

北京

廠亦|起飛時(shí)間7:0C8:551D:EO19:5015:45至!達(dá)時(shí)間9:2011:1512:5021:2019:05價(jià)格1D63854638418922折扣率947548565/豆票數(shù)20202020次劇余票數(shù)1(|511U請(qǐng)按任意鍵繼續(xù)…7)修改:1=輸人航班信息2:列岀航班信息3:英頃班號(hào)查詢航班悟息4:孩岀友到達(dá)城市直甸飢土出臺(tái)息5:-T票G:退票7=修衣航班信息8=退出程底請(qǐng)輸入功能選頂1-8L7請(qǐng)輸入你要修改的航班號(hào)%圧刖4薊言息.航應(yīng)#二友城市到達(dá)城有起總時(shí)同到達(dá)時(shí)頁(yè)價(jià)格折扌」率忌票數(shù)剩余黑翦^U^yb4上海浦余 戒都15:45ly:Jb日眾57HUU請(qǐng)輸入修改后的信息:航班弓呂發(fā)城市到咗城丙起飛吋■■可至撻葉叵價(jià)恪折打率總票數(shù)剩宗票鸚3US964上海浦東成都15:4519:0592257203請(qǐng)按任意鍵繼績(jī).…修改后顯示航班信息1:2:3;4:5:1:2:3;4:5:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論