




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、設(shè)計(jì)題目航空訂票系統(tǒng)任務(wù):航空客運(yùn)定票的業(yè)務(wù)活動(dòng)包括:查詢航線、客票預(yù)定和辦理退票等。試設(shè)計(jì)一個(gè)航空客運(yùn)定票系統(tǒng),以使上述業(yè)務(wù)可以借助計(jì)算機(jī)來完成。功能要求:(1)錄入:可以錄入航班情況(2)查詢:可以查詢某個(gè)航線的情況(如輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉);可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;( 3)訂票: (訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;(4)退票:可退票,退票后修改相關(guān)數(shù)據(jù)文件;(5)客戶資料:有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào);(6)修改航班信息:當(dāng)航班信
2、息改變可以修改航班數(shù)據(jù)文件。需求分析本演示程序中,由用戶錄入或修改航班情況,進(jìn)行查詢,預(yù)定及辦理退票等業(yè)務(wù),用戶在菜單中進(jìn)行各個(gè)不同功能的選擇,有“輸入航班信息”、 “列出航班“按出發(fā)到達(dá)城市查詢航班信息”信息” 、 “按航班號(hào)查詢航班信息”“退票” 、 “修改航班信息”、 “退出程序”八個(gè)功能。概要設(shè)計(jì)typedef structdouble number;/ 訂單編號(hào)char name20;/ 姓名char id20;/ 身份證號(hào)int count;/ 數(shù)量char p20;/ 航班號(hào)GUEST;typedef structchar num20;/ 航班號(hào)char depart30;/ 出
3、發(fā)城市char arrive30;/ 到達(dá)城市char start20;/ 起飛時(shí)間char end20;/ 到達(dá)時(shí)間int price;/ 價(jià)格int discount;/ 折扣率(%)int total;/ 總票數(shù)int rest;/ 剩余票數(shù)int t;/訂單數(shù)GUEST guest20;/ 乘客PLANE;PLANE plane20;int n;/n 為航班數(shù)void inputplane()/ 輸入航班void list()/ 顯示void search1()/ 按航班號(hào)查詢void search2()/ 按起飛抵達(dá)城市查詢void book()/ 訂票void quit()/ 退票
4、void change()/ 修改程序調(diào)用關(guān)系如下:開始12345678輸入航班信息列出航班信息按航班號(hào)查詢航班信息按出發(fā)到達(dá)城市查詢航班信息訂票退票 修改航班 退出信息詳細(xì)設(shè)計(jì)#include<stdio.h> #include<stdlib.h> #include<string.h>typedef structdouble number;/訂單編號(hào)char name20;/ 姓名 char id20;/ 身份證號(hào) int count;/ 數(shù)量 char p20;/ 航班號(hào) GUEST;typedef structchar num20;/ 航班號(hào)char
5、depart30;/出發(fā)城市char arrive30;/ 到達(dá)城市char start20;/ 起飛時(shí)間char end20;/ 到達(dá)時(shí)間int price;/ 價(jià)格int 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(" 輸入
6、航班信息: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",planei.num,planei.depart,planei.arrive,planei.s tart,planei.end,&planei.price,&planei.discount,&planei.total,&planei.rest);void list()/ 顯示int i;printf(&
7、quot; 航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格 折扣率總票數(shù)剩余票數(shù)n");for(i=0;i<n;i+)printf("%s %s%s%s t%st%d%dt%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,planei .discount,planei.total,planei.rest);void search1()/ 按航班號(hào)查詢int i;char num20;printf(" 輸入你查詢的航班號(hào):");
8、scanf("%s",num);for(i=0;i<n;i+)if(strcmp(num,planei.num)=0) %dt%d剩余票數(shù)%dt%dprintf(" 航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格 折扣率總票數(shù)剩余票數(shù)n");printf("%s %s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,planei .discount,planei.total,planei.rest)
9、;break;if(i=n) printf(" 沒有此航班!n");void search2()/ 按起飛抵達(dá)城市查詢int i;char a50,b50;printf(" 輸入起飛城市和到達(dá)城市:");scanf("%s %s",a,b);printf(" 航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格 折扣率總票數(shù)n");for(i=0;i<n;i+)if(strcmp(a,planei.depart)=0)&&(strcmp(b,planei.arrive)=0)printf("%
10、s %s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,planei .discount,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
11、book()/ 訂票char name20,p20,id20;double number;int i,j,k,y,count;for(i=0;i<n;i+)planei.t=0;doprintf(" 輸入訂單信息: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,planei.num)=0)break;if(i=n)printf(&quo
12、t; 沒有此航班n");elseif(planei.rest>=count)j=planei.t;planei.guestj.number=number;strcpy(,name);strcpy(planei.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+)
13、if(strcmp(planei.depart,planek.depart)=0)&&(strcmp(planei.depart,planek.depart)=0)break;if(k=n)printf(" 沒有其他從%s 到 %s 的航班 n",planei.depart,planei.arrive);elseprintf(" 從 %s 到 %s 還 有%s 航 班nn",planek.depart,planek.arrive,planek.num);printf(" 航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格 折扣率 總票數(shù)
14、剩余票數(shù)n");printf("%s %s%s%s t%st%d%dt%dt%dn",planek.num,planek.depart,planek.arrive,planek.start,planek.end,planek.price,pla nek.discount,planek.total,planek.rest);printf(" 是否繼續(xù)訂票, “是”輸入 1 , “否”輸入0n");scanf("%d",&y);while(y);void quit() / 退票double number;char id2
15、0;int i,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<planei.t;j+)if(number=planei.guestj.number&&(strcmp(id,planei.guestj.id)=0) temp=1;break;if(temp=1)break;if(i=n
16、)printf(" 沒有此訂單!n");elseprintf(" 訂單編號(hào)姓名身份證號(hào)訂票數(shù)航班號(hào) n");printf("%d",planei.guestj.number);printf("%s",);printf(" %s",planei.guestj.id);printf("%d",planei.guestj.count);printf("%sn",planei.guestj.p);printf(" 您是
17、否確認(rèn)刪除(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;strcpy(,);strcpy(planei.guestk-1.id,planei.guestk.id);planei.guestk-1.count=planei.guestk.count;strcpy
18、(planei.guestk-1.p,planei.guestk.p);planei.t-;printf(" 退票成功!n");void change()/ 修改char a20;int i;printf(" 請(qǐng)輸入你要修改的航班號(hào):");scanf("%s",a);for(i=0;i<n;i+) if(strcmp(a,planei.num)=0) break;if(i=n)printf(" 沒有此航班!n");elseprintf(" 原信息 :n");剩余票%dt%d剩余票數(shù)prin
19、tf(" 航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格 折扣率總票數(shù)數(shù) n"); printf("%s %s%s%s t%st%dt%dn",planei.num,planei.depart,planei.arrive,planei.start,planei.end,planei.price,planei .discount,planei.total,planei.rest);printf(" 請(qǐng)輸入修改后的信息:n");printf(" 航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格 折扣率總票數(shù)n");scanf(&
20、quot;%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 main()int a,b;dosystem("cls");for(a=0;a<50;a+)printf("*");printf("n");printf("tt
21、1:輸入航班信息n");printf("tt2:列出航班信息n");printf("tt3 : 按航班號(hào)查詢航班信息n");n");printf("tt4:按出發(fā)到達(dá)城市查詢航班信息printf("tt5:訂票n");printf("tt6:退票n");printf("tt7:修改航班信息n");printf("tt8 : 退出程序n");for(a=0;a<50;a+)printf("*");printf("
22、n");printf(" 請(qǐng)輸入功能選項(xiàng)1-8) : n");scanf("%d",&b);switch(b)case 1:inputplane();system("pause");break;case 2:list();system("pause");break;case 3:search1();system("pause");break;case 4:search2();system("pause");break;case 5:book();system
23、("pause");break;case 6:quit();system("pause");break;case 7:change();system("pause");break;case 8:break;while(1);調(diào)試分析a.在做“退票”函數(shù)(即void quit ()時(shí),系統(tǒng)總是顯示沒有此訂票,最后 發(fā)現(xiàn)沒有跳出其中的一個(gè)這個(gè)雙層for循環(huán),現(xiàn)在通過調(diào)試,解決了這個(gè)問題。b.調(diào)試后程序會(huì)自動(dòng)判斷輸入的數(shù)字的有效性。用戶手冊(cè)(1)演示程序的運(yùn)行環(huán)境為 Windows Vista 系統(tǒng),Microsoft Visual Stu
24、dio 6.0中的Microsoft Visual C+ 6.0中運(yùn)行。執(zhí)行文件為:航空訂票系統(tǒng) .exe(2)進(jìn)入演示程序后即顯示DOS形式的界面:* 半* *1;輸入航班信息2:列出航班信息3:按航班號(hào)查詢航班信息41按出發(fā)到達(dá)城市查詢航班信息5:訂票%退票7;修改航班信息上退出程序 *二*4:*4:* *布* 請(qǐng)輸入功能選項(xiàng)1-R):(3)輸入航班信息。(4)由用戶在菜單頁面選擇需要執(zhí)行的功能,系統(tǒng)會(huì)顯示相關(guān)信息測(cè)試結(jié)果(1)輸入航班信息h輸入航班信息2.列出航班信息九按航班號(hào)查詢航班信息4:按出發(fā)到達(dá)城市查詢航班信息5:訂票6;退票7 .修改航班信息Sr退出程序* * *木*本*請(qǐng)輸入
25、功能選項(xiàng)1-幻:1輸入總航班勘5輸入航班信息;航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率息票數(shù)剩余票越MU5103 上海虹搟 北京 7:00 9:20 1063 94 20 2CA1590 上箱虹橋 北京 8:55 11:15 364 75 20 0FH93O7 上海虹柝廣州10:3012; 5060S4S205HQ1241 上港浦東青島19:5021:2041S562011列8964 上潔浦東成部15:4519:0592257201請(qǐng)按任意鍵繼續(xù). .(2)列出航班信息1:輸入航班信息2.列出航班信息也按航班號(hào)查詢航班信息4:按出發(fā)到達(dá)城市查詢航班信息5:訂票6:退票7:修改航班信息3
26、;退出程序請(qǐng)輸入褊誕項(xiàng)*航班號(hào)上二發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格MU5103 二海虹搟7:009:201063CA1590 _二海虹楙8:5511:15864FH9307 .二海虹柝10:3012:50608H01241 .上海浦東19:5。21:204183US964 J15:4519:05922請(qǐng)按任意鍵繼續(xù).1(3)按航班號(hào)查詢航班信息折扣率9475485657五nro o o- o O, 算 2 2 2 2 2 總剩余票數(shù)2051111:輸入航班信息露列出航班信息3:按航班號(hào)查詢航班信息事按出發(fā)到達(dá)城市查詢航班信息5:訂票6:退票7:修改航班信息以退出程序*二*:4c*:|
27、3;*:|£|£*:1:*:!聿請(qǐng)輸入功能選項(xiàng)卜g):3輸入你查詢的航班號(hào);123沒有此航班!請(qǐng)按任意鍵繼續(xù).(4)按出發(fā)到達(dá)城市查詢航班信息1:輸入航班信息2.列出航班信息5按航班號(hào)查詢航班信息4:按出發(fā)到達(dá)城市查詢航班信息5:訂票6:退票7:修改航班信息a:退出程序請(qǐng)輸入功能選項(xiàng)1得):4輸入起飛城市和到達(dá)城市:上海虹橋北京航朝母出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(shù)剩余票數(shù)MU5103 上海虹橋北京 7:009; 20106394202第1590上海虹橋北京 8:5511:1586475200請(qǐng)按任意鍵繼續(xù). . .(5)訂票1,輸入航班信息21列出航班信息
28、3;按航班號(hào)查詢航班信息4:按出發(fā)到達(dá)城市查詢航班信息5:訂票6;退票7,修改航班信息8i退出程序* * 木本木4:米率*木 木木*請(qǐng)輸入功能選項(xiàng)1-8):5輸入訂單信息:訂單編號(hào)姓名身榜證號(hào)訂票數(shù)航班號(hào)1 張三豐 31000012 1 3U3964是否g瞄訂票,"是"輸入L "否“輸入01輸入訂單信息:訂單編號(hào)姓名身份證號(hào)訂票數(shù)航班號(hào)2 張翠山 31000025 1 FI9307是否繼續(xù)訂票,"是"輸入1, “否”輸入01輸入訂單信息:訂單編號(hào)姓名身份證號(hào)訂票數(shù)航班號(hào)3 張無忌 31000033 1 IU5103是否繼續(xù)訂票."是&
29、quot;輸入1."否”輸入00請(qǐng)按任意鍵繼續(xù). . .顯示退票后航班信息:1:揄入航班信息3列出航班信息3?按航班號(hào)查詢航班信息4:按出發(fā)到達(dá)城市查詢航班信息5:訂票6:退票7:修改航班信息3:退出程序請(qǐng)輸入3能選項(xiàng)卜幻,#*航班號(hào)上匕發(fā)城市到二起飛時(shí)間到達(dá)時(shí)間於格MU5103 二海虹橋二7:009:201063CA159O _二海虹搟 二8:5511;15864FM9307 .二海虹橋J10:3012:50608H01241 .E海浦東 1島19:5。21:204183US964 J 請(qǐng)按任意令上海浦東 f建繼續(xù).戊都15:4519:05922折剩余票數(shù)104110(6)退票1:
30、輸入航班信息2=列出航班信息3:按航班號(hào)查詢航班信息4:按出發(fā)到達(dá)城市查詢航班信息5:訂票6:退票7;修改航班信息8:退出程序請(qǐng)輸入功能選項(xiàng)1點(diǎn)):6請(qǐng)輸入您的訂單編號(hào):2請(qǐng)輸入您的身份證:31000025訂單編號(hào)姓名身份證號(hào)訂票數(shù)航班號(hào)2 張翠山 310000251FM9307您是否確認(rèn)刪除(1/0)1退票成功!請(qǐng)按任意鍵繼續(xù).顯示退票后航班信息:1:輸入航班信息九列出航班信息3.按航班號(hào)查詢航班信息4:按出發(fā)到達(dá)城市查詢航班信息5:訂票6:退票7;修改航班信息小退出程序請(qǐng)輸入功能選項(xiàng)卜3臬2航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(shù)剩余票數(shù)MU5103_二海虹橋T 卜X Li7
31、:009:20106394201CA1590二海虹橋(打t8; 5511:1586475200FM9307二海虹柝廣州10:3012:506084820HO 1241lz海浦東青島19:5021:204135620113US9641成都15:4519:059225720一一一 k y -.a I 1114r '請(qǐng)按任意鍵繼續(xù).(7)修改:h揄入航班信息2i列出航班信息3.按航班號(hào)查詢航班信息事按出發(fā)到達(dá)城市查詢航班信息5:訂票6:退票7:修改航班信息需退出程序請(qǐng)輸入%能選項(xiàng)卜8),*7請(qǐng)輸入你要修改的航班號(hào):3U8964厚信息,鏡雄事出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率總票數(shù)剩余票數(shù)3U3%4 上海浦東成都 15:4519;。592257200請(qǐng)輸入修改后的信息:航班號(hào)出發(fā)城市到達(dá)城市起飛時(shí)間到達(dá)時(shí)間價(jià)格折扣率息票數(shù)剜除票數(shù) 3US964 上海浦東成都 15:45 19:05 922 57
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客戶持續(xù)到訪活動(dòng)方案
- 對(duì)接總部活動(dòng)方案
- 壽司線上活動(dòng)方案
- 家長聯(lián)誼活動(dòng)策劃方案
- 小學(xué)冬奧伴我行活動(dòng)方案
- 宿州酒會(huì)活動(dòng)策劃方案
- 家族春節(jié)祭祖活動(dòng)方案
- 室內(nèi)活動(dòng)團(tuán)隊(duì)策劃方案
- 家具拍賣活動(dòng)方案
- 寶馬服務(wù)活動(dòng)方案
- 藥學(xué)綜合知識(shí)與技能
- 汽車維修服務(wù)清單
- 山東工商學(xué)院馬克思主義基本原理期末復(fù)習(xí)題及參考答案
- 2023-2024學(xué)年河北省武安市小學(xué)語文六年級(jí)期末高分提分卷附參考答案和詳細(xì)解析
- 徐州市教師業(yè)務(wù)能力測(cè)試題庫(數(shù)學(xué))
- IMC整合營銷傳播培訓(xùn)教材課件
- 2023年副主任醫(yī)師(副高)-神經(jīng)內(nèi)科學(xué)(副高)歷年考試真題試卷摘選答案
- 2022年天水市武山縣社區(qū)工作者招聘考試試題
- 2022年出版專業(yè)資格考試中級(jí)中級(jí)出版專業(yè)基礎(chǔ)知識(shí)考試題
- 疼痛治療(外科學(xué)-九章)
- 壓力容器的發(fā)展趨勢(shì)
評(píng)論
0/150
提交評(píng)論