數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機(jī)訂票系統(tǒng)

上傳人:r****d 文檔編號:89311153 上傳時間:2022-05-12 格式:DOC 頁數(shù):25 大?。?32.50KB
收藏 版權(quán)申訴 舉報 下載
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機(jī)訂票系統(tǒng)_第1頁
第1頁 / 共25頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機(jī)訂票系統(tǒng)_第2頁
第2頁 / 共25頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機(jī)訂票系統(tǒng)_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機(jī)訂票系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機(jī)訂票系統(tǒng)(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、課程設(shè)計論文題 目: 飛機(jī)訂票系統(tǒng) 院 系: 專業(yè)班級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 2021年 9 月 18日課程設(shè)計論文任務(wù)書專業(yè)班級: 學(xué)生姓名: 指導(dǎo)教師簽名: 一、課程設(shè)計論文題目 飛機(jī)訂票系統(tǒng):設(shè)計航班信息,訂票信息。二、本次課程設(shè)計論文應(yīng)到達(dá)的目的數(shù)據(jù)結(jié)構(gòu)是實踐性很強(qiáng)的課程。課程設(shè)計是加強(qiáng)學(xué)生實踐能力的一個強(qiáng)有力手段。課程設(shè)計要求學(xué)生在完成程序設(shè)計的同時能夠?qū)懗霰葦M標(biāo)準(zhǔn)的設(shè)計報告。嚴(yán)格實施課程設(shè)計這一環(huán)節(jié),對于學(xué)生根本程序設(shè)計素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用。此題目要到達(dá)目的:熟練掌握線性表的根本操作在兩種存儲結(jié)構(gòu)上的實現(xiàn)。三、本次課程設(shè)計論文任務(wù)的

2、主要內(nèi)容和要求包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計要求等 輸入數(shù)據(jù):航班號;起降時間;抵達(dá)城市;票價;票價折扣;1. 錄入航班情況數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定;2. 輸入航班號,查詢某個航線的情況;3. 輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;4. 客戶姓名,證件號,訂票數(shù)量,航班情況,訂單編號證件號唯一;5. 訂票:如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班(結(jié)構(gòu)自己設(shè)定);6. 退票:退票后修改相關(guān)數(shù)據(jù)文件;7. 修改航班信息:當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件。四、應(yīng)收集的資料及主要參考文獻(xiàn): 1.數(shù)據(jù)結(jié)構(gòu)與算法分析C+版第二版影印版 2005.72.數(shù)據(jù)結(jié)構(gòu)與算法,科學(xué)出版社,2005.08;趙文靜 等

3、編著3.數(shù)據(jù)結(jié)構(gòu)-C+語言描述,西安交通大學(xué)出版社,1999.01,趙文靜編著4. 嚴(yán)蔚敏 等著,?數(shù)據(jù)結(jié)構(gòu)?,清華大學(xué)出版社,20035. 馮博琴等編著,?軟件技術(shù)根底?修改版,西安交通大學(xué)出版社,1997五、審核批準(zhǔn)意見教研室主任簽字 摘要 隨著全球經(jīng)濟(jì)和信息的開展,人們選擇乘坐飛機(jī)外出的需求日益增加。隨著航空客運業(yè)務(wù)越來越興旺,加上網(wǎng)絡(luò)日益普及,所以良好的飛機(jī)場訂票系統(tǒng)不僅方便人們訂購飛機(jī)票,而且減緩了購票點的壓力,具有一定的社會效益。通過本系統(tǒng)管理人員可以錄入、修改航班信息,而游客可以根據(jù)航班號、航班路線查詢航班信息,并且可以訂票、退票。本程序設(shè)計主要是利用數(shù)據(jù)結(jié)構(gòu)中線性表的知識,利用

4、數(shù)組來讀取航班信息,存儲用戶信息,在用戶訂票、退票之后做出相應(yīng)數(shù)據(jù)的修改,在管理人員修改航班信息之后也可以做出相應(yīng)的信息覆蓋。關(guān)鍵詞:飛機(jī)訂票系統(tǒng) 線性表 數(shù)據(jù)結(jié)構(gòu) 數(shù)組目錄一、需求分析4二、概要設(shè)計4三、詳細(xì)設(shè)計5四、調(diào)試分析18五、使用說明23六、課設(shè)總結(jié)23七、參考文獻(xiàn)24一、需求分析1.本系統(tǒng)需用Windows7系統(tǒng),Visual C+軟件為運行環(huán)境;2.關(guān)于航班信息,需要輸入航班號、飛機(jī)起飛和降落時間、起飛抵達(dá)城市、票價及折扣、余票情況等數(shù)據(jù);客戶信息包括姓名、證件號、訂票數(shù)量、航班路線、訂單編號;系統(tǒng)還有訂票、退票、退出功能。3.飛機(jī)訂票系統(tǒng)的功能包括: 1錄入功能:可以讀取并且存

5、儲輸入的航班信息,用文件保存。 2修改功能:可以修改保存的航班信息,并且用文件保存。 3查詢功能:可以通過不同方式查詢航班信息,形式包括航班號查詢和航班路線查詢。 4訂票功能:客戶可以通過查詢信息后訂票,需要輸入姓名、證件號、訂票數(shù)量,這些信息和航班路線及訂單編號一起以文件形式保存。 5退票功能:客戶如果要退票,可以輸入姓名和航班號等信息進(jìn)行退票。退票后信息將以文件形式保存。 6退出功能:可以結(jié)束操作退出,并且保存所作出的修改。 7菜單功能:本系統(tǒng)的與客戶進(jìn)行交互的界面菜單。在菜單中包含以上各功能,用戶可以根據(jù)自己的需求進(jìn)行不同的操作。二、概要設(shè)計1.錄入航班信息功能:讀取用戶輸入的信息,對f

6、light結(jié)構(gòu)體進(jìn)行賦值,利用數(shù)組儲存相同類型的信息并保存;2.查詢航班信息功能:設(shè)計用兩種方式查詢航班信息,運用switch函數(shù)進(jìn)行選擇,并且運用cout輸出所查詢航班的信息,讀出數(shù)組內(nèi)的數(shù)據(jù);3.訂票功能:輸入客戶姓名及航班號,并且把數(shù)據(jù)記錄到數(shù)組cu中,記錄信息并且對余票數(shù)減1,然后保存;4.退票功能:輸入客戶姓名及航班號,清空數(shù)組cu內(nèi)相應(yīng)的數(shù)據(jù),記錄信息并且對余票數(shù)加1,然后保存;5.修改航班信息功能:輸入航班號并且輸入數(shù)據(jù),對結(jié)構(gòu)體flight中相應(yīng)數(shù)組的信息進(jìn)行覆蓋,最后保存信息;6.退出功能:退出系統(tǒng),并且以文件形式保存錄入和修改的信息,對原有信息進(jìn)行覆蓋,然后回車鍵退出系統(tǒng)界

7、面。系統(tǒng)結(jié)構(gòu)圖:開始主函數(shù)航班信息錄入退出系統(tǒng)航班信息修改航班退票航班訂票航班信息查詢推出三、詳細(xì)設(shè)計一錄入航班信息1.結(jié)構(gòu)體struct flight:int a1航班號,char a2 起飛時間,char a3降落時間,char a410起飛城市,char a510降落城市,int a6價格, int a7票價折扣, int a8余票。struct flight /航班信息int a1; /航班號 char a2; /起飛時間 char a3; /降落時間char a410; /起飛城市char a510; /降落城市int a6; /價格 int a7; /票價折扣 int a8; /余

8、票fl10;2.錄入函數(shù):void luru()void luru() cout請輸入航班信息:endl;cout請輸入航班號fllen.a1; /航班號 cout起飛時間fllen.a2; /起飛時間cout降落時間fllen.a3; /降落時間cout起飛城市fllen.a4; /起飛城市cout降落城市fllen.a5; /降落城市cout票價fllen.a6; /票價cout折扣fllen.a7; /機(jī)票折扣cout剩余票量fllen.a8; /剩余票量len+; cout請選擇所要進(jìn)行的操作endl; menu(); /錄入完成跳轉(zhuǎn)回菜單項選擇擇操作3.本模塊流程圖開始輸入航班信息存

9、儲航班信息結(jié)束二查詢航班信息1.查詢函數(shù):void chaxun(),void chaxun1(),void chaxun2()選擇函數(shù): switch()1查詢信息void chaxun() /查詢system(cls); /去除屏幕cout請選擇查詢方式endl;cout1.按航班號查詢endl;cout2.按城市查詢t; switch(t) /選擇查詢方式case 1:chaxun1();break;case 2:chaxun2();break;default:cout輸入的數(shù)據(jù)有誤,請重新輸入!endl;menu(); /輸入錯誤返回主菜單重新輸入break;2按航班號查詢航班信息vo

10、id chaxun1() int n;cout請輸入要查詢的航班號:n;for(int j=0;jlen;j+)if(flj.a1=n)cout*航班信息*endl; cout航班號:flj.a1n起飛時間:flj.a2n降落時間:flj.a3n起飛城市:flj.a4n降落城市:flj.a5n票價:flj.a6n折扣:flj.a7n剩余票量:flj.a8endl;break; /輸出航班信息elsecout沒有對應(yīng)的航班!endl; getchar(); /按回車返回菜單menu();3按航班路線查詢航班信息void chaxun2() /按起飛城市和降落城市查詢航班信息char m110,m

11、210;int j;cout請輸入要查詢的起始、降落城市:m1m2; /輸入起始城市和降落城市for(j=0;jlen;j+)if(strcmp(flj.a4,m1)=0)&(strcmp(flj.a5,m2)=0)cout*航班信息*endl; cout航班號:flj.a1n起飛時間:flj.a2n降落時間:flj.a3n起飛城市:flj.a4n降落城市:flj.a5n票價:flj.a6n折扣:flj.a7n剩余票量:flj.a8endl;break; /輸出航班信息 if(j=10) cout沒有對應(yīng)的航班!endl;menu();2.本模塊流程圖開始輸入查詢方式判斷查詢方式21輸入航班路

12、線輸入航班號輸出航班信息結(jié)束三訂票1.訂票函數(shù):void dingpiao()結(jié)構(gòu)體struct customer:char name10姓名,int seat座位號,int num航班號,char no18證件號,int ps訂票數(shù),string qfs起飛時間,string jls降落時間,char qfd10起飛城市,char jld10降落城市,int pj票價。void dingpiao() /訂票system(cls); char Name10; int fn; int sign=0; cout請輸入你的姓名和想訂的航班號:Name; /輸入乘客姓名 cinfn; /輸入乘客所要訂

13、的航班號 for(int i=0;i0) strcpy(cuA.name,Name);cuA.num=fn;cuA.seat=fli.a8;A+; fli.a8-; sign=1;cout訂票成功!endl; break;if(sign) break;if(i=len)cout航班號錯誤!endl;2.本模塊流程圖開始輸入姓名及航班號訂票成功結(jié)束四退票1.退票函數(shù):void tuipiao()void tuipiao() /退票system(cls);char Name10; int fn; int sign=0; coutName; /輸入乘客姓名 coutfn;/輸入乘客所訂的航班的航班號

14、 coutendl; for(int i=0;ilen;i+)if(fn=fli.a1)for(int j=0;jA;j+)if(strcmp(Name,cuj.name)=0) cout 退票成功!endl; fli.a8+; sign=1; break;if(sign)break;if(i=len) cout輸入信息有誤!退票失敗endl; 五修改航班信息1.修改函數(shù):void xiugai()void xiugai() /修改航班信息cout輸入航班號:num;for(int i=0;ilen;i+)if(fli.a1=num) num=i; coutflnum.a2; coutflnu

15、m.a3; coutendl;break; if(i=len)cout航班號錯誤!endl;六退出系統(tǒng)1.退出函數(shù):void tuichu()void tuichu() /退出時保存錄入和更改信息 ofstream nfile2(cus.dat,ios_base:binary); /輸出方式翻開文件 nfile2.close(); /關(guān)閉文件 ofstream infile2(cus.dat,ios_base:binary|ios_base:app); /輸入方式翻開文件 for(int i=0;iA;i+)infile2.write(reinterpret_cast(&cui),sizeof

16、(customer);cout寫入成功!endl;/將乘客信息寫入文件infile2.close(); /關(guān)閉文件ofstream nfile1(airline.dat,ios_base:binary); /輸出方式翻開文件nfile1.close(); /關(guān)閉文件 ofstream infile1(airline.dat,ios_base:binary|ios_base:app); /輸出方式翻開文件for( i=0;ilen;i+) infile1.write(reinterpret_cast(&fli),sizeof(flight);/將航班信息寫入文件infile1.close();

17、/關(guān)閉文件七菜單和讀取1.菜單函數(shù):void menu()讀取函數(shù):void duqu()主函數(shù):void main()(1)菜單:void menu()cout*飛機(jī)訂票系統(tǒng)*endl;coutendl;couttt1.錄入航班信息endl; coutendl;couttt2.查詢航班信息endl;coutendl;couttt3.訂票endl; coutendl;couttt4.退票endl;coutendl;couttt5.修改航班信息endl;coutendl;couttt6.退出系統(tǒng)endl;coutendl;cout*歡送使用*endl;coutendl; /菜單界面int i;c

18、out輸入選項:i; /選擇菜單switch(i)case 1:luru(); break;case 2:chaxun(); break;case 3:dingpiao();menu();case 4:tuipiao();menu();case 5:xiugai();menu();case 6:tuichu(); exit(1); /退出break;default:cout輸入的選項不合法,請重新輸入endl;system(cls); /清屏menu();(2)讀取:void duqu() /讀取文件信息 ifstream infile1(airline.dat,ios_base:binary

19、); while(infile1.peek()!=EOF) /EOF值為-1infile1.read(reinterpret_cast(&fllen),sizeof(flight);/輸入方式讀取文件 cout*航班信息*endl; cout航班號:fllen.a1n起飛時間:fllen.a2n降落時間:fllen.a3n起飛城市:fllen.a4n降落城市:fllen.a5n票價:fllen.a6n折扣:fllen.a7n剩余票量:fllen.a8endl;len+; infile1.close();/關(guān)閉文件ifstream infile2(cus.dat,ios_base:binary)

20、; while(infile2.peek()!=EOF)infile2.read(reinterpret_cast(&cuA+),sizeof(customer); /輸入方式讀取文件infile2.close(); /關(guān)閉文件getchar();system(cls);(3)主函數(shù):void main()cout讀取endl;duqu(); /跳轉(zhuǎn)至讀取航班信息文件menu(); /菜單四、調(diào)試分析 1.運行程序,因為之前沒有進(jìn)行航班信息的錄入,起始讀取信息為空。按回車鍵根據(jù)菜單進(jìn)行各項操作。 2.任意鍵進(jìn)入菜單。在主菜單內(nèi),用戶可以根據(jù)自己的需求在“輸入選項后輸入1-6中一個數(shù)選擇不同的功

21、能,進(jìn)行相應(yīng)的操作。3.鍵入1,進(jìn)入錄入航班信息子菜單,輸入所需的信息后跳出菜單項選擇擇后續(xù)操作。4.查詢航班信息。鍵入2進(jìn)行查詢,根據(jù)選項選擇不同的查詢方式。5.鍵入1,按航班號查詢,輸入航班號得到航班信息,并顯示菜單以便繼續(xù)操作。6.主菜單鍵入3,輸入姓名及航班號,辦理訂票業(yè)務(wù)。7.查詢該航班剩余票量是否改變,根據(jù)選項選擇不同方式查詢,輸入航班信息得到余票量。8.主菜單鍵入4,輸入姓名及航班號,辦理退票業(yè)務(wù)。9.主菜單鍵入5,修改起飛和降落航班時間,按回車鍵保存。10.查詢航班信息是否修改完成,根據(jù)提示選擇任何一種查詢方式,輸入航班相關(guān)信息進(jìn)行查詢。11.主菜單鍵入6,退出系統(tǒng),結(jié)束并按E

22、nter鍵退出考前須知:1.數(shù)組間的數(shù)據(jù)一定要相互對應(yīng),否那么一個字母的錯誤就會造成錯誤。2.經(jīng)過調(diào)試,改變不能連續(xù)操作的問題,可以不退出反復(fù)進(jìn)行操作。3.關(guān)于一些輸出的錯誤,進(jìn)行了一些設(shè)置防止程序崩潰。五、使用說明本程序的運行環(huán)境為window7系統(tǒng),V C+ 6.0軟件。使用這個程序時,會彈出一個用戶使用界面根據(jù)自己的需要選擇數(shù)字1-6,錄入航班信息,進(jìn)行按照航班號和城市查找相關(guān)航班,訂飛機(jī)票,退飛機(jī)票,修改航班信息,退出系統(tǒng)等功能。程序運行后數(shù)據(jù)的輸入采用鍵盤輸入,這個過程中會有詳細(xì)的數(shù)據(jù)輸入提示,用戶可按照提示輸入數(shù)據(jù),以確保數(shù)據(jù)輸入的正確性。六、課設(shè)總結(jié)通過本次飛機(jī)場訂票系統(tǒng)課程設(shè)計

23、,實現(xiàn)了航班的訂票和退票功能。用戶能較迅速地查詢到所想要乘坐的航班的信息,以決定是否訂票或退票。在這次設(shè)計過程中,自己不僅穩(wěn)固了數(shù)據(jù)結(jié)構(gòu)的知識,而且還靈活的運用線性表的知識完成了飛機(jī)場訂票系統(tǒng)的程序設(shè)計。在程序設(shè)計中,我遇到了存儲中出現(xiàn)問題,最后設(shè)置了存入讀取函數(shù)解決了這個問題。對于程序調(diào)試能力,有了一定程度的提高,但我還需要更多的上機(jī)練習(xí),才能識別更多的錯誤,才能更快更好的理解程序。數(shù)據(jù)結(jié)構(gòu)這一門課程是非常重要的,可以促進(jìn)程序設(shè)計的理解,使程序的設(shè)計更加嚴(yán)謹(jǐn),錯誤也會減少。數(shù)據(jù)結(jié)構(gòu)是計算機(jī)存儲組織數(shù)據(jù)的方式,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運行或者存儲效率。最后感謝老師的指導(dǎo)與批評,你讓我對于課程設(shè)計有了新的態(tài)度,學(xué)到了不少東西,同時也意識到自己的缺乏。謝謝你!七、參考文獻(xiàn)1.數(shù)據(jù)結(jié)構(gòu)與算法分析C+版第二版影印版 2005.72.數(shù)據(jù)結(jié)構(gòu)與算法,科學(xué)出版社,2005.08;趙文靜 祁飛等編著3.數(shù)據(jù)結(jié)構(gòu)-C+語言描述,西安交通大學(xué)出版社,1999.01,趙文靜編著4. 嚴(yán)蔚敏 等著,?數(shù)據(jù)結(jié)構(gòu)?,清華大學(xué)出版社,20035. 馮博琴等編著,?軟件技術(shù)根底?修改版,西安交通大學(xué)出版社,1997

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!