數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)航空客運(yùn)訂票系統(tǒng)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)航空客運(yùn)訂票系統(tǒng)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)航空客運(yùn)訂票系統(tǒng)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)航空客運(yùn)訂票系統(tǒng)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)航空客運(yùn)訂票系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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)介

1、課程設(shè)計(jì)(論文)任務(wù)書(shū) 學(xué)院 專(zhuān)業(yè) 班 一、課程設(shè)計(jì)(論文)題目 航空客運(yùn)訂票系統(tǒng) 二、課程設(shè)計(jì)(論文)工作自 2010 年 12 月 27 日至 2010 年 12 月 31 日。三、課程設(shè)計(jì)(論文) 地點(diǎn): 創(chuàng)新大樓實(shí)訓(xùn)中心3樓 四、課程設(shè)計(jì)(論文)內(nèi)容要求:1本課程設(shè)計(jì)的目的1) 使學(xué)生增進(jìn)對(duì)數(shù)據(jù)結(jié)構(gòu)各理論知識(shí)的熟練程度, 2) 加強(qiáng)算法設(shè)計(jì)的能力,為以后的數(shù)據(jù)庫(kù)原理等課程的學(xué)習(xí)打下良好基礎(chǔ)。, 2課程設(shè)計(jì)的任務(wù)及要求 題目一:運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì) 要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p79) 題目二:停車(chē)場(chǎng)管理要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p96) 題目三:車(chē)廂調(diào)度要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p98)

2、 題目四:算術(shù)表達(dá)式求值演示要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p99)。 題目五:銀行業(yè)務(wù)模擬要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p100)。 題目六:航空客運(yùn)訂票系統(tǒng)要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p101) 題目七:電梯模擬要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p102) 題目八:迷宮問(wèn)題要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p105) 題目九:火車(chē)訂票系統(tǒng)要求:功能實(shí)現(xiàn)訂票子系統(tǒng)、售票子系統(tǒng)、退票子系統(tǒng)、統(tǒng)計(jì)子系統(tǒng)、查詢子系統(tǒng)、生成數(shù)據(jù)子系統(tǒng) 題目十:教學(xué)計(jì)劃編制問(wèn)題要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p150) 題目十一:校園導(dǎo)游咨詢要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p151) 題目十二:表達(dá)式類(lèi)型的實(shí)現(xiàn)要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p1

3、52) 題目十三:全國(guó)交通咨詢模擬要求:(要求參考數(shù)據(jù)結(jié)構(gòu)題集p153) 題目十四:超市管理系統(tǒng)要求:實(shí)現(xiàn)對(duì)超市的各業(yè)務(wù)的管理(例如:貨物的管理、價(jià)目的管理等) 題目十五:職工工資管理系統(tǒng)要求: 實(shí)現(xiàn)對(duì)職工工資的管理編輯。3)課程設(shè)計(jì)論文編寫(xiě)要求1)詳細(xì)清晰地描述個(gè)人的課程設(shè)計(jì)工作;2)要按照本模板的規(guī)格打印謄寫(xiě)課程報(bào)告;3)課設(shè)報(bào)告包括目錄、內(nèi)容提要、正文、課程設(shè)計(jì)體會(huì)、參考文獻(xiàn)、附錄等;4)課程報(bào)告裝訂按學(xué)校的統(tǒng)一要求完成4)評(píng)分標(biāo)準(zhǔn): 1)完成原理分析:20分; 2)完成設(shè)計(jì)過(guò)程:40分; 3)完成代碼分析:20分。4)個(gè)人創(chuàng)新工作:20分。學(xué)生簽名: 2010年12月 27 日課程設(shè)計(jì)

4、(論文)評(píng)審意見(jiàn)(1)原理分析 (20分):優(yōu)()、良()、中()、一般()、差(); (2)設(shè)計(jì)分析(20分):優(yōu)()、良()、中()、一般()、差(); (3)程序流程(20分):優(yōu)()、良()、中()、一般()、差();(4)代碼分析(20分):優(yōu)()、良()、中()、一般()、差();(5)個(gè)人創(chuàng)新(20分):優(yōu)()、良()、中()、一般()、差();(6)格式規(guī)范性及考勤是否降等級(jí):是()、否()評(píng)閱人: 職稱(chēng): 講師 2010年 12月 31 日目 錄目 錄- 1 -正 文- 1 -一、需求分析- 1 -1.課設(shè)題目- 1 -2.題目要求- 1 -3.課題背景- 1 -4.系統(tǒng)分析

5、- 1 -二、個(gè)人工作- 2 -1.基本實(shí)現(xiàn)- 2 -2.創(chuàng)新功能- 2 -三、概要設(shè)計(jì)- 3 -1.主程序流程圖及其說(shuō)明- 3 -2.子程序流程圖及其說(shuō)明- 3 -四、源程序- 5 -1.頭文件代碼- 5 -2.源文件代碼- 15 -五、程序結(jié)果- 17 -1.調(diào)試分析- 17 -2.截圖分析與相關(guān)說(shuō)明- 17 -3.時(shí)間復(fù)雜程度分析- 22 -4.算法的改進(jìn)設(shè)想- 22 -課程設(shè)計(jì)體會(huì)- 23 -正 文一、 需求分析1. 課設(shè)題目航空客運(yùn)訂票系統(tǒng)2. 題目要求主要功能包括:1) 查詢航線:根據(jù)客戶提出終點(diǎn)站名輸出下列信息:航班號(hào),飛機(jī)號(hào),星期幾飛行,最近一天的航班日期和余票額。2) 承辦訂

6、票業(yè)務(wù):根據(jù)客戶提出的要求(航班號(hào),訂票數(shù)額)查詢?cè)摵桨嗥鳖~情況,若上有余票,則為客戶辦理訂票手續(xù),輸出座位號(hào);若以滿員余票額少于定票額,則需要重新詢問(wèn)客戶要求,若需要,可預(yù)約登記排隊(duì)等候。3) 承辦退票業(yè)務(wù):根據(jù)客戶提供的情況(日期,航班),為客戶辦理退票手續(xù),然后查詢航班是否有人預(yù)約登記,首先詢問(wèn)排在第一的客戶,若所退票額能滿足他的要求,則為他辦理訂票手續(xù),否則一次詢問(wèn)其他排隊(duì)預(yù)約的客戶。3. 課題背景隨著旅游業(yè)的逐漸的成熟發(fā)達(dá),航空客運(yùn)量大幅度的提高,國(guó)內(nèi)國(guó)際的旅游航班的增加,這些都對(duì)航空的信息管理系統(tǒng)提出了更高的要求,所以要不斷的完善更新航空售票系統(tǒng),提高航空售票系統(tǒng)的工作效率。因此,

7、我選這個(gè)航空訂票系統(tǒng)來(lái)研究,加強(qiáng)對(duì)其的了解,并進(jìn)一步加深對(duì)數(shù)據(jù)結(jié)構(gòu)各種算法的理解。4. 系統(tǒng)分析從課程設(shè)計(jì)的題目要求可以知道,我們需要建立的是具有能對(duì)數(shù)據(jù)的插入,刪除,檢索功能的軟件。由于乘客的數(shù)量較大且不固定,因此選擇用鏈表來(lái)保存乘客的基本信息:終點(diǎn)站名、航班號(hào)、飛機(jī)號(hào)、飛行周日(星期幾)、乘員定額、余票量等等,由于預(yù)約人數(shù)無(wú)法預(yù)計(jì),隊(duì)列也應(yīng)以鏈表作存儲(chǔ)結(jié)構(gòu)。所以我們建立一個(gè)可以插入和刪除節(jié)點(diǎn)的鏈表,并能檢索這個(gè)鏈表,在必要的時(shí)候?qū)㈡湵淼膬?nèi)容保存到文件中。系統(tǒng)主要實(shí)現(xiàn)的操作和功能是:查詢航線、訂票功能、退票功能。要實(shí)現(xiàn)這些功能,首先要使程序能實(shí)現(xiàn)查找功能,在查找出到有效信息的前提之下,通過(guò)鏈

8、表的賦值,更新信息和刪除退票人信息,滿足客戶的要求。二、 個(gè)人工作拿到課設(shè)題目之后,經(jīng)過(guò)仔細(xì)的研究,還是決定做航空客運(yùn)訂票系統(tǒng),它可以使自己很好的鞏固在數(shù)據(jù)結(jié)構(gòu)當(dāng)中所學(xué)到的知識(shí)以及各種算法,做到學(xué)以致用,并在運(yùn)用的基礎(chǔ)之上,進(jìn)一步去創(chuàng)新。1. 基本實(shí)現(xiàn)1) 查詢航線:根據(jù)旅客提出的終點(diǎn)站名輸出下列信息:航班號(hào)、飛機(jī)號(hào)、星期幾飛行,價(jià)格和剩余票額等業(yè)務(wù)。2) 承辦訂票業(yè)務(wù):根據(jù)客戶提出的要求(終點(diǎn)站)查詢?cè)摵桨嗥鳖~情況,若尚有余票,則為客戶辦理訂票手續(xù)輸出座位號(hào);若已滿員,則需重新詢問(wèn)客戶要求。若需要,可購(gòu)買(mǎi)下一次航班或者等待看有沒(méi)有人退票;3) 承辦退票業(yè)務(wù):根據(jù)客戶提供的情況(日期、航班),

9、為客戶辦理退票手續(xù),然后查詢?cè)摵桨嗍欠裼腥伺抨?duì)候補(bǔ),首先詢問(wèn)排在第一的客戶,若所剩票額能滿足他的要求則為他辦理訂票手續(xù),否則依次詢問(wèn)其它排隊(duì)候補(bǔ)的客戶。2. 創(chuàng)新功能1) 在用戶實(shí)現(xiàn)查詢、訂票、退票之后,本系統(tǒng)另增加了一個(gè)詢問(wèn)的功能,詢問(wèn)用戶是否繼續(xù)操作還是返回菜單頁(yè)。這樣就給用戶繼續(xù)進(jìn)行些操作時(shí)節(jié)省了很多時(shí)間,也使系統(tǒng)的運(yùn)行時(shí)間縮短了許多。2) 本系統(tǒng)增加了一個(gè)增加航線的功能,這樣就可以不用固定在僅有的幾個(gè)航線的操作,機(jī)場(chǎng)可以根據(jù)自己的需求,增加或刪除航線,達(dá)到了數(shù)據(jù)的方便快捷的效果。3) 此系統(tǒng)增加了清空系統(tǒng)的功能,這樣可以避免若輸入的信息存在很多錯(cuò)誤的情況之下,實(shí)行清空系統(tǒng)時(shí),可以達(dá)到更

10、加理想的效果。4) 系統(tǒng)在菜單頁(yè)面和各個(gè)操作當(dāng)中都加了退出功能。退出之后可以進(jìn)行其他的操作,不就必在關(guān)掉程序之后再去運(yùn)行程序,若是這樣的話,就不符合平常的操作習(xí)慣了。為了與實(shí)際接軌,退出功能還是很有必要去增加的。5) 對(duì)程序在運(yùn)行時(shí)輸入錯(cuò)誤操作的修改,提供了一定方便條件基本上能安全的運(yùn)行,具備的功能符合題目的要求。程序?qū)懙倪€算簡(jiǎn)練,結(jié)構(gòu)清晰,各個(gè)模塊的分工和功能明確。三、 概要設(shè)計(jì)1. 主程序流程圖及其說(shuō)明主程序的流程圖如下圖3-1所示:航空客運(yùn)訂票系統(tǒng)1、增加航線7、清空系統(tǒng)8、退出系統(tǒng)6、退訂機(jī)票5、預(yù)訂機(jī)票4、刪除航線3、修改航線2、查詢航線 圖3-1利用switch語(yǔ)句,用戶只需根據(jù)自

11、己的需要,輸入相應(yīng)的命令即可達(dá)到效果。例如:若需要查詢航線時(shí),則輸入2;需要清空系統(tǒng)時(shí),則輸入7;若需要退出系統(tǒng),則輸入8。若用戶輸入1到8其他的數(shù)據(jù)時(shí),則彈出信息:您輸入的信息有誤,請(qǐng)重新輸入!2. 子程序流程圖及其說(shuō)明1) 增加航線的流程圖及其說(shuō)明:主要功能是把新航班信息寫(xiě)入新建的鏈表中,然后把新鏈表與儲(chǔ)存航班的鏈表合并,得到新的航班信息,實(shí)現(xiàn)對(duì)新航線的增加。 增加航線的流程圖如圖3-2所示: 1.返回菜單 2.繼續(xù)操作1.增加航線開(kāi)始建立新的鏈表新增航班信息建立新鏈表對(duì)新鏈表置空,訂票表頭初始化返回圖3-22) 查詢、修改、刪除航線流程圖及其說(shuō)明:先輸入所要查找、刪除或修改的航班,然后判

12、斷此航班是否存在,如果存在,則輸出相關(guān)的航班信息或者進(jìn)行修改或刪除航班信息,如果不存在,則退出。查詢、修改、刪除航線流程圖如圖3-3所示:1.返回菜單 2.繼續(xù)操作輸入航班信息、修改、刪除該航班信息輸入所要查找、修改、刪除的航班2.查詢航線 3.修改航線 4.刪除航線上 地地在在在輸入航班的信息輸出航班信息返回yn判斷航班是否存在圖3-33) 訂票、退票流程圖及其說(shuō)明:訂票說(shuō)明:先輸入目的地,找到與它的位置,若找不到則提示不存在此目的地,再判斷飛往目的地的航班是否有余票,若有余票輸出座位信息,沒(méi)余票輸出剩余票數(shù)小于定票數(shù),選擇是否排隊(duì)進(jìn)入候補(bǔ)隊(duì)列。退票說(shuō)明:先通過(guò)對(duì)退票人的基本信息進(jìn)行查找,判

13、斷是否存在此航班和是否存在此人訂票信息,如果存在則進(jìn)行退票。訂票、退票流程圖如圖3-4所示:訂票、退票系統(tǒng)售票系統(tǒng)訂票系統(tǒng)退票系統(tǒng)是否有票? ny售票圖3-4四、 源程序1. 頭文件代碼頭文件取名為:hangkong.h#include #include #include #include #include #define max 50 /定義航線量的最大值#define null 0typedef struct customer char name10; /姓名int amount; /訂票量int rank; /座位級(jí)別int seat_no; /座位號(hào)char flight_no6; /

14、航班號(hào) struct customer *next;customer;typedef struct replace char name10; int amount; int rank; char flight_no6; struct replace *next; replace; typedef struct flight char des_name10; /終點(diǎn)站名char flight_no6; /航班號(hào)char plane_no6; /飛機(jī)號(hào)char week_day; /飛行日期(星期幾)int customer_amount; /乘客數(shù)量int free_amount; /剩余票數(shù)

15、int price3; /票價(jià)int replace_amount; replace *replname; customer *custname; struct flight *next; flight,*pflight;int customer_amount=0; struct flight *head; struct flight *rear; customer *cusrear;replace *reprear;void flightinsert() /增加航線flight *p;p=new flight;int i=0;while (i!=1)printf(請(qǐng)輸入終點(diǎn)站名:n);sca

16、nf(%s,&p-des_name);printf(請(qǐng)輸入航班號(hào):n);scanf(%s, &p-flight_no);printf(請(qǐng)輸入飛機(jī)號(hào):n);scanf(%s,&p-plane_no);printf(請(qǐng)輸入飛行周日:n);scanf(%s,&p-week_day);printf(請(qǐng)輸入乘員定額:n);scanf(%d,&p-customer_amount);p-free_amount=p-customer_amount;printf(請(qǐng)輸入艙位等級(jí)的價(jià)格:n);printf(頭等艙價(jià)格:n);scanf(%d,&p-price0);printf(普通艙價(jià)格:n);scanf(%d,

17、&p-price1);printf(經(jīng)濟(jì)艙價(jià)格:n);scanf(%d,&p-price2);p-replname=new replace;p-custname=new customer;p-custname-next=null;p-replname-next=null;p-replace_amount=0;rear-next=p;rear=p;rear-next=nul;printf(1、返回主菜單 2、繼續(xù)添加n);scanf(%d,&i);void flightdelete() /刪除航線flight *p,*q;char flight_no6;p=head;int i=0;while

18、(i!=1)printf(請(qǐng)輸入需要?jiǎng)h除的航班號(hào):n);scanf(%s,&flight_no);while (p-next&strcmp(p-next-flight_no,flight_no)p=p-next; q=p-next;if (q!=null)if(q-next=null) /當(dāng)刪除rear所指向的結(jié)點(diǎn)rear=p;p-next=p-next-next;delete q;printf(刪除成功!nn);elseprintf(你所要?jiǎng)h除的航班不存在!nn);printf(1、返回主菜單 2、繼續(xù)刪除n);scanf(%d,&i);void flightinquiry() /查詢航線f

19、light *p,*q;char flight_no6;p=head;int i=0;while (i!=1)printf(請(qǐng)輸入需要查詢的航班號(hào):n);scanf(%s,&flight_no); while (p-next&strcmp(p-next-flight_no,flight_no)p=p-next;q=p-next;if (q=null)printf(對(duì)不起不存在此航班!n);elseprintf(航班號(hào):%sn,q-flight_no);printf(飛機(jī)號(hào):%sn,q-plane_no);printf(目的地:%sn,q-des_name);printf(飛行周日:%cn,q-

20、week_day);printf(成員定額:%dn,q-customer_amount);printf(剩余票數(shù):%dn,q-free_amount);printf(候補(bǔ)乘客數(shù):%dn,q-replace_amount);printf(頭等艙價(jià)格:%dn,q-price0);printf(普通艙價(jià)格:%dn,q-price1);printf(經(jīng)濟(jì)艙價(jià)格:%dn,q-price2);printf(1、返回主菜單 2、繼續(xù)查詢n);scanf(%d,&i);void flightrework() /修改航線信息int customer_number ;flight *p,*q;char fligh

21、t_no6;char i=0; printf(請(qǐng)輸入需要修改的航班號(hào):n);scanf(%s,&flight_no); p=head;while (p-next&strcmp(p-next-flight_no,flight_no)p=p-next;q=p-next;if (q=null)printf(對(duì)不起不存在此航班!n);elsewhile(i!=9)printf(*請(qǐng)輸入需要修改的數(shù)據(jù)*nn);printf( 1、航班號(hào) 2、飛機(jī)號(hào) n);printf( 3、目的地 4、飛行周日 n);printf( 5、成員定額 6、頭等艙價(jià)格 n);printf( 7、普通艙價(jià)格 8、經(jīng)濟(jì)艙價(jià)格 n

22、);printf( 9、退出 nn);printf(*n);scanf(%s,&i);switch(i)case 1:printf(請(qǐng)輸入航班號(hào):n); scanf(%s,&q-flight_no);break;case 2:printf(請(qǐng)輸入飛機(jī)號(hào):n);scanf(%s,&q-plane_no);break;case 3:printf(請(qǐng)輸入目的地:n);scanf(%s,&q-des_name);break;case 4:printf(請(qǐng)輸入飛行周日:n); scanf(%s,&q-week_day);break;case 5:printf(請(qǐng)輸入乘員定額:n);customer_nu

23、mber=q-customer_amount-q-free_amount; scanf(%d,&q-customer_amount);q-free_amount=q-customer_amount-customer_number;break;case 6:printf(請(qǐng)輸入頭等艙價(jià)格:n); scanf(%d,&q-price0);break;case 7:printf(請(qǐng)輸入普通艙價(jià)格:n); scanf(%d,&q-price1);break;case 8:printf(請(qǐng)輸入經(jīng)濟(jì)艙價(jià)格:n);scanf(%d,&q-price2);break;case 9:break;default:

24、printf(您輸入有誤n);break;void flightbuyticket() /訂購(gòu)機(jī)票int ticket_amount;void buyticket(pflight ,int );void buyreplace(pflight ,int ,int );flight *p,*q;char des_name10;int i=2;while (i!=1)printf(請(qǐng)輸入目的地:n);scanf(%s,&des_name);p=head;while (p-next&strcmp(p-next-des_name,des_name)p=p-next;q=p-next;if (q=null

25、)printf(對(duì)不起不存在此航班!n);elsewhile(i!=1)printf(輸入需要夠買(mǎi)的票數(shù):n);scanf(%d,&ticket_amount);while(ticket_amount=0)printf(請(qǐng)輸入一個(gè)非零數(shù):n);scanf(%d,&ticket_amount);if (ticket_amountfree_amount)buyticket(q,ticket_amount);elseint n;printf(剩余票數(shù)小于定票數(shù),是否需要列入候補(bǔ)名單?(1、是 2、否)n);scanf(%d,&n);buyreplace(q,ticket_amount,n);prin

26、tf(1、返回主菜單 2、繼續(xù)購(gòu)買(mǎi)n);scanf(%d,&i);void flightcancelticket() /退訂機(jī)票void buyticket(pflight ,int );flight *p,*q;customer *h,*j;char flight_no6;char customer_name10;int replace1_amount; int i;while (i!=1)printf(請(qǐng)輸入需要?jiǎng)h除的航班號(hào):n);scanf(%s,&flight_no);p=head;while (p-next&strcmp(p-next-flight_no,flight_no)p=p-

27、next;q=p-next;if(q=null) printf(對(duì)不起不存在此航班n);elsewhile (i!=2)printf(請(qǐng)輸入姓名:n);scanf(%s,&customer_name);h=q-custname;while (h-next&strcmp(h-next-name,customer_name)h=h-next;j=h-next;if(j=null)printf(無(wú)此人信息n);elseif(j-next=null) cusrear=h; h-next=h-next-next;q-free_amount+=j-amount;delete j; printf(刪除成功!

28、n);if(q-replname-next!=null)replace1_amount=q-replname-next-amount;if (replace1_amountfree_amount)replace *rep;rep=q-replname-next;customer *cus2;cus2=new customer;cus2-seat_no=q-customer_amount-q-free_amount+1;strcpy(cus2-flight_no, q-flight_no );strcpy(cus2-name, rep-name );cus2-amount=rep-amount;

29、cus2-rank=rep-rank;printf(乘客%s已經(jīng)成功買(mǎi)票n,rep-name);printf(座位號(hào)為:);for(int i=1;iamount);i+) printf(%d ,cus2-seat_no+);printf(n);if(q-custname-next=null)cusrear=q-custname;cusrear-next=cus2;cusrear=cus2;cusrear-next=null;elsecusrear-next=cus2;cusrear=cus2;cusrear-next=null;q-free_amount-=rep-amount;q-repl

30、name-next=q-replname-next-next;q-replace_amount-;delete rep;printf(2、退出姓名錄入n);scanf(%d,&i);printf(1、返回主菜單n);scanf(%d,&i);void flightclean() /清空系統(tǒng)head-next=rear-next;printf(系統(tǒng)已經(jīng)清空!n);void buyticket(pflight q,int ticket_amount) /訂票時(shí)輸入客戶的信息int n=ticket_amount;customer *cus2;cus2=new customer;cus2-seat_

31、no=q-customer_amount-q-free_amount+1;strcpy(cus2-flight_no, q-flight_no );cus2-amount=ticket_amount;printf(請(qǐng)輸入姓名:n);scanf(%s,&cus2-name);printf(請(qǐng)輸入艙位等級(jí):n);scanf(%d,&cus2-rank);printf(你的座位號(hào)為:n);for(int i=1;iseat_no+);printf(n);if(q-custname-next=null)cusrear=q-custname;cusrear-next=cus2;cusrear=cus2;

32、cusrear-next=null;elsecusrear-next=cus2;cusrear=cus2;cusrear-next=null;q-free_amount-=ticket_amount;void buyreplace(pflight q,int ticket_amount,int n) /退票時(shí)記錄客戶的信息replace *rep2;rep2=new replace;if(n=1)q-replace_amount+=ticket_amount;strcpy(rep2-flight_no,q-flight_no);rep2-amount=ticket_amount;printf(

33、請(qǐng)輸入姓名:n);scanf(%s,&rep2-name);printf(請(qǐng)輸入艙位等級(jí)(1-3):n);scanf(%d,&rep2-rank);if(q-replname-next=null)reprear=q-replname;reprear-next=rep2;reprear=rep2;reprear-next=null;elsereprear-next=rep2;reprear=rep2;reprear-next=null; 2. 源文件代碼#includehangkong.hvoid main() /主程序printf(nnn *n); printf( -n); printf( *

34、nnnn);cusrear=new customer;reprear=new replace;head=rear=new flight;head-next=null;void flightinsert(); /增加航線void flightdelete(); /刪除航線void flightinquiry(); /查詢航線void flightrework(); /修改航線void flightbuyticket(); /預(yù)定機(jī)票void flightcancelticket(); /退定機(jī)票void flightclean(); /清空系統(tǒng)char i=0;while (i!=8)print

35、f(*航空客運(yùn)訂票系統(tǒng)*nn);printf( 1、增加航線 5、預(yù)訂機(jī)票n);printf( 2、查詢航線 6、退訂機(jī)票n);printf( 3、修改航線 7、清空系統(tǒng)n);printf( 4、刪除航線 8、退出系統(tǒng)n);printf(*n);scanf(%s,&i);switch(i)case 1:flightinsert();break;case 2:flightinquiry();break;case 3:flightrework();break;case 4:flightdelete();break;case 5:flightbuyticket();break;case 6:flig

36、htcancelticket();break;case 7:flightclean();break;case 8:;printf(謝謝使用!n);break;default:printf(您輸入的信息有誤,請(qǐng)重新輸入!n);break;五、 程序結(jié)果1. 調(diào)試分析編成后出現(xiàn)錯(cuò)誤經(jīng)過(guò)調(diào)試檢查發(fā)現(xiàn)switch語(yǔ)句中漏寫(xiě)了break語(yǔ)句,switch語(yǔ)句作為選擇語(yǔ)句,在此程序中,要實(shí)現(xiàn)其選擇執(zhí)行的功能,在每個(gè)選擇條件后面必須有break語(yǔ)句跟隨,否則程序?qū)⑦\(yùn)行錯(cuò)誤,經(jīng)檢查漏洞后加以改正。在輸入航班號(hào)時(shí),應(yīng)輸入scanf(%s,&q-flight_no);要注意的是&符號(hào)不能漏掉,雖然漏掉后它不會(huì)提示錯(cuò)誤,但在運(yùn)行的時(shí)候還是會(huì)出現(xiàn)錯(cuò)誤的。因我們輸入的終點(diǎn)站名、航班號(hào)、飛機(jī)號(hào)、飛行日期都是以字符串的形

溫馨提示

  • 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)論