版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(論文)</b></p><p> 2011年 01 月 20日</p><p> 題 目航空售票處的服務(wù)系統(tǒng)程序</p><p> 姓 名</p><p> 學(xué) 號</p><p> 指 導(dǎo) 老 師</p>
2、<p> 指導(dǎo)教師職稱講師</p><p> 年級專業(yè)班級09信息與計算科學(xué)(01)班</p><p> 所 在 學(xué) 院</p><p><b> 目錄</b></p><p><b> 目錄1</b></p><p><b> 摘要2<
3、/b></p><p><b> 前言3</b></p><p><b> 1課題背景4</b></p><p><b> 1.1背景4</b></p><p> 1.2需求分析4</p><p><b> 1.3
4、意義5</b></p><p> 1.4文獻綜述5</p><p> 2設(shè)計簡介及設(shè)計方案論述6</p><p> 2.1設(shè)計簡介6</p><p> 2.2設(shè)計方案論述6</p><p><b> 3詳細(xì)設(shè)計8</b></p><
5、p> 3.1航空類的定義8</p><p><b> 3.2機票信息8</b></p><p> 3.3航空票額管理函數(shù)9</p><p> 3.4菜單的設(shè)計10</p><p> 4設(shè)計結(jié)果及分析11</p><p> 4.1測試數(shù)據(jù)11</p>
6、;<p> 4.2測試結(jié)果11</p><p><b> 5總結(jié)12</b></p><p><b> 致謝14</b></p><p><b> 參考文獻15</b></p><p> 附錄 程序代碼16</p><
7、p><b> 摘要</b></p><p> 本課題主要是運用VC6.0,開發(fā)基于控制臺下的航空售票處的服務(wù)系統(tǒng)。本文較為詳細(xì)的介紹了這一程序的設(shè)計思想,功能結(jié)構(gòu)以及類的設(shè)計和某些功能函數(shù)的設(shè)計。本文還給出了對這一程序的測試情況以及對測試結(jié)果的分析,。</p><p> 關(guān)鍵詞:plane,查詢,面向?qū)ο?lt;/p><p><b
8、> 前言</b></p><p> 本文詳細(xì)介紹了航空貨物托運費用計算程序的設(shè)計與開發(fā)。全文共5章。</p><p> 第1章介紹了航空貨物托運費用計算程序的背景,以及它所要實現(xiàn)的基本功能。并根據(jù)這些用戶需求,進行了必要的需求分析,從而確定了該程序應(yīng)實現(xiàn)了一些基本功能。本章中,還簡要地介紹了該程序開發(fā)的意義以及在整個開發(fā)過程中,我們所查閱并借用的一些參考文獻的主要內(nèi)
9、容。</p><p> 第2章主要介紹了航空貨物托運費用計算程序中各功能模塊的總體框圖,主要類的設(shè)計以及各類之間的相互關(guān)系,這是全文的核心部分。</p><p> 第3章是航空貨物托運費用計算程序的詳細(xì)設(shè)計,由于文章篇幅的限制,我們僅給出了主要類的設(shè)計,關(guān)鍵成員函數(shù)設(shè)計,以及接口函數(shù)和菜單函數(shù)的設(shè)計,并給出了其程序代碼。</p><p> 第4章是對所開發(fā)的航
10、空貨物托運費用計算程序的運行測試。通過我們所設(shè)計的部分測試數(shù)據(jù),檢驗程序是否達到了預(yù)定的設(shè)計要求。</p><p> 第5章是對航空貨物托運費用計算程序開發(fā)過程的總結(jié)。總結(jié)了本次課程設(shè)計的意義,以及測試中所發(fā)現(xiàn)的一些問題,有待進一步改進的地方。重點還談到了我在本次課程設(shè)計中的收獲與感想。</p><p> 全文的最后是致謝、參考文獻和程序的全部源代碼。</p><p
11、><b> XXX</b></p><p> 2011-01-20 于武漢工程大學(xué)理學(xué)院</p><p><b> 課題背景</b></p><p><b> 背景</b></p><p> 我們乘坐飛機旅行前,都需要在網(wǎng)上或者去機場買機票,自然就會涉及到機票的
12、訂票和退票以及查詢等等。應(yīng)對這些必須要一個程序能執(zhí)行多種功能,可以依據(jù)乘客的需要來做出相應(yīng)的解答。而且在乘客訂票和退票后還能自動管理票數(shù),還能根據(jù)乘客的需要完成預(yù)定機票和等待其他乘客退票等活動。實現(xiàn)機票的無人化管理。</p><p> (1) 能夠方便地將貨物信息的錄入程序,并立即計算出托運</p><p> 根據(jù)上節(jié)所描述,用戶需要設(shè)計一個關(guān)于售票處服務(wù)系統(tǒng)程序,使航空公司可以通過的
13、乘客簡單地輸入個人部分信息,便可方便的管理機票。</p><p> 另外,該程序還要實現(xiàn)以下功能:費用;</p><p> 能夠?qū)娇蘸骄€進行查詢;</p><p> 能夠自主的承辦訂票業(yè)務(wù)</p><p> 能夠自主的承辦退票業(yè)務(wù)</p><p><b> 意義</b></p&g
14、t;<p> 一般信息管理系統(tǒng)的設(shè)計與開發(fā),是信息與計算科學(xué)專業(yè)學(xué)生必須掌握的一項技術(shù)。了解一般信息管理系統(tǒng)所需要的功能模塊,各功能模塊的設(shè)計與實現(xiàn)方法,以及各功能模塊之間的相互聯(lián)接方法,對于今后從事軟件設(shè)計與開發(fā),有重要的指導(dǎo)作用。</p><p> 采用C++面向?qū)ο蟪绦蛟O(shè)計的思想,設(shè)計與開發(fā)售票處的服務(wù)系統(tǒng)程序,也可以使我們更好地理解面向?qū)ο筌浖_發(fā)的方法,并初步了解如何運用C++,開發(fā)出
15、數(shù)據(jù)抽象程度高,體現(xiàn)信息隱蔽、可復(fù)用、易修改、易擴充且模塊化的程序。</p><p><b> 文獻綜述</b></p><p> 文獻[1]較詳細(xì)地介紹了c++程序的設(shè)計與開發(fā)以及C++的一些基本知識,它對于我們了解C++知識,運用C++進行面向?qū)ο蟪绦蛴蟹浅V苯拥膸椭?lt;/p><p> 文獻[2]介紹了C++程序設(shè)計的主要思想與方法
16、,在解決航空貨物托運費用計算程序時,我們參考該書中許多技巧以及接口程序的設(shè)計,類的繼承等。對我們完成這個航空售票處服務(wù)系統(tǒng)程序的設(shè)計起了很大的幫助。</p><p> 文獻一:《程序設(shè)計基礎(chǔ)第二版》</p><p> 文獻二:《c++面向?qū)ο蟪绦蛟O(shè)計》</p><p> 設(shè)計簡介及設(shè)計方案論述</p><p><b> 設(shè)計
17、簡介</b></p><p> 根據(jù)需求分析,由于程序較為簡單我們將只設(shè)計一個類:plane(即航班類)。其主要功能模塊有:輸入、輸出、票額計算、查詢、訂票、退票。</p><p> 其類結(jié)構(gòu)見圖2-1,其功能結(jié)構(gòu)見圖2-2。</p><p><b> 圖2-1 類的結(jié)構(gòu)</b></p><p> 圖
18、2-2 系統(tǒng)結(jié)構(gòu)示意圖</p><p><b> 設(shè)計方案論述</b></p><p> Plane(航空類)包含以下屬性與方法:</p><p> 記錄乘客的航班號、飛機號、星期幾飛行、最近一天航班的日期和余票額等方法。</p><p> 各功能模塊的調(diào)用應(yīng)通過菜單進行選取。</p><p&
19、gt; 由于乘客和機票的主要信息是由plane類的對象所生成,而且機票的管理自動運行,plane類的構(gòu)造函數(shù)的設(shè)計以及機票數(shù)額計算的設(shè)計要尤其精細(xì),因為這兩個函數(shù)的調(diào)用十分的頻繁。</p><p><b> 詳細(xì)設(shè)計</b></p><p><b> 航空類的定義</b></p><p> class Plane&
20、lt;/p><p><b> {private:</b></p><p> char name[40];//終點站名</p><p> int number;//航班號</p><p> int Number;//飛機號</p><p> int week;//星期幾飛行</p>
21、<p> int day;//日期</p><p> int left;//余票額</p><p> int n;//與數(shù)組flag一起確定客戶訂票狀態(tài)</p><p><b> public:</b></p><p> int flag[20];//訂票狀態(tài)數(shù)組,-1為預(yù)訂票,1為已定票,0為
22、初始化狀態(tài)</p><p> Plane()//構(gòu)造函數(shù)</p><p><b> {</b></p><p> name[0]='\0';</p><p><b> number=0;</b></p><p><b> Number=0;
23、</b></p><p><b> week=0;</b></p><p><b> day=0;</b></p><p><b> left=M;</b></p><p> n=0;//數(shù)組從0開始計數(shù)</p><p> fo
24、r(int i=0;i<20;i++)</p><p> flag[i]=0;</p><p><b> }</b></p><p> void init()//初始化每種飛機票</p><p><b> {</b></p><p> cout<<
25、"請輸入終點站名:";</p><p> cin>>name;</p><p> cout<<"請輸入航班號:";</p><p> cin>>number;</p><p> cout<<"請輸入飛機號:";</p>
26、;<p> cin>>Number;</p><p> cout<<"請輸入星期幾飛行:";</p><p> cin>>week;</p><p> cout<<"請輸入航班的日期:";</p><p><b> cin
27、>>day;</b></p><p><b> }</b></p><p> ~Plane(){};//析構(gòu)函數(shù)</p><p> char *getname(){return name;}//獲得終點站名</p><p> int getnumber(){return number;}/
28、/獲得航班號</p><p> int getNumber(){return Number;}//獲得飛機號</p><p> int getweek(){return week;}//獲得星期幾飛行</p><p> int getday(){return day;}//獲得日期</p><p> int getleft(){re
29、turn left;}//獲得余票額</p><p> int getn(){return n;}//獲得旅客數(shù)目</p><p> void inleft(int n){left=left+n;}//余票額增加函數(shù)</p><p> void deleft(int n){left=left-n;}//余票額減少函數(shù)</p><p>
30、 void inn(){n++;}//旅客數(shù)目增加函數(shù)</p><p><b> };</b></p><p><b> 機票信息的輸入</b></p><p> 第一段:void init()//初始化每種飛機票</p><p><b> {</b></p>
31、;<p> cout<<"請輸入終點站名:";</p><p> cin>>name;</p><p> cout<<"請輸入航班號:";</p><p> cin>>number;</p><p> cout<<&qu
32、ot;請輸入飛機號:";</p><p> cin>>Number;</p><p> cout<<"請輸入星期幾飛行:";</p><p> cin>>week;</p><p> cout<<"請輸入航班的日期:";</p>
33、;<p><b> cin>>day;</b></p><p> 第二段:void start()</p><p><b> {</b></p><p> for(int i=0;i<N;i++)</p><p><b> {</b>&
34、lt;/p><p> pl[i].init();</p><p> cout<<endl;</p><p><b> }</b></p><p><b> }</b></p><p><b> 機票計算管理函數(shù)</b></p>
35、;<p><b> 查詢函數(shù):</b></p><p> 用于查詢乘客所需票機票的信息</p><p> 其具體語句為: void query()</p><p><b> {</b></p><p> int i,num=0;</p><p> c
36、har name[40];</p><p> cout<<endl;</p><p> cout<<"請輸入終點站名:";</p><p> cin>>name;</p><p> for(i=0;i<=N;i++)</p><p> if(str
37、cmp(name,pl[i].getname())==0)</p><p><b> {</b></p><p><b> num++;</b></p><p> cout<<"航班號:"<<pl[i].getnumber()<<endl;</p>
38、<p> cout<<"飛機號:"<<pl[i].getNumber()<<endl;</p><p> cout<<"星期:"<<pl[i].getweek()<<"飛行"<<endl;</p><p> cout<<
39、;"航班日期:"<<pl[i].getday()<<endl;</p><p> cout<<"余票額:"<<pl[i].getleft()<<endl;</p><p><b> break;</b></p><p><b>
40、}</b></p><p> if(num==0)</p><p> cout<<"沒有此航班"<<endl;</p><p><b> }</b></p><p><b> 訂票函數(shù):</b></p><p>
41、 用于乘客預(yù)定機票并就乘客的操作管理機票</p><p> 具體語句為:void make()</p><p><b> {</b></p><p> int number,n,sitnumber,nu,ch,num=0;</p><p> cout<<"請輸入航班號:";<
42、;/p><p> cin>>number;</p><p> cout<<"請輸入訂票數(shù)額:";</p><p><b> cin>>n;</b></p><p> for(int i=0;i<N;i++)</p><p> if
43、(number==pl[i].getnumber())</p><p><b> {</b></p><p><b> num++;</b></p><p> if(n<=pl[i].getleft())</p><p><b> {</b></p>
44、<p> cout<<"此航班有票"<<endl;</p><p> pl[i].deleft(n);</p><p> pl[i].inn();</p><p> pl[i].flag[pl[i].getn()]=1;</p><p> for(i=0;i<n;i++)
45、</p><p><b> {</b></p><p> cout<<"座位號";</p><p> cin>>sitnumber;</p><p><b> }</b></p><p><b> }</b
46、></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"余票額少于訂票額,請重新輸入訂票數(shù)額,"<<"訂票數(shù)額應(yīng)該少于或等于"<<pl[i].getleft();</p
47、><p><b> cin>>nu;</b></p><p> if(nu<=pl[i].getleft())</p><p><b> {</b></p><p> cout<<"此航班有票"<<endl;</p>&
48、lt;p> pl[i].deleft(nu);</p><p> pl[i].inn();</p><p> pl[i].flag[pl[i].getn()]=1;</p><p> for(i=0;i<N;i++)</p><p><b> {</b></p><p>
49、cout<<"座位號";</p><p> cin>>sitnumber;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><
50、p><b> {</b></p><p> cout<<"是否需要預(yù)約"<<endl;</p><p> cout<<"是(1) 否(2)"<<endl;</p><p><b> cin>>ch;</b>
51、</p><p> switch(ch)</p><p><b> {</b></p><p> case 1:pl[i].inn();pl[i].flag[pl[i].getn()]=-1;break;</p><p> case 2:break;</p><p> default:c
52、out<<"你敲錯了!"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p&
53、gt;<p> if(num==0)</p><p> cout<<"沒有此航班"<<endl;</p><p><b> }</b></p><p><b> 退票函數(shù):</b></p><p> 用于乘客退定機票并就乘客的操作管
54、理機票</p><p> 具體語句為:void back()</p><p><b> {</b></p><p> int number,day,n,nu,sitnumber,num=0;//航班號,日期,退票數(shù)目,訂票數(shù)目,座位號,標(biāo)志量</p><p> cout<<"請輸入日期:&q
55、uot;;</p><p><b> cin>>day;</b></p><p> cout<<"請輸入航班:";</p><p> cin>>number;</p><p> for(int i=0;i<N;i++)</p><p
56、> if((day==pl[i].getday())&&(number==pl[i].getnumber()))//日期與航班是否滿足</p><p><b> {</b></p><p> num++;//日期與航班滿足</p><p> cout<<"輸入退票數(shù)目";</p
57、><p><b> cin>>n;</b></p><p> cout<<"退票成功"<<endl;</p><p> pl[i].inleft(n);//該種飛機票增加,即已退票</p><p> for(int j=0;j<=pl[i].getn();
58、j++)//順序查詢客戶訂票狀態(tài)</p><p><b> {</b></p><p> if(pl[i].flag[j]==-1)//客戶是否為預(yù)定狀態(tài)</p><p><b> {</b></p><p> cout<<"有預(yù)約訂票,請輸入訂票數(shù)額:";&
59、lt;/p><p><b> cin>>nu;</b></p><p> if(nu<=pl[i].getleft())//余票額是否滿足要求</p><p><b> {</b></p><p> cout<<"此航班有票"<<en
60、dl;</p><p> pl[i].flag[j]=1;</p><p> cout<<"訂票成功"<<endl;</p><p> pl[i].deleft(nu);</p><p> for(int k=0;k<nu;k++)</p><p><b&
61、gt; {</b></p><p> cout<<"座位號"<<" ";</p><p> cin>>sitnumber;</p><p><b> }</b></p><p> cout<<&qu
62、ot;余票額為"<<pl[i].getleft()<<endl;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> cout<<&quo
63、t;沒有預(yù)約訂票!"<<"余票額為"<<pl[i].getleft()<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> if(num==0)</p><p> cou
64、t<<"沒有此票"<<endl;</p><p><b> }</b></p><p><b> 菜單的設(shè)計</b></p><p> int showmenu()</p><p><b> {</b></p>
65、<p><b> int ch;</b></p><p> cout<<endl;</p><p> cout<<"請選擇你要執(zhí)行的功能"<<endl;</p><p> cout<<"1:查詢航線"<<endl;</p&
66、gt;<p> cout<<"2:承辦訂票業(yè)務(wù)"<<endl;</p><p> cout<<"3:承辦退票業(yè)務(wù)"<<endl;</p><p> cout<<"0:退出程序的運行"<<endl;</p><p>&
67、lt;b> cin>>ch;</b></p><p> return ch;</p><p><b> }</b></p><p><b> 設(shè)計結(jié)果及分析</b></p><p><b> 測試數(shù)據(jù)</b></p><
68、;p><b> 測試結(jié)果</b></p><p> 圖4-1 程序運行后顯示的菜單</p><p><b> 總結(jié)</b></p><p> 大一第二學(xué)期,我學(xué)習(xí)了《C++程序設(shè)計基礎(chǔ)》,初步了解了如何利用C++語言編寫面向過程的程序。大二第一學(xué)期,我又學(xué)習(xí)了《C++面向?qū)ο蟪绦蛟O(shè)計》,更進一步熟悉了C++語
69、言,以及面向?qū)ο蟪绦蛟O(shè)計的思想與方法。在這兩門課程的學(xué)習(xí)過程中,我常常對C++靈活多變的編程風(fēng)格感到難以適應(yīng),對于創(chuàng)建一個可編程模型來解決實際問題感到無從下手,對如何運用所學(xué)過的算法與常見結(jié)構(gòu)去解決編程問題感到困惑,對類的設(shè)計,程序結(jié)構(gòu)的設(shè)計更感到茫然。這一年的C++編程學(xué)習(xí),可以說是在痛苦中渡過的,每當(dāng)我無法解決非常初等的程序設(shè)計問題時,每當(dāng)我連十幾行的程序代碼都寫不出來時,我覺得編程太難了。我多次在心里對學(xué)習(xí)與掌握好計算機編程產(chǎn)生過
70、畏難情緒,甚至產(chǎn)生過放棄這門課程學(xué)習(xí)的念頭。</p><p> 好在老師在這一年里一直在鼓勵著我們。他告訴我們,每一個程序員在成長過程中,都有過類似的經(jīng)歷與感受,使我克服了畏難與自卑心理;他還告訴我們,掌握編程需要累積薄發(fā),需要多動手實驗,在實驗中去感悟,終會有水滴石穿、云開日出、豁然開朗的那一刻;他還要求我們向《士兵突擊》這部電視劇中主人翁許三多學(xué)習(xí),“不拋棄,不放棄”,讓我們堅持到對編程“開竅”的那一天。老
71、師為了讓我們練好編程,為我們開設(shè)了許多練習(xí)編程的實驗課,讓我們不斷地磨礪自已的意志品質(zhì)與思維靈犀,借他山之石,攻已之玉。</p><p> 老師的這些話,我感到有一定的道理,心里卻仍存疑慮,將信將疑。但也不好拂卻了老師的好意與付出,于是,我只好硬著頭皮堅持著,堅持了一年。</p><p> 這次課程設(shè)計,是我與同學(xué)一起第一次合作完成較大的程序編寫,開始時,我們心里根本沒底,想都不敢想自
72、已能寫出一點東西來,并真正地解決這一實際問題。但隨著工作的逐漸深入,對問題的理解越來越透徹,想寫的東西越來越多,信心越來越足,程序越編越大,系統(tǒng)的功能越做越強。當(dāng)我們洋洋灑灑地撰寫完千余行代碼,將一個又一個功能模塊實現(xiàn)出來,并將它們調(diào)試通過之后,那種喜悅感、幸福感、成就感讓我感到興奮。我終于等到了所謂“開竅”的這一刻,原來它是這樣的一種感覺。此時此刻,回想一年來學(xué)習(xí)編程的經(jīng)歷,我明白了這樣一個道理:此時的喜悅感、幸福感、成就感,不正好是
73、過去的沮喪、痛苦、自卑所帶來的饋贈嗎!其實,這種道理對我們這個年齡段的青年人,誰人不知又誰人不曉呢,它所應(yīng)證的不就是那幾句老名言嗎?</p><p> 不經(jīng)歷風(fēng)雨,怎么能見彩虹</p><p> 寶劍鋒從磨礪出,梅花香自苦寒來</p><p> 讓我們值得進一步思考的是,為什么我們一碰到困難,就忘記了這些至理名言呢?為什么我們一遇到挫折,總希望別人來安慰與鼓勵
74、,甚至是扶你前行呢?</p><p> 做完這次課程設(shè)計,我感到自己成熟起來了,我也明白了,大一時,老師在《C++程序設(shè)計基礎(chǔ)》教學(xué)中,贈與我們的那一段話的良苦用心。</p><p> 古今之成大事業(yè)大學(xué)問者,必經(jīng)過三種之境界。 </p><p> “昨夜西風(fēng)凋碧樹,獨上高樓,望盡天涯路?!贝说谝痪辰缫?; </p><p> “衣帶漸
75、寬終不悔,為伊消得人憔悴?!贝说诙辰缫玻?</p><p> “從里尋她千百度,驀然回首,那人卻在燈火欄珊處?!贝说谌辰缫病?</p><p> 航空貨物托運費計算程序已開發(fā)完成了,它實現(xiàn)了我們在需求分析中所提出的功能,但它仍有許多需要改進的地方。</p><p><b> 致謝</b></p><p> 一
76、份課程設(shè)計的總結(jié),一份對老師的感謝。</p><p> 雖然我們課程設(shè)計程序代碼在這學(xué)期開始的時候已經(jīng)有了,但是在明天即將給老師的時刻,程序代碼也發(fā)生了許多變化,功能也逐漸提高;一些變化,一些收獲。</p><p> 老師說過:“道雖遠(yuǎn),不行不至;事雖難,不為不成?!边@專業(yè)真的很累,老師們累,學(xué)生們也累,謝謝老師們和我們一起堅持著。明天結(jié)果如何是無法知道的,而今天我們都努力過。<
77、/p><p><b> 參考文獻</b></p><p> 吳文虎,清華大學(xué)出版社.</p><p> 張俊,張彥鐸.C++面向?qū)ο蟪绦蛟O(shè)計[M].北京:中國鐵路出版社,2008.</p><p><b> 附錄 程序代碼</b></p><p> #include
78、<string.h></p><p> #include <iostream.h></p><p> #include"fstream.h"</p><p> #define M 5//每種飛機票的總數(shù)目</p><p> #define N 3//飛機票的總數(shù)目</p>&l
79、t;p> class Plane</p><p><b> {private:</b></p><p> char name[40];//終點站名</p><p> int number;//航班號</p><p> int Number;//飛機號</p><p> int w
80、eek;//星期幾飛行</p><p> int day;//日期</p><p> int left;//余票額</p><p> int n;//與數(shù)組flag一起確定客戶訂票狀態(tài)</p><p><b> public:</b></p><p> int flag[20];//訂
81、票狀態(tài)數(shù)組,-1為預(yù)訂票,1為已定票,0為初始化狀態(tài)</p><p> Plane()//構(gòu)造函數(shù)</p><p><b> {</b></p><p> name[0]='\0';</p><p><b> number=0;</b></p><p>
82、;<b> Number=0;</b></p><p><b> week=0;</b></p><p><b> day=0;</b></p><p><b> left=M;</b></p><p> n=0;//數(shù)組從0開始計數(shù)<
83、/p><p> for(int i=0;i<20;i++)</p><p> flag[i]=0;</p><p><b> }</b></p><p> void init()//初始化每種飛機票</p><p><b> {</b></p>&l
84、t;p> cout<<"請輸入終點站名:";</p><p> cin>>name;</p><p> cout<<"請輸入航班號:";</p><p> cin>>number;</p><p> cout<<"請輸
85、入飛機號:";</p><p> cin>>Number;</p><p> cout<<"請輸入星期幾飛行:";</p><p> cin>>week;</p><p> cout<<"請輸入航班的日期:";</p>&l
86、t;p><b> cin>>day;</b></p><p><b> }</b></p><p> ~Plane(){};//析構(gòu)函數(shù)</p><p> char *getname(){return name;}//獲得終點站名</p><p> int getnumb
87、er(){return number;}//獲得航班號</p><p> int getNumber(){return Number;}//獲得飛機號</p><p> int getweek(){return week;}//獲得星期幾飛行</p><p> int getday(){return day;}//獲得日期</p><p&
88、gt; int getleft(){return left;}//獲得余票額</p><p> int getn(){return n;}//獲得旅客數(shù)目</p><p> void inleft(int n){left=left+n;}//余票額增加函數(shù)</p><p> void deleft(int n){left=left-n;}//余票額減少函數(shù)&
89、lt;/p><p> void inn(){n++;}//旅客數(shù)目增加函數(shù)</p><p><b> };</b></p><p> Plane pl[N];</p><p> void init();</p><p> int showmenu();//菜單函數(shù)</p>&l
90、t;p> void start();//初始化函數(shù)</p><p> void query();//查詢函數(shù)</p><p> void make();//訂票函數(shù)</p><p> void back();//退票函數(shù)</p><p> void writetofile();</p><p> in
91、t main()</p><p><b> {</b></p><p> cout<<"這是民航售票處的計算機系統(tǒng)程序"<<endl;</p><p><b> while(1)</b></p><p><b> {</b>&
92、lt;/p><p> int choice;</p><p> choice=showmenu();</p><p> switch(choice)</p><p><b> {</b></p><p> case 1:start();break;</p><p>
93、 case 2:query();break;</p><p> case 3:make();break;</p><p> case 4:back();break;</p><p> case 5:writetofile();break;</p><p> case 0:return 0;</p><p>
94、default:cout<<"你敲錯了!\n";</p><p><b> }</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b>
95、</p><p> int showmenu()</p><p><b> {</b></p><p><b> int ch;</b></p><p> cout<<endl;</p><p> cout<<"請選擇你要執(zhí)行的功能
96、"<<endl;</p><p> cout<<"1:錄入數(shù)據(jù)"<<endl;</p><p> cout<<"2:查詢航線"<<endl;</p><p> cout<<"3:承辦訂票業(yè)務(wù)"<<endl;&
97、lt;/p><p> cout<<"4:承辦退票業(yè)務(wù)"<<endl;</p><p> cout<<"5:將數(shù)據(jù)寫入文件"<<endl;</p><p> cout<<"0:退出程序的運行"<<endl;</p><
98、;p><b> cin>>ch;</b></p><p> return ch;</p><p><b> }</b></p><p> void start()</p><p><b> {</b></p><p> fo
99、r(int i=0;i<N;i++)</p><p><b> {</b></p><p> pl[i].init();</p><p> cout<<endl;</p><p><b> }</b></p><p><b> }<
100、/b></p><p> void query()</p><p><b> {</b></p><p> int i,num=0;</p><p> char name[40];</p><p> cout<<endl;</p><p> c
101、out<<"請輸入終點站名:";</p><p> cin>>name;</p><p> for(i=0;i<=N;i++)</p><p> if(strcmp(name,pl[i].getname())==0)</p><p><b> {</b></
102、p><p><b> num++;</b></p><p> cout<<"航班號:"<<pl[i].getnumber()<<endl;</p><p> cout<<"飛機號:"<<pl[i].getNumber()<<endl
103、;</p><p> cout<<"星期:"<<pl[i].getweek()<<"飛行"<<endl;</p><p> cout<<"航班日期:"<<pl[i].getday()<<endl;</p><p> c
104、out<<"余票額:"<<pl[i].getleft()<<endl;</p><p><b> break;</b></p><p><b> }</b></p><p> if(num==0)</p><p> cout<&l
105、t;"沒有此航班"<<endl;</p><p><b> }</b></p><p> void make()</p><p><b> {</b></p><p> int number,n,sitnumber,nu,ch,num=0;</p>
106、<p> cout<<"請輸入航班號:";</p><p> cin>>number;</p><p> cout<<"請輸入訂票數(shù)額:";</p><p><b> cin>>n;</b></p><p>
107、for(int i=0;i<N;i++)</p><p> if(number==pl[i].getnumber())</p><p><b> {</b></p><p><b> num++;</b></p><p> if(n<=pl[i].getleft())</p
108、><p><b> {</b></p><p> cout<<"此航班有票"<<endl;</p><p> pl[i].deleft(n);</p><p> pl[i].inn();</p><p> pl[i].flag[pl[i].getn
109、()]=1;</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> cout<<"座位號";</p><p> cin>>sitnumber;</p><p><b> }&
110、lt;/b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"余票額少于訂票額,請重新輸入訂票數(shù)額,"<<"
111、;訂票數(shù)額應(yīng)該少于或等于"<<pl[i].getleft();</p><p><b> cin>>nu;</b></p><p> if(nu<=pl[i].getleft())</p><p><b> {</b></p><p> cout<
112、;<"此航班有票"<<endl;</p><p> pl[i].deleft(nu);</p><p> pl[i].inn();</p><p> pl[i].flag[pl[i].getn()]=1;</p><p> for(i=0;i<N;i++)</p><p&
113、gt;<b> {</b></p><p> cout<<"座位號";</p><p> cin>>sitnumber;</p><p><b> }</b></p><p><b> }</b></p>&l
114、t;p><b> else</b></p><p><b> {</b></p><p> cout<<"是否需要預(yù)約"<<endl;</p><p> cout<<"是(1) 否(2)"<<endl;</p&g
115、t;<p><b> cin>>ch;</b></p><p> switch(ch)</p><p><b> {</b></p><p> case 1:pl[i].inn();pl[i].flag[pl[i].getn()]=-1;break;</p><p>
116、; case 2:break;</p><p> default:cout<<"你敲錯了!"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&l
117、t;/p><p><b> }</b></p><p> if(num==0)</p><p> cout<<"沒有此航班"<<endl;</p><p><b> }</b></p><p> void back()<
118、/p><p><b> {</b></p><p> int number,day,n,nu,sitnumber,num=0;//航班號,日期,退票數(shù)目,訂票數(shù)目,座位號,標(biāo)志量</p><p> cout<<"請輸入日期:";</p><p><b> cin>>
119、;day;</b></p><p> cout<<"請輸入航班:";</p><p> cin>>number;</p><p> for(int i=0;i<N;i++)</p><p> if((day==pl[i].getday())&&(number
120、==pl[i].getnumber()))//日期與航班是否滿足</p><p><b> {</b></p><p> num++;//日期與航班滿足</p><p> cout<<"輸入退票數(shù)目";</p><p><b> cin>>n;</b&g
121、t;</p><p> cout<<"退票成功"<<endl;</p><p> pl[i].inleft(n);//該種飛機票增加,即已退票</p><p> for(int j=0;j<=pl[i].getn();j++)//順序查詢客戶訂票狀態(tài)</p><p><b>
122、 {</b></p><p> if(pl[i].flag[j]==-1)//客戶是否為預(yù)定狀態(tài)</p><p><b> {</b></p><p> cout<<"有預(yù)約訂票,請輸入訂票數(shù)額:";</p><p><b> cin>>nu;&l
123、t;/b></p><p> if(nu<=pl[i].getleft())//余票額是否滿足要求</p><p><b> {</b></p><p> cout<<"此航班有票"<<endl;</p><p> pl[i].flag[j]=1;</
124、p><p> cout<<"訂票成功"<<endl;</p><p> pl[i].deleft(nu);</p><p> for(int k=0;k<nu;k++)</p><p><b> {</b></p><p> c
125、out<<"座位號"<<" ";</p><p> cin>>sitnumber;</p><p><b> }</b></p><p> cout<<"余票額為"<<pl[i].getleft()<<end
126、l;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> cout<<"沒有預(yù)約訂票!"<<"余票額為"<<
127、pl[i].getleft()<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> if(num==0)</p><p> cout<<"沒有此票"<<endl;</p>
128、;<p><b> }</b></p><p> void writetofile()</p><p><b> {</b></p><p> ofstream ofs("123.dat");</p><p><b> int i;</b&
129、gt;</p><p> for(i=0;i<N;i++)</p><p><b> {</b></p><p> ofs<<pl[i].getname()<<endl;</p><p> ofs<<pl[i].getnumber()<<endl;</p
130、><p> ofs<<pl[i].getNumber()<<endl;</p><p> ofs<<pl[i].getweek()<<endl;</p><p> ofs<<pl[i].getday()<<endl;</p><p><b> }</b
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c 課程設(shè)計——航空售票管理系統(tǒng)
- c語言課程設(shè)計航空售票系統(tǒng)
- c課程設(shè)計鐵路售票系統(tǒng)
- c++課程設(shè)計報告_航空訂票系統(tǒng)的菜單設(shè)計
- 軟件工程課程設(shè)計《航空售票系統(tǒng)》
- c語言航班售票系統(tǒng)課程設(shè)計報告----航班售票系統(tǒng)
- 民航實踐應(yīng)用課程設(shè)計--航空售票系統(tǒng)
- c++課程設(shè)計報告--電影院自動售票機
- 數(shù)據(jù)庫課程設(shè)計航空售票管理系統(tǒng)
- c++酒店管理系統(tǒng)課程設(shè)計
- c++校園導(dǎo)游系統(tǒng)課程設(shè)計
- c++酒店管理系統(tǒng)課程設(shè)計
- c++課程設(shè)計——飛機訂票系統(tǒng)
- 銷售管理系統(tǒng)c++課程設(shè)計
- 《c++》課程設(shè)計倉庫管理系統(tǒng)
- c++課程設(shè)計-學(xué)生管理系統(tǒng)
- c++學(xué)生管理系統(tǒng)課程設(shè)計
- c++課程設(shè)計--酒店管理系統(tǒng)
- c++課程設(shè)計報告
- c++課程設(shè)計ppt
評論
0/150
提交評論