版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> XXXXXXXXX</b></p><p><b> 計(jì)算機(jī)技術(shù)系</b></p><p> 項(xiàng)目名稱: 航空客運(yùn)訂票系統(tǒng) </p><p> 學(xué)生姓名: XX </p><p> 學(xué) 號(hào):
2、 </p><p> 班 級(jí): 10801 </p><p> 指導(dǎo)教師: </p><p><b> 年 月 日</b></p><p><b> 目 錄</b></p><p> 1.系
3、統(tǒng)需求分析3</p><p> 1.1 問(wèn)題分析3</p><p> 1.2 任務(wù)意義3</p><p> 2. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明4</p><p> 3. 詳細(xì)設(shè)計(jì)和編碼5</p><p><b> 3.1.主菜單5</b></p><p>
4、; 3.2.錄入航空信息5</p><p> 3.3 輸出航空信息6</p><p><b> 3.4 訂票7</b></p><p><b> 3.5 退票7</b></p><p><b> 4. 實(shí)驗(yàn)結(jié)果9</b></p><p&g
5、t; 4.1菜單函數(shù)的功能測(cè)試9</p><p> 4.2錄入函數(shù)的功能測(cè)試9</p><p> 4.3查詢航班函數(shù)的功能測(cè)試11</p><p> 4.4訂票功能地測(cè)試12</p><p><b> 致謝17</b></p><p><b> 參考文獻(xiàn)18<
6、;/b></p><p> 附錄:源程序清單19</p><p><b> 1.系統(tǒng)需求分析</b></p><p><b> 1.1 問(wèn)題分析</b></p><p> 這次的課程設(shè)計(jì)是設(shè)計(jì)一個(gè)航空系統(tǒng)。由于存儲(chǔ)的數(shù)量較大且不固定,因此選擇用鏈表來(lái)保存基本信息:終點(diǎn)站名、航班號(hào)、飛
7、機(jī)號(hào)、飛行時(shí)間、乘員定額、余票量、已經(jīng)訂票的客戶名單(包括姓名、訂票量)、等候替補(bǔ)的客戶名單(包括姓名、所需票量)等等。由于在航線這個(gè)主鏈表上,每個(gè)航班上的已經(jīng)訂票名單這個(gè)鏈表和等候替補(bǔ)的名單這個(gè)鏈表隊(duì)列,所以建立一個(gè)十字交叉鏈表,在縱行上開(kāi)辟一個(gè)鏈表存儲(chǔ)所有航班的基本信息,再在各個(gè)航班節(jié)點(diǎn)橫向展開(kāi)一個(gè)鏈表和一個(gè)鏈表隊(duì)列,展開(kāi)的鏈表存儲(chǔ)已經(jīng)訂票的客戶名單,展開(kāi)的鏈表隊(duì)列存儲(chǔ)等候替補(bǔ)的客戶名單。同時(shí),由于預(yù)約人數(shù)無(wú)法預(yù)計(jì),隊(duì)列也應(yīng)以鏈表作
8、存儲(chǔ)結(jié)構(gòu)。系統(tǒng)主要實(shí)現(xiàn)的操作和功能是:添加航線、查詢航線、訂票功能、退票功能。要實(shí)現(xiàn)這些功能,首先要使程序能實(shí)現(xiàn)查找功能,在查找出到有效信息的前提之下,通過(guò)鏈表的賦值,更新信息和刪除退票人信息,滿足客戶的要求。</p><p><b> 1.2 任務(wù)意義</b></p><p> 飛機(jī)場(chǎng)每天要接受大量的訂票退票服務(wù),對(duì)于這些數(shù)量巨大的數(shù)據(jù),需要一個(gè)專門(mén)的軟件來(lái)進(jìn)行
9、管理和操作。軟件至少需要具備的基本功能包括:接受訂票,處理退票,查詢航班信息等等。面對(duì)這些實(shí)際問(wèn)題,航空客運(yùn)系統(tǒng)的制作無(wú)疑要全面的考察一個(gè)學(xué)生的知識(shí)及能力。在全面理解客戶的需求下面,來(lái)進(jìn)行設(shè)計(jì)出最能夠滿足客戶的程序出來(lái),并且能夠根據(jù)不同的要求來(lái)將其進(jìn)行改動(dòng),最能考察到對(duì)代碼活用的程度。</p><p> 2. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明</p><p> 數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)結(jié)構(gòu),中間縱列,為
10、各個(gè)航班的基本信息,用一鏈表存儲(chǔ),其中一個(gè)節(jié)點(diǎn)為一個(gè)航班,其中包括終點(diǎn)站名、航班號(hào)、飛機(jī)號(hào)、飛行時(shí)間、乘員定額、余票量、已經(jīng)訂票的客戶名單(包括姓名、訂票量)、等候替補(bǔ)的客戶名單(包括姓名、所需票量)等等。橫向是各個(gè)航班的情況,即從該指定的航班中用鏈表的形式橫向存儲(chǔ)這個(gè)航班的基本信息,縱向?yàn)橐呀?jīng)訂票了的客戶信息和藥等候替補(bǔ)的客戶的信息,其中包括客戶姓名和相應(yīng)的需票量。相應(yīng)的存儲(chǔ)結(jié)構(gòu)如下</p><p> str
11、uct Passenger </p><p><b> {</b></p><p> char name[20];</p><p> int bnum; //bnum記錄某人買的票數(shù)</p><p> struct
12、 Passenger *next;</p><p><b> };</b></p><p> typedef struct Air //記錄飛機(jī)信息</p><p><b> {</b></p><p> int ticket;
13、 //飛機(jī)票數(shù)</p><p> char des[20]; //des記錄飛機(jī)的終點(diǎn)</p><p> char flight[8]; //flight記錄航班號(hào)</p><p> int num;
14、 //記錄飛機(jī)號(hào)</p><p> Passenger *wait;</p><p> Passenger *book;</p><p> Time time;</p><p> struct Air *next;</p><p> }AirPlane;</p>
15、<p> 3. 詳細(xì)設(shè)計(jì)和編碼</p><p><b> 3.1.主菜單</b></p><p> 進(jìn)入主菜單,必須先錄入航班信息,客戶可以根據(jù)自己需要選擇,選擇自己想要的航班,然后進(jìn)行一系列自己選擇的操作,具體菜單流程圖如下所示</p><p> 圖3-1主菜單功能模塊圖</p><p> 3.
16、2.錄入航空信息</p><p> 錄入航空信息包括終點(diǎn)站名、航班號(hào)、飛機(jī)號(hào)、飛行時(shí)間、乘員定額,根據(jù)用戶的需要選擇航班,輸出航班信息,如果可以再進(jìn)行訂票操作,錄入航空信息的流程圖如下</p><p> 圖3-2錄入航空信息流程圖</p><p> 3.3 輸出航空信息</p><p> 客戶可以根據(jù)自己的需要選擇是按目的地查詢還是按
17、航班查詢,如果按航班查詢,必須要知道航班號(hào),如果按目的地查詢,只需輸入終點(diǎn)站,如果一個(gè)終點(diǎn)站有多個(gè)航班,客戶可以根據(jù)自己的需要選擇一個(gè)航班進(jìn)行操作,具體流程圖如下。</p><p> 圖3-3按航班輸出信息的流程圖</p><p> 圖3-4按目的輸出航空信息的流程圖</p><p><b> 3.4 訂票</b></p>
18、<p> 在客戶訂票前需要先查詢航班是否存在,所以在訂票的模塊中會(huì)要求客戶輸入航班信息,再調(diào)用航班查詢的函數(shù),查詢是否存在這個(gè)航班,如果存在這個(gè)航班,則客戶可以訂票,客戶在訂票的時(shí)候,如果所需票量超過(guò)剩余票數(shù),則會(huì)提示客戶是否需要排隊(duì)候票,如果不排隊(duì)候票,則選擇要么重新輸入所需票量,要么退出訂票。訂票流程圖如下</p><p><b> 圖3-5訂票流程圖</b></p&
19、gt;<p><b> 3.5 退票</b></p><p> 客戶在退票操作時(shí),也是要先輸入是否存在那個(gè)航班,如果存在,就查詢這個(gè)航班是否存在這個(gè)客戶,如果不存在,就退票失敗,如果存在,則可以退票,退票后,再查看是否滿足候票數(shù),如果滿足則把票補(bǔ)給候票人,如果不滿足,就繼續(xù)排隊(duì)候補(bǔ)。退票流程圖如下</p><p> 圖3-6 退票流程圖</
20、p><p><b> 4. 實(shí)驗(yàn)結(jié)果</b></p><p> 4.1菜單函數(shù)的功能測(cè)試</p><p> 系統(tǒng)運(yùn)行后就會(huì)自動(dòng)顯示菜單1.錄入航班,2.查詢航班,3.訂票,4,退票,當(dāng)用戶選擇相應(yīng)的代號(hào)就進(jìn)入相應(yīng)的功能模塊</p><p> 圖4-1菜單函數(shù)的截圖</p><p> 4.2
21、錄入函數(shù)的功能測(cè)試</p><p> 進(jìn)入當(dāng)這個(gè)錄入模塊,用戶需要先錄入航班的信息,包括航班號(hào),總的票數(shù),目的地,起飛時(shí)間,和飛機(jī)號(hào),當(dāng)錄入一個(gè)航班信息,會(huì)提示是否繼續(xù)錄入</p><p> 圖4-2錄入航空信息的截圖</p><p> 4.3查詢航班函數(shù)的功能測(cè)試</p><p> 用戶可以選擇是按目的地查詢信息或者是按航班查詢信息
22、,一個(gè)目的地可能有幾個(gè)不同的航班,但是一個(gè)航班只能到一個(gè)目的地</p><p> 圖4-3查詢航班的截圖</p><p> 4.4訂票功能地測(cè)試</p><p> 用戶在訂票時(shí)需要輸入航班,然后再查詢是否存在這個(gè)航班,如果存在,則可以訂票,否則不能訂票,在訂票的時(shí)候如果余票足夠,則可以成功訂票,否則提示用戶是否需要排隊(duì)候補(bǔ)</p><p&g
23、t; 如圖4-4,訂票成功可以將客戶信息輸出,圖4-5,是余票不足,提示用戶是否需要排隊(duì)候補(bǔ),圖4-6,客戶選擇候補(bǔ),則會(huì)將客戶信息輸出</p><p> 圖4-4訂票成功的截圖</p><p> 圖4-5余票不足的截圖</p><p> 圖4-6候補(bǔ)成功的截圖</p><p> 4.5退票函數(shù)的功能測(cè)試</p>&l
24、t;p> 用戶在退票的時(shí)候需要輸入航班,查找這個(gè)航班是否存在,如果存在,再查看退票信息是否正確,輸出客戶信息,退票后查詢這個(gè)航班的剩余票數(shù)是否變化,是否足夠候補(bǔ)人所需要的票數(shù) 圖4-7是查詢這個(gè)航班的客戶信息,圖4-8 是找到要退票的客戶且輸出客戶信息,圖4-9 退票后查詢這個(gè)航班,是否退票成功</p><p> 圖4-7查詢客戶的截圖</p><p> 圖4-8找到要退票的客
25、戶的信息</p><p> 圖4-9查詢是否退票成功的截圖</p><p><b> 5.體會(huì)</b></p><p> 這次課程設(shè)計(jì)我用鏈表設(shè)計(jì)的,我之前的想法是用一個(gè)結(jié)構(gòu)體存儲(chǔ)航班信息,再用一個(gè)結(jié)構(gòu)體存儲(chǔ)已經(jīng)訂票的客戶信息,再用一個(gè)結(jié)構(gòu)體存儲(chǔ)候補(bǔ)的客戶信息,然后在已經(jīng)訂票的客戶信息中定義一個(gè)指針存儲(chǔ)已經(jīng)訂票的客戶的航班,在候補(bǔ)的客戶中
26、定義一個(gè)指針存儲(chǔ)已經(jīng)排隊(duì)候補(bǔ)的客戶的航班,用這個(gè)指針和航班信息聯(lián)系起來(lái),再進(jìn)行操作,可是在退票中鏈表就出現(xiàn)問(wèn)題了,只要有人候補(bǔ),那么已經(jīng)訂票的客戶信息就輸不出來(lái),好不容易把候補(bǔ)搞好了,可是訂票模塊就出現(xiàn)問(wèn)題了,總的來(lái)說(shuō)是結(jié)構(gòu)的問(wèn)題,所以我就重新寫(xiě)了,用了十字鏈表的思想,不過(guò)在退票后,把退票給候補(bǔ)的客戶有問(wèn)題,就沒(méi)有寫(xiě)這個(gè)了。這次課程設(shè)計(jì)寫(xiě)完后,我發(fā)現(xiàn)我對(duì)于指針是越來(lái)越糊涂了,原來(lái)在寫(xiě)作業(yè)的時(shí)候還有點(diǎn)清楚指針的指向,現(xiàn)在時(shí)越來(lái)越不清楚了。
27、所以在存儲(chǔ)空間上總是出現(xiàn)問(wèn)題,叫同學(xué)幫我改了指針的指向,才會(huì)好的,所以這次放假一定要把指針弄清楚,然后進(jìn)一步完善這個(gè)程序。</p><p><b> 致謝</b></p><p> 感謝XX老師的耐心指導(dǎo),感謝XXX老師的悉心教導(dǎo),感謝XXX同學(xué)的幫助。感謝在課程設(shè)計(jì)中對(duì)我?guī)椭^(guò)得同學(xué),謝謝你們對(duì)我的幫助,讓我感受到到同學(xué)的友誼和老師對(duì)我的關(guān)愛(ài)</p>
28、<p><b> 參考文獻(xiàn)</b></p><p> [1]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).北京:清華大學(xué)出版社,1997.</p><p> [2]劉大有,唐海鷹,等.數(shù)據(jù)結(jié)構(gòu).北京:高等教育出版社,2001.</p><p> [3]黃揚(yáng)銘.數(shù)據(jù)結(jié)構(gòu).北京:科學(xué)出版社,2001.</p><p
29、> [4]黃劉生.數(shù)據(jù)結(jié)構(gòu).北京:科學(xué)經(jīng)濟(jì)出版社,2000.</p><p><b> 附錄:源程序清單</b></p><p> #include<iostream.h></p><p> #include<malloc.h></p><p> #include<stdio
30、.h></p><p> #include<stdlib.h></p><p> #include<iomanip.h></p><p> #include<string.h></p><p> struct Time //定義飛機(jī)的起飛時(shí)間</p><p>
31、<b> {</b></p><p> char year[8],month[8],day[8],hour[8],minute[8],second[8];</p><p><b> };</b></p><p> void InputDate(Time &time) //輸入飛機(jī)的起飛時(shí)間</p&g
32、t;<p><b> {</b></p><p> cout<<"Please input the date(year month day hour minute):"<<endl;</p><p> cin>>time.year>>time.month>>time.d
33、ay>>time.hour>>time.minute>>time.second;</p><p><b> }</b></p><p> void PrintDate(const Time time) //輸出飛機(jī)的起飛時(shí)間</p><p><b> {</b></p&g
34、t;<p> cout<<time.year<<'.'<<time.month<<'.'<<time.day<<'.'</p><p> <<time.hour<<":"</p><p> <<t
35、ime.minute<<":"</p><p> <<time.second;</p><p><b> }</b></p><p> struct Passenger </p><p><b> {</b>&
36、lt;/p><p> char name[20];</p><p> int bnum; //bnum記錄某人買的票數(shù)</p><p> struct Passenger *next;</p><p><b> };</b></p><
37、p> void PassengerCpy(Passenger *&d,Passenger *s)</p><p><b> {</b></p><p> strcpy(d->name,s->name);</p><p><b> }</b></p><p> vo
38、id PrintPassenger(const Passenger *p)</p><p><b> {</b></p><p> cout<<"*************************************"<<endl;</p><p> cout<<"姓名
39、 訂票量"<<endl;</p><p> cout<<"*************************************"<<endl;</p><p> cout<<p->name<<" "&
40、lt;<p->bnum<<endl;</p><p><b> }</b></p><p> typedef struct Air //記錄飛機(jī)信息</p><p><b> {</b></p><p> int
41、 ticket; //飛機(jī)票數(shù)</p><p> char des[20]; //des記錄飛機(jī)的終點(diǎn)</p><p> char flight[8]; //flight記錄航班號(hào)</p><p> int num;
42、 //記錄飛機(jī)號(hào)</p><p> Passenger *wait;</p><p> Passenger *book;</p><p> Time time;</p><p> struct Air *next;</p><p> }AirPlane
43、;</p><p> void Waitticket(Passenger *&p) //輸入候補(bǔ)乘客的信息</p><p><b> {</b></p><p> Passenger *w=p;</p><p> Passenger *s=new Passenger;<
44、;/p><p> cout<<"please input the passenger:";</p><p> cin>>s->name;</p><p> cout<<"please input the ticket the passenger need wait:";</p&
45、gt;<p> cin>>s->bnum;</p><p><b> }</b></p><p> void DisplayWait(Passenger *passenger) //輸出要候補(bǔ)的乘客的信息</p><p><b> {</b></p><p
46、> Passenger *q=passenger->next;</p><p><b> if(!q)</b></p><p><b> return;</b></p><p><b> while(q)</b></p><p><b> {&l
47、t;/b></p><p> cout<<"Name BNum"<<endl;</p><p> cout<<setiosflags(ios::left)<<setw(10)<<q->name<<setw(10)<<q->bnum<<endl;;&l
48、t;/p><p> q=q->next;</p><p><b> }</b></p><p><b> }</b></p><p> int InputPassenger(Passenger *&passenger,AirPlane *flight) //輸入訂票的乘客的信息
49、</p><p><b> {</b></p><p> Passenger *p=passenger;</p><p> Passenger *q=new Passenger;</p><p> Passenger *s=flight->wait;</p><p> Passen
50、ger *w;</p><p> int chioce;</p><p> cout<<"Please input the passenger name:";</p><p> cin>>q->name;</p><p> cout<<"please input
51、the ticket the passenger need book:";</p><p> cin>>q->bnum;</p><p> if(q->bnum>flight->ticket)</p><p><b> {</b></p><p> cout<&
52、lt;"現(xiàn)在航班中還有:"<<flight->ticket<<"張票!"<<endl;</p><p> if(flight->ticket)</p><p><b> {</b></p><p> cout<<"請(qǐng)選擇:1.將差
53、票轉(zhuǎn)為候補(bǔ)票 2.只定剩余票 3.取消訂票"<<endl;</p><p> cin>>chioce;</p><p> if(chioce==1)</p><p><b> {</b></p><p> w=new Passenger;</p><p>
54、; q->next=p->next;</p><p> p->next=q;</p><p> PassengerCpy(w,q);</p><p> w->next=s->next;</p><p> s->next=w;</p><p> w->bnum=q-&
55、gt;bnum-flight->ticket;</p><p> q->bnum=flight->ticket;</p><p> flight->ticket=0;</p><p><b> }</b></p><p> else if(chioce==2)</p><
56、;p><b> {</b></p><p> q->next=p->next;</p><p> p->next=q;</p><p> q->bnum=flight->ticket;</p><p> flight->ticket=0;</p><
57、p><b> }</b></p><p><b> else</b></p><p> return NULL;</p><p><b> }</b></p><p><b> else</b></p><p>&l
58、t;b> {</b></p><p> q->next=s->next;</p><p> s->next=q;</p><p><b> }</b></p><p><b> }</b></p><p><b> e
59、lse</b></p><p><b> {</b></p><p> q->next=p->next;</p><p> p->next=q;</p><p> flight->ticket-=q->bnum;</p><p><b>
60、 }</b></p><p><b> }</b></p><p> void DisplayClient(Passenger *p) //輸出已經(jīng)訂票的乘客信息</p><p><b> {</b></p><p> Passenger *q=p-
61、>next;</p><p><b> if(!q)</b></p><p><b> return;</b></p><p><b> while(q)</b></p><p><b> {</b></p><p>
62、 cout<<"Name BNum"<<endl;</p><p> cout<<setiosflags(ios::left)<<setw(10)<<q->name<<setw(10)<<q->bnum<<endl;;</p><p> q=q->
63、next;</p><p><b> }</b></p><p><b> }</b></p><p> void CreatFlight(AirPlane *&flight) //創(chuàng)建一個(gè)空的結(jié)點(diǎn)</p><p><b> {</b
64、></p><p> AirPlane *s=new AirPlane;</p><p> s->next=NULL;</p><p><b> flight=s;</b></p><p> Passenger *p=new Passenger;</p><p> p->
65、;next=NULL;</p><p> flight->book=p;</p><p> Passenger *w=new Passenger;</p><p> w->next=NULL;</p><p> flight->wait=w;</p><p><b> }</
66、b></p><p> AirPlane* Displayflight(AirPlane *flight,char f[]) //按航線輸出航班</p><p><b> {</b></p><p> AirPlane *p=flight->next;</p><p&g
67、t; int flag=0;</p><p><b> while(p)</b></p><p><b> {</b></p><p> if(strcmp(p->flight,f)==0)</p><p><b> {</b></p><p
68、> system("cls");</p><p> cout<<"**********************************************************"<<endl;</p><p> cout<<"Num Destination Flight
69、Ticket Time "<<endl;</p><p> cout<<setiosflags(ios::left)<<setw(10)<<p->num<<setw(10)<<p->des</p><p> <<setw(10)<<p->flight<
70、<setw(10)<<p->ticket;</p><p> PrintDate(p->time);</p><p> cout<<"\n**********************************************************"<<endl;</p><p>
71、 cout<<"*****************************已定乘客*********************"<<endl;</p><p> DisplayClient(p->book);</p><p> cout<<"*****************************候補(bǔ)乘客****
72、*****************"<<endl;</p><p> DisplayClient(p->wait);</p><p><b> return p;</b></p><p><b> }</b></p><p> p=p->next;<
73、/p><p><b> }</b></p><p> return NULL;</p><p><b> }</b></p><p> void Displaydes(AirPlane *flight,char d[]) //按目的地輸出航班</p>&l
74、t;p><b> {</b></p><p> AirPlane *p=new AirPlane;</p><p><b> p=flight;</b></p><p> int flag=0;</p><p><b> while(p)</b></p&g
75、t;<p><b> {</b></p><p> if(strcmp(p->des,d)==0)</p><p><b> {</b></p><p><b> flag=1;</b></p><p> cout<<"Num
76、 Destination Flight Ticket Time "<<endl;</p><p> cout<<setiosflags(ios::left)<<setw(10)<<p->num<<setw(10)<<p->des</p><p> <<setw
77、(10)<<p->flight<<setw(10)<<p->ticket;</p><p> PrintDate(p->time);</p><p> cout<<endl;</p><p><b> }</b></p><p> p=p->
78、next;</p><p><b> }</b></p><p> if(flag==0)</p><p> cout<<"Sorry!not find the information!"<<endl;</p><p><b> }</b><
79、/p><p> void Creat(AirPlane *&flight) //錄入航班</p><p><b> {</b></p><p> AirPlane *p;</p><p> AirPlane *s=flight;</p><p> Passenger
80、 *b,*w;</p><p><b> char ch;</b></p><p><b> do</b></p><p><b> {</b></p><p> p=new AirPlane;</p><p> b=new Passenger
81、;</p><p> w=new Passenger;</p><p> b->next=NULL;</p><p> w->next=NULL;</p><p> p->book=b;</p><p> p->wait=w;</p><p> system(
82、"cls");</p><p> cout<<"please input the flight:";</p><p> cin>>p->flight;</p><p> cout<<"please input the all ticket of the flight:
83、";</p><p> cin>>p->ticket;</p><p> cout<<"please input the destination:";</p><p> cin>>p->des;</p><p> InputDate(p->time);
84、</p><p> cout<<"please input the number of the airplane:";</p><p> cin>>p->num;</p><p> cout<<"if continue,please choose('y'/'Y
85、9;),if not,please input choose('N'/'n'):"<<endl;</p><p><b> cin>>ch;</b></p><p> system("pause");</p><p> p->next=s->
86、next;</p><p> s->next=p;</p><p> }while(ch=='y'||ch=='Y');</p><p><b> }</b></p><p> void Display(AirPlane *flight) //輸出航
87、線</p><p><b> {</b></p><p><b> int n;</b></p><p> cout<<"1.按終點(diǎn)查詢 2.按航班查詢"<<endl;</p><p> cout<<"please inp
88、ut your choice :";</p><p><b> cin>>n;</b></p><p><b> if(n==1)</b></p><p><b> {</b></p><p> char d[20];</p><
89、;p> cout<<"please input the destination you would look up:"<<endl;</p><p><b> cin>>d;</b></p><p> Displaydes(flight,d);</p><p><b>
90、; }</b></p><p> else if(n==2)</p><p><b> {</b></p><p> cout<<"please input the flight:";</p><p> char f[20];</p><p>
91、<b> cin>>f;</b></p><p> Displayflight(flight,f);</p><p><b> }</b></p><p><b> else</b></p><p> cout<<"input is
92、error!"<<endl;</p><p> system("pause>null");</p><p><b> }</b></p><p> void Book(AirPlane *&flight) //訂票</p><p><b>
93、 {</b></p><p> AirPlane *p=new AirPlane,*f=NULL;</p><p> char line[20];</p><p> cout<<"please input the flight:";</p><p> cin>>line;<
94、/p><p> system("cls");</p><p> f=Displayflight(flight,line); //查找乘客要訂的航班是否存在</p><p><b> if(f)</b></p><p><b> {</b&g
95、t;</p><p> InputPassenger(f->book,f);</p><p> Displayflight(flight,line);</p><p><b> }</b></p><p><b> else</b></p><p> cout
96、<<"Sorry! Not find the flight!"<<endl;</p><p><b> }</b></p><p> void ReturnTicket(AirPlane *&flight) //退票</p><p><b> {
97、</b></p><p> AirPlane *p=new AirPlane,*f=NULL;</p><p> char line[20];</p><p> char name[20];</p><p> cout<<"please input the flight:";</p&g
98、t;<p> cin>>line;</p><p> f=Displayflight(flight,line);</p><p><b> if(f)</b></p><p><b> {</b></p><p> Passenger *p=f->book-
99、>next;</p><p> Passenger *q=f->book;</p><p> int flag=0;</p><p> cout<<"Please input the passenger name you need back:";</p><p> cin>>na
100、me;</p><p><b> while(p)</b></p><p><b> {</b></p><p> if(!strcmp(p->name,name))</p><p><b> {</b></p><p><b>
101、 flag=1;</b></p><p><b> break;</b></p><p><b> }</b></p><p> p=p->next;</p><p> q=q->next;</p><p><b> }</
102、b></p><p> if(flag==1)</p><p><b> {</b></p><p> PrintPassenger(p);</p><p><b> int vote;</b></p><p><b> do</b>&l
103、t;/p><p><b> {</b></p><p> cout<<"Please input the vote you need back:";</p><p> cin>>vote;</p><p> if(vote>p->bnum)</p>
104、<p> cout<<"最大退票量為:"<<p->bnum<<endl;</p><p><b> }</b></p><p> while(vote>p->bnum);</p><p> if(vote==p->bnum)</p>
105、<p><b> {</b></p><p> q->next=q->next->next;</p><p> f->ticket+=vote;</p><p><b> delete p;</b></p><p><b> }</b&g
106、t;</p><p><b> else</b></p><p><b> {</b></p><p> p->bnum-=vote;</p><p> f->ticket+=vote;</p><p><b> }</b><
107、/p><p><b> }</b></p><p><b> else</b></p><p> cout<<"沒(méi)有找到名字為:"<<name<<"乘客的訂票信息!"<<endl;</p><p><b&
108、gt; }</b></p><p><b> }</b></p><p> void menu()</p><p><b> {</b></p><p> //system("cls");</p><p> cout<<
109、;"******************************"<<endl;</p><p> cout<<" 1.錄入航班 "<<endl;</p><p> cout<<" 2.查詢航班 "<<endl;</
110、p><p> cout<<" 3.訂票 "<<endl;</p><p> cout<<" 4.退票 "<<endl;</p><p> cout<<" 5.退出 "&
111、lt;<endl;</p><p> cout<<"*******************************"<<endl;</p><p><b> }</b></p><p> void main()</p><p><b> {</b&
112、gt;</p><p> AirPlane *flight;</p><p> CreatFlight(flight);</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> menu();&l
113、t;/b></p><p><b> int num;</b></p><p> cout<<"please input your choice:";</p><p><b> cin>>num;</b></p><p> fflush(st
114、din);</p><p> switch(num)</p><p><b> {</b></p><p><b> case 1:</b></p><p><b> {</b></p><p> system("cls")
115、;</p><p> Creat(flight);</p><p><b> }break;</b></p><p><b> case 2:</b></p><p><b> {</b></p><p> system("cls&q
116、uot;);</p><p> Display(flight);</p><p><b> }break;</b></p><p><b> case 3:</b></p><p><b> {</b></p><p> system(&quo
117、t;cls");</p><p> Book(flight);</p><p><b> }break;</b></p><p><b> case 4:</b></p><p><b> {</b></p><p> system(
118、"cls");</p><p> ReturnTicket(flight);</p><p><b> }break;</b></p><p> case 5:exit(0);</p><p><b> }</b></p><p><b>
119、; }</b></p><p><b> }</b></p><p><b> 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)</b></p><p><b> 成績(jī)?cè)u(píng)定</b></p><p> 成績(jī)?cè)u(píng)定: (百分制)</p><
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航空客運(yùn)訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---航空客運(yùn)訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)航空航班課程設(shè)計(jì)--航空客運(yùn)訂票系統(tǒng)
- 航空客運(yùn)訂票系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)源代碼
- 課程設(shè)計(jì)---航空客運(yùn)訂票系統(tǒng)
- 航空客運(yùn)訂票系統(tǒng)課程設(shè)計(jì)
- 航空客運(yùn)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)航空訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---飛機(jī)訂票系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 航空訂票系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-- 航空訂票管理系統(tǒng)
- 航空訂票管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告-航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語(yǔ)言版飛機(jī) 訂票 系統(tǒng)資料
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
評(píng)論
0/150
提交評(píng)論