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

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

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

16 積分

下載資源

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

資源描述:

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

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

2、 飛機(jī)訂票系統(tǒng):設(shè)計(jì)航班信息,訂票信息。 二、本次課程設(shè)計(jì)〔論文〕應(yīng)到達(dá)的目的 數(shù)據(jù)結(jié)構(gòu)是實(shí)踐性很強(qiáng)的課程。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰葦M標(biāo)準(zhǔn)的設(shè)計(jì)報(bào)告。嚴(yán)格實(shí)施課程設(shè)計(jì)這一環(huán)節(jié),對(duì)于學(xué)生根本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用。 此題目要到達(dá)目的:熟練掌握線性表的根本操作在兩種存儲(chǔ)結(jié)構(gòu)上的實(shí)現(xiàn)。 三、本次課程設(shè)計(jì)〔論文〕任務(wù)的主要內(nèi)容和要求〔包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計(jì)要求等〕 輸入數(shù)據(jù):航班號(hào);起降時(shí)間;抵達(dá)城市;票價(jià);票價(jià)折扣; 1. 錄入

3、航班情況〔數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定〕; 2. 輸入航班號(hào),查詢某個(gè)航線的情況; 3. 輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況; 4. 客戶姓名,證件號(hào),訂票數(shù)量,航班情況,訂單編號(hào)〔證件號(hào)唯一〕; 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.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)濟(jì)和信息的開展,人們選擇乘坐飛機(jī)外出的需求日益增加。隨著航空客運(yùn)業(yè)務(wù)越來越興旺,加上網(wǎng)絡(luò)日益普及,所以良好的飛機(jī)場(chǎng)訂票系統(tǒng)不僅方便人們訂購飛機(jī)票,而且減緩了購票點(diǎn)的壓力,具有一定的社會(huì)效益。通過本系統(tǒng)管理人員可以錄入、修改航班信息,而游客可以根據(jù)航班號(hào)、航班路

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

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

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

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

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

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

11、len].a4; //起飛城市 cout<<"降落城市"<>fl[len].a5; //降落城市 cout<<"票價(jià)"<>fl[len].a6; //票價(jià) cout<<"折扣"<>fl[len].a7; //機(jī)票折扣 cout<<"剩余票量"<>fl[len].a8; //剩余票量 len++; cout<<"請(qǐng)選擇所要進(jìn)行的操作"<

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

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

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

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

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

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

18、降落時(shí)間,char qfd[10]起飛城市,char jld[10]降落城市,int pj票價(jià)。 void dingpiao() //訂票 {system("cls"); char Name[10]; int fn; int sign=0; cout<<"請(qǐng)輸入你的姓名和想訂的航班號(hào):"<>Name; //輸入乘客姓名 cin>>fn; //輸入乘客所要訂的航班號(hào) 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<<"請(qǐng)輸入航班號(hào):"; cin>>f

21、n;//輸入乘客所訂的航班的航班號(hào) cout<

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

23、 cout<<"起飛時(shí)間:";cin>>fl[num].a2; cout<<"到達(dá)時(shí)間:";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<<"****************飛機(jī)訂票系統(tǒng)******************"<

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

28、nt i; cout<<"輸入選項(xiàng):"<>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<<"輸入的選項(xiàng)不合法,請(qǐng)重新輸入"<(&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. 運(yùn)行程序,因?yàn)橹皼]有進(jìn)行航班信息的錄入,起始讀取信息為空。按回車鍵根據(jù)菜單進(jìn)行各項(xiàng)操作。 2.任意鍵進(jìn)入菜單。在主菜單內(nèi),用戶可以根據(jù)自己的需求在“輸入選項(xiàng)〞后輸入1-6中一個(gè)數(shù)選擇不同的功能,進(jìn)行相應(yīng)的操作。 3.鍵入1,進(jìn)入錄入航班信息子菜單,輸入所需的信息后跳出菜單項(xiàng)選擇擇后續(xù)操作。 4. 查詢航班信息。鍵入2進(jìn)行查詢,根據(jù)選項(xiàng)選擇不同的查詢方式。 5.鍵入1,按航班號(hào)查詢,輸入

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

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

35、想要乘坐的航班的信息,以決定是否訂票或退票。在這次設(shè)計(jì)過程中,自己不僅穩(wěn)固了數(shù)據(jù)結(jié)構(gòu)的知識(shí),而且還靈活的運(yùn)用線性表的知識(shí)完成了飛機(jī)場(chǎng)訂票系統(tǒng)的程序設(shè)計(jì)。 在程序設(shè)計(jì)中,我遇到了存儲(chǔ)中出現(xiàn)問題,最后設(shè)置了存入讀取函數(shù)解決了這個(gè)問題。對(duì)于程序調(diào)試能力,有了一定程度的提高,但我還需要更多的上機(jī)練習(xí),才能識(shí)別更多的錯(cuò)誤,才能更快更好的理解程序。數(shù)據(jù)結(jié)構(gòu)這一門課程是非常重要的,可以促進(jìn)程序設(shè)計(jì)的理解,使程序的設(shè)計(jì)更加嚴(yán)謹(jǐn),錯(cuò)誤也會(huì)減少。 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)組織數(shù)據(jù)的方式,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運(yùn)行或者存儲(chǔ)效率。 最后感謝老師的指導(dǎo)與批評(píng),你讓我對(duì)于課程設(shè)計(jì)有了新的態(tài)度,學(xué)到了不少東西,同時(shí)也意識(shí)到自己的缺乏。謝謝你! 七、參考文獻(xiàn) 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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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