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

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

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

16 積分

下載資源

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

資源描述:

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

1、 課程設(shè)計〔論文〕 題 目: 飛機訂票系統(tǒng) 院 〔系〕: 專業(yè)班級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 2021年 9 月 18日 課程設(shè)計〔論文〕任務(wù)書 專業(yè)班級: 學(xué)生姓名: 指導(dǎo)教師〔簽名〕: 一、課程設(shè)計〔論文〕題目

2、 飛機訂票系統(tǒng):設(shè)計航班信息,訂票信息。 二、本次課程設(shè)計〔論文〕應(yīng)到達的目的 數(shù)據(jù)結(jié)構(gòu)是實踐性很強的課程。課程設(shè)計是加強學(xué)生實踐能力的一個強有力手段。課程設(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)練,將起到顯著的促進作用。 此題目要到達目的:熟練掌握線性表的根本操作在兩種存儲結(jié)構(gòu)上的實現(xiàn)。 三、本次課程設(shè)計〔論文〕任務(wù)的主要內(nèi)容和要求〔包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計要求等〕 輸入數(shù)據(jù):航班號;起降時間;抵達城市;票價;票價折扣; 1. 錄入

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

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

5、線查詢航班信息,并且可以訂票、退票。本程序設(shè)計主要是利用數(shù)據(jù)結(jié)構(gòu)中線性表的知識,利用數(shù)組來讀取航班信息,存儲用戶信息,在用戶訂票、退票之后做出相應(yīng)數(shù)據(jù)的修改,在管理人員修改航班信息之后也可以做出相應(yīng)的信息覆蓋。 關(guān)鍵詞:飛機訂票系統(tǒng) 線性表 數(shù)據(jù)結(jié)構(gòu) 數(shù)組 目錄 一、需求分析 4 二、概要設(shè)計 4 三、詳細設(shè)計 5 四、調(diào)試分析 18 五、使用說明 23 六、課設(shè)總結(jié) 23 七、參考文獻 24 一、需求分析? 1.本系統(tǒng)需用Windows7系統(tǒng),Visual C++軟件為運行環(huán)境; 2.關(guān)于航班信

6、息,需要輸入航班號、飛機起飛和降落時間、起飛抵達城市、票價及折扣、余票情況等數(shù)據(jù);客戶信息包括姓名、證件號、訂票數(shù)量、航班路線、訂單編號;系統(tǒng)還有訂票、退票、退出功能。 3.飛機訂票系統(tǒng)的功能包括: 〔1〕錄入功能:可以讀取并且存儲輸入的航班信息,用文件保存。 〔2〕修改功能:可以修改保存的航班信息,并且用文件保存。 〔3〕查詢功能:可以通過不同方式查詢航班信息,形式包括航班號查詢和航班路線查詢。 〔4〕訂票功能:客戶可以通過查詢信息后訂票,需要輸入姓名、證件號、訂票數(shù)量,這些信息和航班路線及訂單編號一起以文件形式保存。 〔5〕退票功能:客戶如果要退票,可以輸入

7、姓名和航班號等信息進行退票。退票后信息將以文件形式保存。 〔6〕退出功能:可以結(jié)束操作退出,并且保存所作出的修改。 〔7〕菜單功能:本系統(tǒng)的與客戶進行交互的界面菜單。在菜單中包含以上各功能,用戶可以根據(jù)自己的需求進行不同的操作。 二、概要設(shè)計? 1.錄入航班信息功能:讀取用戶輸入的信息,對flight結(jié)構(gòu)體進行賦值,利用數(shù)組儲存相同類型的信息并保存; 2.查詢航班信息功能:設(shè)計用兩種方式查詢航班信息,運用switch函數(shù)進行選擇,并且運用cout輸出所查詢航班的信息,讀出數(shù)組內(nèi)的數(shù)據(jù); 3.訂票功能:輸入客戶姓名及航班號,并且把數(shù)據(jù)記錄到數(shù)組cu[]中,記錄信息并且

8、對余票數(shù)減1,然后保存; 4.退票功能:輸入客戶姓名及航班號,清空數(shù)組cu[]內(nèi)相應(yīng)的數(shù)據(jù),記錄信息并且對余票數(shù)加1,然后保存; 5.修改航班信息功能:輸入航班號并且輸入數(shù)據(jù),對結(jié)構(gòu)體flight中相應(yīng)數(shù)組的信息進行覆蓋,最后保存信息; 6.退出功能:退出系統(tǒng),并且以文件形式保存錄入和修改的信息,對原有信息進行覆蓋,然后回車鍵退出系統(tǒng)界面。 系統(tǒng)結(jié)構(gòu)圖: 開始 主函數(shù) 航班信息錄入 退出系統(tǒng) 航班信息修改 航班退票 航班訂票 航班信息查詢 推出 三、詳細設(shè)計 〔一〕錄入航班信息 1.結(jié)構(gòu)體struct

9、flight:int a1航班號,char a2 起飛時間,char a3降落時間,char a4[10]起飛城市,char a5[10]降落城市,int a6價格, int a7票價折扣, int a8余票。 struct flight //航班信息 { int a1; //航班號 char a2; //起飛時間 char a3; //降落時間 char a4[10]; //起飛城市 char a5[10]; //降落城市 int a6; //價格 int a7; //票價折扣 int

10、 a8; //余票 }fl[10]; 2.錄入函數(shù):void luru() void luru() { cout<<"請輸入航班信息:"<>fl[len].a1; //航班號 cout<<"起飛時間"<>fl[len].a2; //起飛時間 cout<<"降落時間"<>fl[len].a3; //降落時間 cout<<"起飛城市"<>fl[

11、len].a4; //起飛城市 cout<<"降落城市"<>fl[len].a5; //降落城市 cout<<"票價"<>fl[len].a6; //票價 cout<<"折扣"<>fl[len].a7; //機票折扣 cout<<"剩余票量"<>fl[len].a8; //剩余票量 len++; cout<<"請選擇所要進行的操作"<

12、完成跳轉(zhuǎn)回菜單項選擇擇操作 } 3.本模塊流程圖 開始 輸入航班信息 存儲航班信息 結(jié)束 〔二〕查詢航班信息 1.查詢函數(shù):void chaxun(),void chaxun1(),void chaxun2() 選擇函數(shù): switch() 〔1〕查詢信息 void chaxun() //查詢 {system("cls"); //去除屏幕 cout<<"請選擇查詢方式"<

13、nt t; cin>>t; switch(t) //選擇查詢方式 { case 1: chaxun1(); break; case 2: chaxun2(); break; default:cout<<"輸入的數(shù)據(jù)有誤,請重新輸入!"<

14、 cin>>n; for(int j=0;j

15、reak;} //輸出航班信息 else cout<<"沒有對應(yīng)的航班!"<>m1>>m2; //輸入起始城市和降落城市 for(j=0;j

16、&&(strcmp(fl[j].a5,m2)==0)) {cout<<"***航班信息****"<

17、 { cout<<"沒有對應(yīng)的航班!"<

18、降落時間,char qfd[10]起飛城市,char jld[10]降落城市,int pj票價。 void dingpiao() //訂票 {system("cls"); char Name[10]; int fn; int sign=0; cout<<"請輸入你的姓名和想訂的航班號:"<>Name; //輸入乘客姓名 cin>>fn; //輸入乘客所要訂的航班號 for(int i=0;i

19、 {if(fl[i].a1==fn) if(fl[i].a8>0) {strcpy(cu[A].name,Name); cu[A].num=fn; cu[A].seat=fl[i].a8; A++; fl[i].a8--; sign=1; cout<<"訂票成功!"<

20、!"<>Name; //輸入乘客姓名 cout<<"請輸入航班號:"; cin>>f

21、n;//輸入乘客所訂的航班的航班號 cout<

22、 break;} if(sign)break; } if(i==len) cout<<"輸入信息有誤!退票失敗"<>num; for(int i=0;i

23、 cout<<"起飛時間:";cin>>fl[num].a2; cout<<"到達時間:";cin>>fl[num].a3; cout<

24、binary); //輸出方式翻開文件 nfile2.close(); //關(guān)閉文件 ofstream infile2("cus.dat",ios_base::binary|ios_base::app); //輸入方式翻開文件 for(int i=0;i(&cu[i])),sizeof(customer));cout<<"寫入成功!"<

25、 ofstream nfile1("airline.dat",ios_base::binary); //輸出方式翻開文件 nfile1.close(); //關(guān)閉文件 ofstream infile1("airline.dat",ios_base::binary|ios_base::app); //輸出方式翻開文件 for( i=0;i(&fl[i])),sizeof(flight));//將航班信息寫入文件 infile1.close(); //關(guān)閉文

26、件 } 〔七〕菜單和讀取 1.菜單函數(shù):void menu() 讀取函數(shù):void duqu() 主函數(shù):void main() (1)菜單: void menu() { cout<<"****************飛機訂票系統(tǒng)******************"<

27、<'\t'<<'\t'<<"3.訂票"<

28、nt i; cout<<"輸入選項:"<>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; de

29、fault:cout<<"輸入的選項不合法,請重新輸入"<(&fl[len])),sizeof(flight));//輸入方式讀取文件

30、 cout<<"***航班信息****"<

31、);//關(guān)閉文件 ifstream infile2("cus.dat",ios_base::binary); while(infile2.peek()!=EOF) {infile2.read((reinterpret_cast(&cu[A++])),sizeof(customer));} //輸入方式讀取文件 infile2.close(); //關(guān)閉文件 getchar();system("cls"); } (3)主函數(shù): void main() { cout<<"讀取"<

32、文件 menu(); //菜單 } 四、調(diào)試分析 1. 運行程序,因為之前沒有進行航班信息的錄入,起始讀取信息為空。按回車鍵根據(jù)菜單進行各項操作。 2.任意鍵進入菜單。在主菜單內(nèi),用戶可以根據(jù)自己的需求在“輸入選項〞后輸入1-6中一個數(shù)選擇不同的功能,進行相應(yīng)的操作。 3.鍵入1,進入錄入航班信息子菜單,輸入所需的信息后跳出菜單項選擇擇后續(xù)操作。 4. 查詢航班信息。鍵入2進行查詢,根據(jù)選項選擇不同的查詢方式。 5.鍵入1,按航班號查詢,輸入

33、航班號得到航班信息,并顯示菜單以便繼續(xù)操作。 6. 主菜單鍵入3,輸入姓名及航班號,辦理訂票業(yè)務(wù)。 7.查詢該航班剩余票量是否改變,根據(jù)選項選擇不同方式查詢,輸入航班信息得到余票量。 8.主菜單鍵入4,輸入姓名及航班號,辦理退票業(yè)務(wù)。 9.主菜單鍵入5,修改起飛和降落航班時間,按回車鍵保存。 10.查詢航班信息是否修改完成,根據(jù)提示選擇任何一種查詢方式,輸入航班相關(guān)信息進行查詢。。 11.主菜單鍵入6,退出系統(tǒng),結(jié)束并按Enter鍵退出 考前須知: 1.數(shù)組間的數(shù)據(jù)一定要相互對應(yīng),否那么一個字母的錯誤就會造成錯誤。

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

35、想要乘坐的航班的信息,以決定是否訂票或退票。在這次設(shè)計過程中,自己不僅穩(wěn)固了數(shù)據(jù)結(jié)構(gòu)的知識,而且還靈活的運用線性表的知識完成了飛機場訂票系統(tǒng)的程序設(shè)計。 在程序設(shè)計中,我遇到了存儲中出現(xiàn)問題,最后設(shè)置了存入讀取函數(shù)解決了這個問題。對于程序調(diào)試能力,有了一定程度的提高,但我還需要更多的上機練習(xí),才能識別更多的錯誤,才能更快更好的理解程序。數(shù)據(jù)結(jié)構(gòu)這一門課程是非常重要的,可以促進程序設(shè)計的理解,使程序的設(shè)計更加嚴(yán)謹(jǐn),錯誤也會減少。 數(shù)據(jù)結(jié)構(gòu)是計算機存儲組織數(shù)據(jù)的方式,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運行或者存儲效率。 最后感謝老師的指導(dǎo)與批評,你讓我對于課程設(shè)計有了新的態(tài)度,學(xué)到了不少東西,同時也意識到自己的缺乏。謝謝你! 七、參考文獻 1.數(shù)據(jù)結(jié)構(gòu)與算法分析〔C++版〕〔第二版〕影印版 2005.7 2.數(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é)出版社,2003 5. 馮博琴等編著,?軟件技術(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)方式做保護處理,對用戶上傳分享的文檔內(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)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲