c++課程設(shè)計復(fù)數(shù)類的設(shè)計課程設(shè)計論文_第1頁
c++課程設(shè)計復(fù)數(shù)類的設(shè)計課程設(shè)計論文_第2頁
c++課程設(shè)計復(fù)數(shù)類的設(shè)計課程設(shè)計論文_第3頁
c++課程設(shè)計復(fù)數(shù)類的設(shè)計課程設(shè)計論文_第4頁
c++課程設(shè)計復(fù)數(shù)類的設(shè)計課程設(shè)計論文_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、內(nèi)蒙古科技大學(xué)本科生課程設(shè)計論文題 目:c+課程設(shè)計復(fù)數(shù)類的設(shè)計姓 名:湯曉峰學(xué) 號:1167119202專 業(yè):通信工程班 級: 通信11-2班指導(dǎo)教師: 劉立新老師目 錄目錄1前言2第一章 c+簡介3 第二章 需求分析4第三章 設(shè)計分析7 2.1 功能模塊82.2 流程圖8第四章 運行及測試結(jié)果10第五章 課程設(shè)計總結(jié)14附錄(程序源代碼)15參考文獻40前言 隨著科技的發(fā)展和人們生活水平的日益提高,人們在不斷追求更加快捷的交通方式以滿足人們快節(jié)奏的生活方式,航空系統(tǒng)在交通系統(tǒng)中已扮演著一個越來越重要的角色,那么航空售票系統(tǒng)還能像以前一樣人工管理嗎?我們可以想象那將是一項多么煩重的任務(wù),因

2、此人們會尋求一種更加便捷、高效的方法,這時我們的計算機就會顯的格外重要了!當(dāng)然也離不開計算機語言的編寫。隨著計算機技術(shù)的飛速發(fā)展和普及,人們的生活方式也發(fā)生了巨大的改變,計算機在代替和延伸我們的腦力勞動方面發(fā)揮著越來越重要的作用。在交通系統(tǒng)中,有大量的數(shù)據(jù)需要被處理,而這些工作如果由人來完成幾乎是不可能的,但交給計算機處理,就可以既快捷,又高效的完成我們所期待的任務(wù)了。航空售票管理系統(tǒng)可以根據(jù)乘客和管理人員的要求,進行方便快捷的信息保存、查詢、以及購票、退票和管理等工作。本文主要介紹了簡易航空售票管理系統(tǒng)用c+程序設(shè)計語言進行編寫和實現(xiàn)的過程。第一章 c+簡介 c+是一種使用非常廣泛的電腦程序

3、設(shè)計語言。它是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多范型的通用程序設(shè)計語言。c+支持過程化程序設(shè)計、數(shù)據(jù)抽象化、面向?qū)ο蟪绦蛟O(shè)計、范型程序設(shè)計、基于原則設(shè)計等多種程序設(shè)計風(fēng)格。c+語言發(fā)展大概可以分為三個階段:第一階段從80年代到1995年。這一階段c+語言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著接近c語言的效率,在工業(yè)界使用的開發(fā)語言中占據(jù)了相當(dāng)大份額;第二階段從1995年到2000年,這一階段由于標準模板庫(stl)和后來的boost等程序庫的出現(xiàn),泛型程序設(shè)計在c+中占據(jù)了越來越多的比重性。當(dāng)然,同時由于java、c#等語言的出現(xiàn)和硬件價格的大規(guī)模下降,c+受到了一定的沖擊;第三階段從200

4、0年至今,由于以loki、mpl等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),c+出現(xiàn)了發(fā)展歷史上又一個新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使c+已經(jīng)成為當(dāng)今主流程序設(shè)計語言中最復(fù)雜的一員。第二章 需求分析要實現(xiàn)的功能1.1該航空售票管理系統(tǒng)必須用c+語言進行設(shè)計,要能體現(xiàn)c+語言的特性。1.2該系統(tǒng)至少要能提供下列服務(wù):(1) 錄入航班信息,格式為:航班號起始終點起飛時間經(jīng)濟艙票價剩余座位mu2164包頭北京20:3061087可不定時地增加航班數(shù)據(jù)。(2)瀏覽航班信息:可顯示出所有航班,如果當(dāng)前系統(tǒng)時間超過了某航班的起飛時間,則顯示“此次航班已發(fā)出”的提示信息。(3)查詢航班信

5、息:可按航班編號查詢,可按起始站,終點站查詢。 (4)訂票和退票功能a:查詢航班編號或站點。當(dāng)剩余座位數(shù)大于0,并且當(dāng)前系統(tǒng)時間小于起飛時間時才能售票,售票后自動更新剩余座位數(shù)。b:退票時,輸入退票的班次,當(dāng)本班航班未發(fā)出時才能退票,退票后自動更新剩余座位數(shù)。設(shè)計思路 分析其功能要求,該系統(tǒng)主要要實現(xiàn)四個功能,即航班信息輸入功能、瀏覽航班信息功能、查詢航班信息功能、訂票和退票功能。那么我應(yīng)該定義一個航班系統(tǒng)類(flight_system),該類的應(yīng)該成員函數(shù)應(yīng)該包含航班所有的信息,因此我要定義的成員函數(shù):航班信息航班號(hangban)、時間(time)、起始站(start)、終點站(end)

6、、票價(price)、剩余票數(shù)(leftseat),這些信息的錄入函數(shù)都定義好后,那么我就要定義主函數(shù)了,主函數(shù)應(yīng)該要聲明這四項功能,然后再分別編寫功能函數(shù),比如定義航班信息輸入功能函數(shù),我就可以調(diào)用類中的成員函數(shù)來實現(xiàn),同理瀏覽航班信息的功能函數(shù)也應(yīng)調(diào)用類的成員函數(shù)來進行信息的輸出,這樣就可以達到簡易的航空售票系統(tǒng)基本要求了,即當(dāng)我把信息錄入成功以后,就可以進行信息的瀏覽,信息的查詢以及訂票的售票的簡單操作了,所以我首先應(yīng)該做的就是編寫成員函數(shù),那么接下來的工作就會很容易的解決了!課程名稱c+語言課程設(shè)計設(shè)計題目航空售票管理系統(tǒng)的設(shè)計指導(dǎo)教師余金林老師時間2011-2012春學(xué)期 第17、1

7、8周一、設(shè)計資料及參數(shù)用c+設(shè)計一個系統(tǒng),能提供下列服務(wù):(1)錄入航班信息,格式為:航班號起飛時間起始終點經(jīng)濟艙票價剩余座位mu216420:30包頭北京61087可不定時地增加航班數(shù)據(jù)。(2)瀏覽航班信息,可顯示出所有航班,如果當(dāng)前系統(tǒng)時間超過了某航班的起飛時間,則顯示“此次航班已發(fā)出”的提示信息。(3)查詢路線:可按航班編號查詢,可按起始站,終點站查詢(4)售票和退票功能a:查詢航班編號或站點。當(dāng)剩余座位數(shù)大于0,并且當(dāng)前系統(tǒng)時間小于起飛時間時才能售票,售票后自動更新剩余座位數(shù)。b:退票時,輸入退票的航班編號和數(shù)量,當(dāng)本班航班未發(fā)出時才能退票,退票后自動更新剩余座位數(shù)。二、設(shè)計要求及成果

8、根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:(1)分析系統(tǒng)中的各個實體之間的關(guān)系及其屬性和行為;(2)根據(jù)問題描述,設(shè)計系統(tǒng)的類層次;(3)完成類層次中各個類的描述(包括屬性和力一法);(4)完成類中各個成員函數(shù)的定義;(5)完成系統(tǒng)的應(yīng)用模塊;(6)功能調(diào)試;(7)提交課程設(shè)計報告:完成系統(tǒng)總結(jié)報告以及系統(tǒng)使用說明書第三章 設(shè)計分析主菜單顯示函數(shù)的設(shè)計分析 通過分析問題需求,那么主菜單須顯示如下 1.管理航班信息2. 瀏覽航班信息 3. 查找航班信息4. 訂票退票信息5. 刷新系統(tǒng)信息0.退出系統(tǒng),但如果是要進行信息的管理,就必須要通過密碼的認證。其分析框圖如下: 信息管理的操作主函數(shù)選擇

9、功能1密碼驗證未通過認證通過刪除信息選擇功能按提示選擇錄入信息返回主菜單如果信息都保存好,要進行信息瀏覽和信息查詢操作 ,則可以直接進入其相應(yīng)的操作界面。其分析框圖如下:主函數(shù)主函數(shù)選擇功能選擇功能查詢信息信息瀏覽選擇查詢方式調(diào)用信息輸出函數(shù)顯示所有航班信息航班號查詢按站點查詢調(diào)用信息輸出函數(shù)顯示所有航班信息返回主菜單如果想進行訂票和退票的操作,即可直接選擇相應(yīng)的功能序號就可以進入操作界面了,其設(shè)計流程圖如下:主函數(shù)選擇功能 進入訂票退票界面進行退票操作繼續(xù)選擇功能進行訂票操作返回主菜單刷新系統(tǒng)時間操作,進入操作系統(tǒng)后,直接選擇相應(yīng)功能序號即可執(zhí)行該操作了,退出系統(tǒng)也是一樣的,按數(shù)字0后系統(tǒng)會

10、提醒按任意退出。以上就是設(shè)計航空售票系統(tǒng)簡易程框圖,有了設(shè)計流程圖就可以根據(jù)流程圖一步步編寫程序,思路將會非常清晰。 第四章 運行及測試結(jié)果返回主菜單界面當(dāng)進入系統(tǒng)后,會看到如下界面:首先演示功能一(管理航班信息):輸入數(shù)字1,系統(tǒng)會提示你輸入密碼,默認密碼為1234,如果密碼輸入錯誤也會有提示,輸入密碼后,即進入了管理界面如下界面:當(dāng)進入這一界面,你可以選擇添加航班信息和刪除航班信息,根據(jù)界面提示,可以選擇響應(yīng)的功能,這里不再演示。信息瀏覽功能:在主界面中,輸入數(shù)字2,即進入該功能界面,如下圖:信息查詢功能:同理進入主菜單后,輸入數(shù)字3,即可進入該功能界面,進入后系統(tǒng)會提示你選擇查詢的方式,

11、先演示按航班號查詢的方式,輸入數(shù)字2,即可進入如下界面:訂票退票操作:和如上操作一樣,在主菜單界面輸入數(shù)字4,進入該界面,系統(tǒng)會提示你如何顯示信息,然后詢問你是訂票還是退票操作,從而完成你想要的功能,如下圖:同理退票也是一樣,如下:如果沒有信息的錄入,當(dāng)輸入功能序號時,會出現(xiàn)如下提示:第五章 課程設(shè)計總結(jié)此課程設(shè)計我完成了對航線查詢、訂票、退票及刪除等功能的設(shè)計操作,此課程設(shè)計還包含了提示功能以及退出功能。對程序在運行時輸入錯誤操作的修改,提供了一定的方便條件,基本上能安全的運行,自我感覺能夠符合題目的要求。程序?qū)懙倪€算簡練,結(jié)構(gòu)清晰,各個模塊的分工和功能明確。通過兩周的c+課程設(shè)計,使我對c

12、+程序設(shè)計有了更全面的認識,讓我感覺到將課堂上老師講的知識運用到實際操作中的重要性(即動手的能力)。我這次課程設(shè)計的題目是航空訂票系統(tǒng),在開始階段,根本無從下手,后來通過老師的耐心講解和自己查閱有關(guān)資料,最終成功完成整個程序的設(shè)計。在這次課程設(shè)計中我對c+語言中的類的定義、成員函數(shù)的調(diào)用等知識有了進一步的理解,對流程圖的畫法更加熟練,對程序的開發(fā)思路有了一定的理解,我想這在以后的學(xué)習(xí)和工作中都會有幫助的,因為當(dāng)今世界是離不開計算機的,用計算機會節(jié)省我們很多時間的,同時也使我意識到了學(xué)習(xí)c+語言的重要性。在調(diào)試程序的過程中,讓我感覺到不管做什么事情,我們都應(yīng)該有耐心,不能知難而退,如果老是半途而

13、廢的話,我們將一事無成,當(dāng)然在調(diào)試過程中使我的讀程序能力,糾錯能力都有了提高,我將繼續(xù)努力,爭取會有更大的進步!附錄(源程序代碼)#includeiostream.h #includestring.h#includestatic int num=0; /定義全局變量控制航班總數(shù)class flight_system private : char hangban10; char start10; char end10; /定義航班屬性 int timehour; int timeminiute; int price; int leftseat; public : void hangban_out

14、put()/輸出航班信息 couthangban; void start_output()/輸出起始站 coutstart; void end_output()/輸出終點站 couthangban; void start_input()/錄入起始站 cinstart; void end_input()/錄入終點站 cinend; void timehour_input()/錄入時 couttimehour; void timeminiute_input()/錄入分 couttimeminiute; void price_input()/錄入票價 cinprice; void leftseat_

15、input()/錄入剩余座位數(shù) cinleftseat; void shou()/售票后剩余票數(shù)自動減一 leftseat=leftseat-1; void tui()/退票后剩余票數(shù)自動加一 leftseat=leftseat+1; ;flight_system *hangkong=new flight_system15; /分配動態(tài)存儲空間void main() void foundation_1(); void foundation_2(); void foundation_3(); /聲明基礎(chǔ)功能模塊 void foundation_4(); void foundation_5();w

16、hile(1) struct tm *local; char s1128; time_t t; /獲取系統(tǒng)時間 t=time(null); local=localtime(&t); strftime(s1,128,%y-%m-%d %h:%m ,local);cout 歡迎進入航空票務(wù)系統(tǒng) * endl; cout -endl; cout * 1.管理航班信息 * 2.瀏覽航班信息 endlendl * 3.查找航班信息 * 4.訂票退票信息 endlendl * 5.刷新系統(tǒng)信息 * 0.退出系統(tǒng) endlendl -endl 當(dāng)前時間:s1endl; cout -endl; coutn;

17、while(!(n = 1 | n = 2 | n = 3 | n = 4 | n = 5|n = 0) cout n; switch(n) case 1 :foundation_1();break; case 2 :foundation_2();break; /功能選擇模塊 case 3 :foundation_3();break; case 4 :foundation_4();break; case 5 :foundation_5();break; case 0 :return ;break; /*功能模塊一*/void foundation_1()cout-歡迎進入信息管理系統(tǒng)-endl

18、; int mima=1234; int miyue=0; coutendlmiyue;if(miyue!=mima)coutendl密碼錯誤!請重新輸入!endl; if(miyue=mima) coutendl密碼正確!endlendl請輸入操作編號,添加請按-1,刪除請按-2,退出請按-3n; while(!(n=1|n=2|n=3) cout n; switch(n) case 3:return ;break; case 1:cout請輸入航班號:; hangkongnum.hangban_input(); cout請輸入起始站點:; hangkongnum.start_input()

19、; cout請輸入終點站:; hangkongnum.end_input(); cout請輸入時間:; hangkongnum.timehour_input(); hangkongnum.timeminiute_input(); /航班信息錄入 cout請輸入票價:; hangkongnum.price_input(); cout請輸入座位數(shù):; hangkongnum.leftseat_input(); cout信息錄入成功!endl; num+; cout繼續(xù)請按-1,退出請按-2x; while(!(x=1|x=2) cout x; /實現(xiàn)循環(huán)操作 switch(x) case 1: f

20、oundation_1();break;/遞歸調(diào)用實現(xiàn)循環(huán) case 2: return ;break;break; case 2: coutx; int t=0,y; for(t=0;tnum;t+) y=hangkongt.hangban_return(x); if(y=0) cout確認刪除-1,退出請按-2s; while(!(s!=1|s!=2) cout 請輸入正確編號(12):s; /實現(xiàn)循環(huán)操作 switch(s) case 1:hangkongt=hangkongt-1;num-; cout刪除成功!; break; /遞歸調(diào)用實現(xiàn)循環(huán) case 2: return ;bre

21、ak; if(y!=0) coutendl沒有此航班信息,不能刪除!endl; coutendl繼續(xù)請按-1,退出請按-2s; while(!(s!=1|s!=2) cout s; /實現(xiàn)循環(huán)操作 switch(s) case 1: foundation_1();break;/遞歸調(diào)用實現(xiàn)循環(huán) case 2: return ;break; coutendl繼續(xù)請按-1,退出請按-2s; while(!(s!=1|s!=2) cout s; /實現(xiàn)循環(huán)操作 switch(s) case 1: foundation_1();break;/遞歸調(diào)用實現(xiàn)循環(huán) case 2: return ;break

22、; ;break; else foundation_1(); /*/*功能模塊二*/void foundation_2() coutendl*歡迎進入信息瀏覽系統(tǒng)*endl; int x; char a; if (num=0) coutendl當(dāng)前航班信息不存在,請您稍后再試! endl endl-感謝您的使用-endl; coutendla; return ; if (num0) cout航班基本信息如下:; for(x=0;xnum;x+) coutendlendl航班號 起飛時間 起點站 終點站 經(jīng)濟艙票價 剩余票數(shù)endl; cout ; hangkongx.hangban_outpu

23、t();cout ; couthangkongx.timehour_output();cout時; couthangkongx.timeminiute_output();cout分;cout ; hangkongx.start_output(); cout ; /信息輸出模塊 hangkongx.end_output();cout ; couthangkongx.price_output();cout ; couthangkongx.leftseat_output(); coutendl-感謝您的使用-endl; coutendla; return ;/*功能模塊三*/void foundat

24、ion_3()coutendl*歡迎進入信息查詢系統(tǒng)!*endl; if (num=0) coutendl當(dāng)前航班信息不存在,請您稍后再試! endl endl-感謝您的使用-endl; coutendla; return ; if(num0) coutendl請輸入查詢方式,按站點查詢請輸入-1,按航班號查詢請按-2,返回主菜單請按-3a; /選擇查詢方式 while(!(a=1|a=2|a=3)cout a; /*按車次檢索*/ switch(a) case 3:break; case 2:coutx; for(t=0;tnum;t+) y=hangkongt.hangban_return

25、(x); if(y=0) cout航班號 起飛時間 起點站 終點站 經(jīng)濟艙票價 剩余票數(shù)endl; hangkongt.hangban_output();cout ; couthangkongt.timehour_output();cout點; couthangkongt.timeminiute_output();cout分;cout ; hangkongt.start_output(); cout ; hangkongt.end_output();cout ; couthangkongt.price_output();cout ; couthangkongt.leftseat_output(

26、); else cout當(dāng)前航班信息不存在,請稍后再試!; coutendl-感謝您的使用-endl; coutendl繼續(xù)請按-1,退出請按-2b; while(!(b=1|b=2) cout 請輸入正確編號(12):b; /循環(huán)操作 switch(b) case 1:foundation_3();break; case 2:return ;break;break; /*按起始終點站檢索*/ case 1:cout請輸入起始站或者終點站名!x; for(t=0;tnum;t+) y1=hangkongt.zhongdian_return(x); y2=hangkongt.qishi_retu

27、rn(x); if(y1=0 | y2=0) cout航班號 起飛時間 起點站 終點站 經(jīng)濟艙票價 剩余票數(shù)endl; hangkongt.hangban_output();cout ; couthangkongt.timehour_output();cout點; couthangkongt.timeminiute_output();cout分;cout ; hangkongt.start_output(); cout ; hangkongt.end_output();cout ; couthangkongt.price_output();cout ; couthangkongt.leftse

28、at_output(); else cout當(dāng)前航班信息不存在,請稍后查詢!; coutendl-感謝您的使用-endl; coutendl繼續(xù)請按-1,退出請按-2b; while(!(b=1|b=2) cout 請輸入正確編號(12):b; /循環(huán)操作 switch(b) case 1:foundation_3();break; case 2:return ;break;break; /*功能模塊四*/void foundation_4() /*/ struct tm *local; char s1128; time_t t; t=time(null); /獲取系統(tǒng)時間 local=localtime(&t); strftime(s1,128,%y-%m-%d %h:%m ,local); /*/ cout*歡迎進入航空售票與退票系統(tǒng)*endl; if (num=0) coutendl飛機已起飛!請您等待下一航班! endl endl-感謝

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論