C++課程設(shè)計(jì)—航空售票管理系統(tǒng)_第1頁
C++課程設(shè)計(jì)—航空售票管理系統(tǒng)_第2頁
C++課程設(shè)計(jì)—航空售票管理系統(tǒng)_第3頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、內(nèi)蒙古科技大學(xué)本科生C+H序設(shè)計(jì)課程設(shè)計(jì)說明書題目:航空售票管理系統(tǒng)學(xué)生:完美主義學(xué)號:XXXXXXXX專業(yè):計(jì)算科學(xué)與技術(shù)班級:計(jì)2010-1班指導(dǎo)教師:XXX【摘要】隨著科技的發(fā)展和人們生活水平的日益提高,人們在不斷追求更加快捷的交通方式以滿足人們快節(jié)奏的生活方式,航空系統(tǒng)在交通系統(tǒng)中已扮演著一個(gè)越來越重要的角色。然而,交通的快捷離不開信息的快捷。隨著隨著電腦的發(fā)展和普及,人們的生活方式發(fā)生了巨大的改變,電腦在代替和延伸腦力勞動(dòng)方面發(fā)揮著越來越重要的作用。在交通系統(tǒng)中,有大量的數(shù)據(jù)需要被處理,而這些工作有人來完成幾乎是不可能的,而交給電腦處理,就可以很好地滿足我們的需求。航空售票管理系統(tǒng)可

2、以根據(jù)乘客和管理人員的要求,進(jìn)行方便快速的查詢、購票、退票和管理等工作。本文介紹了簡易航空售票管理系統(tǒng)的實(shí)現(xiàn)過程。【關(guān)鍵詞】航空售票管理系統(tǒng)動(dòng)態(tài)數(shù)組類和對象文件操作運(yùn)算符重載多文件結(jié)構(gòu)成績評定標(biāo)準(zhǔn)課程設(shè)計(jì)的驗(yàn)收答辯采取“講解程序+提問+即時(shí)編程”的方式考核項(xiàng)目評價(jià)質(zhì)量成績程序功能完全實(shí)現(xiàn),并能通過答辯。60%A能完全正確答復(fù)提問;B問題答復(fù)的基本意思正確;C不能答復(fù)或答復(fù)錯(cuò)誤,抽取程序小的功能即時(shí)編程,能完成;D不能答復(fù)或答復(fù)錯(cuò)誤,即時(shí)編程無法完成;程序設(shè)計(jì)符合面向?qū)ο蟮乃枷牒驮瓌t,結(jié)構(gòu)合理15A程序結(jié)構(gòu)層次分明,提取出各個(gè)實(shí)體類,類的設(shè)計(jì)合理;B程序結(jié)構(gòu)層次分明,具有客戶類和服務(wù)類;C類的設(shè)

3、計(jì)基本正確;D幾乎在一個(gè)他者方法中實(shí)現(xiàn)了大部分的邏輯,結(jié)構(gòu)不夠活晰;程序的風(fēng)格10%A遵守編碼標(biāo)準(zhǔn),有良好的風(fēng)格;以下問題每出現(xiàn)一項(xiàng)成績降一個(gè)等級:1.類、方法和變量命名不符合標(biāo)準(zhǔn);2.方法和屆性前缺少注釋;3.程序沒有適當(dāng)縮進(jìn);設(shè)計(jì)說明書15%從以下幾方面考核:1.結(jié)構(gòu)完整2.圖表正確3.文字通順4.版面工整第一章問題描述0第二章問題分析1闡述你對問題的理解、解決問題的方案說明1系統(tǒng)功能模塊的劃分1第三章數(shù)據(jù)模型3相關(guān)數(shù)據(jù)結(jié)構(gòu)的說明3類的設(shè)計(jì)3程序結(jié)構(gòu)說明,即程序各個(gè)部分之間如何協(xié)調(diào)來完成任務(wù)4全局變量,重要形式參數(shù)、局部變量等等,它們的命名及用途解釋5第四章算法描述6解題算法的設(shè)計(jì)思路介紹

4、6畫出程序流程圖6第五章設(shè)計(jì)總結(jié)12附錄13參考文獻(xiàn)32第一章問題描述1.1該航空售票管理系統(tǒng)必須用C+語言進(jìn)行設(shè)計(jì),要能表達(dá)C+語言的特性。1.2該系統(tǒng)至少要能提供以下服務(wù):(1)錄入航班信息,格式為:航班號起始頓占t八、起飛時(shí)間經(jīng)濟(jì)艙票價(jià)剩余座位mu2164包頭北京20:3061087可不定時(shí)地增加航班數(shù)據(jù)。2瀏覽航班信息,可顯示出所有航班,如果當(dāng)前系統(tǒng)時(shí)間超過了某航班的起飛時(shí)問,則顯示“此次航班已發(fā)出”的提示信息。3查詢路線:可按航班編號查詢,可按起始站,終點(diǎn)站查詢4訂票和退票功能A:查詢航班編號或站點(diǎn)。當(dāng)剩余座位數(shù)大丁0,并且當(dāng)前系統(tǒng)時(shí)間小丁起飛時(shí)間時(shí)才能售票,售票后自動(dòng)更新剩余座位數(shù)

5、。B:退票時(shí),輸入退票的班次,當(dāng)本班航班未發(fā)出時(shí)才能退票,退票后自動(dòng)更新剩余座位數(shù)。第二章問題分析從對問題的描述可以知道,我們需要建立的是具有能對數(shù)據(jù)錄入,追加,瀏覽,檢索和修改功能的軟件。由于乘客的數(shù)量較大且不固定,因此選擇用動(dòng)態(tài)數(shù)組來保存乘客的基本信息:航班號、起始站名、終點(diǎn)站名、起飛時(shí)間、經(jīng)濟(jì)參票價(jià)、余票量等等。所以我們建立一個(gè)可以動(dòng)態(tài)增長的數(shù)組,在必要的時(shí)候?qū)?shù)組的內(nèi)容保存到文件中。系統(tǒng)主要實(shí)現(xiàn)的操作和功能是:錄入航班信息、瀏覽航班信息、查詢航線、訂票功能、退票功能。要實(shí)現(xiàn)這些功能,首先要使程序能實(shí)現(xiàn)查找功能,在查找出到有效信息的前提之下,通過鏈表的賦值,更新信息和刪除退票人信息,滿足

6、客戶的要求。2.1闡述你對問題的理解、解決問題的方案說明根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:1分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屆性和行為;2根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次;3完成類層次中各個(gè)類的描述(包括屆性和方法);4完成類中各個(gè)成員函數(shù)的定義;5完成系統(tǒng)的應(yīng)用模塊;6功能調(diào)試;7完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書。2.2系統(tǒng)功能模塊的劃分該系統(tǒng)總共包含四大功能模塊:一、更新航班信息功能模塊該模塊為對航班信息的操作,僅向管理員開放使用,普通用戶不能使用該功能對航班信息進(jìn)行操作,故進(jìn)入該功能需進(jìn)行身份驗(yàn)證。該模塊乂被分為五個(gè)子功能模塊一一信息庫的重建、信息的插入、修改、刪除和活空數(shù)

7、據(jù)。二、瀏覽航班信息完成將文件中的航班信息按照要求格式全部輸出。三、查詢航班信息可以實(shí)現(xiàn)按航班號和按站點(diǎn)的查詢并將查詢到的信息輸出。四、訂票和退票系統(tǒng)該模塊根據(jù)訂票和退票操作的相似性,將這兩種操作放在一起。另外,由于各模塊函數(shù)是直接對文件進(jìn)行操作,所以各功能模塊是相互獨(dú)立的。第三章數(shù)據(jù)模型3.1相關(guān)數(shù)據(jù)結(jié)構(gòu)的說明本系統(tǒng)用到的容器主要是動(dòng)態(tài)增長的vector,使用該容器需用頭文件#include<vector>,其通過語句vector<Flight>v_array;申請了一個(gè)可以動(dòng)態(tài)增長的數(shù)組。該數(shù)組的元素類Flight的對象,通過語句Flightfly;v_array.

8、push_back(fly)可實(shí)現(xiàn)數(shù)組v_array的增長。該容器用來存放航班類Flight的對象,使用該容器可以可以存放個(gè)數(shù)不確定的對象,且可以方便地進(jìn)行訪問。3.2類的設(shè)計(jì)程序中一共定義了兩個(gè)類:Flight類和Traffic_system類。在Flight類里定義了私有數(shù)據(jù)成員m_fnum10表示航班號,m_ftime2表示起飛時(shí)間,charm_fstar18表示起始站,m_fdestination18表示終點(diǎn)站,m_fprice表示票價(jià),m_fseat表示票數(shù);定義了共有的成員函數(shù)boolSetInfo()用來設(shè)置航班信息,friendistream&operator>&

9、gt;(istream&in,Flight&cp)用來重載提取運(yùn)算符>>,friendostream&operator<<(ostream&out,Flight&cp)用來重載插入運(yùn)算符<<,voidDisplay()用來輸出航班信息,boolBook()用來訂票,voidRefund()用來退票,boolIf_takeoff()用來判斷是否起飛,boolIf_deleted()用來判斷該航班是否被刪除,boolIf_match(char(*p)18,charta)用來判斷航班號或站點(diǎn)名是否相同。另一個(gè)類為Traffi

10、c_system類,其中定義了私有數(shù)據(jù)成員m_sum和v_array,v_array是數(shù)組名,用來存放航班類對象,m_sum表示數(shù)組v_array中航班類對象的個(gè)數(shù);還定義了私有的成員函數(shù)voidRead_file()用來讀取文件,voidSave_file()用來保存數(shù)據(jù)到文件,以及公有的數(shù)據(jù)成員函數(shù)voidManage()用來管理航班信息,voidScan()用來瀏覽航班信息,intSearch(intinvoke=0沆成查詢功能,voidBookRefund()用來訂票和退票。兩個(gè)類之間是組合的關(guān)系,其中Flight類是Traffic_system類的子類。3.3程序結(jié)構(gòu)說明,即程序各個(gè)

11、部分之間如何協(xié)調(diào)來完成任務(wù)程序的結(jié)構(gòu)圖如下:如上圖,程序中各功能模塊所需的數(shù)據(jù)都直接取自文件,這樣保證了各模塊的獨(dú)宜性和數(shù)據(jù)的安全性。并且只有相應(yīng)的模塊進(jìn)行寫的操作,并且數(shù)據(jù)的寫入不必依賴其他模塊,這樣使用戶可以僅使用其中某一項(xiàng)功能,而不必進(jìn)行多余的操作。3.4全局變量,重要形式參數(shù)、局部變量等等,它們的命名及用途解釋(1) 整個(gè)程序中未使用全局變量。(2) 重要形參A) 提取運(yùn)算符重載函數(shù)istream&operator>>(istream&in,Flight&cp)中使用了形參in和cp,形參in為引用“istream&”,與該函數(shù)的返回值相同,

12、故可以將該函數(shù)的返回值傳給該形參,實(shí)現(xiàn)“>>”操作符的連續(xù)使用。形參cp為引用“Flight&”,實(shí)現(xiàn)了對Flight類對象的輸入重載。B) 插入運(yùn)算符重載函數(shù)ostream&operator<<(ostream&out,Flight&cp)中使用了形參out和cp,其作用與上面類似。C) 函數(shù)boolFlight:If_match(char(*p)18,charta)中使用了形參p和ta,形參p為指向字符數(shù)組的指針,它用來指向一個(gè)大小為18的字符數(shù)組;形參ta為字符型,其作用是使該函數(shù)區(qū)分航班號和站點(diǎn)名兩種比較。D) 函數(shù)intTraf

13、fic_system:Search(intinvoke=0)中使用了形參invoke,該形參為int型并設(shè)置默認(rèn)參數(shù)0,其作用為區(qū)分調(diào)用者,以便輸出相應(yīng)的提示信息。第四章算法描述4.1解題算法的設(shè)計(jì)思路介紹首先根據(jù)問題描述抽象出一個(gè)航班類,封裝了航班的數(shù)據(jù)信息和方法。數(shù)據(jù)里主要有航班的航班號、起飛時(shí)間、站點(diǎn)等信息,方法主要是對該類中數(shù)據(jù)的值的輸入、輸出對本班次機(jī)票的管理,對時(shí)間、站名等的核對,另外為了方便對文件的輸出和讀取,還以友元的形式重載了提取和插入運(yùn)算符。由于有航班有多組,為了方便管理各個(gè)對象,所以有定義了一個(gè)Traffic_system類,將Flight類的對象作為Traffic_sy

14、stem類的數(shù)據(jù)成員。Traffic_system類中還定義了兩個(gè)私有的成員函數(shù)完成對文件的讀寫。共有的成員函數(shù)主要是Manage。,voidScan(),Search(intinvoke=0胛BookRefund(),用來完成系統(tǒng)的幾大功能。4.2畫出程序流程圖文件中主函數(shù)流程圖main()開始輸入tab文件“class/Traffic_system.cp0中類中Traffic_system中瀏覽函數(shù)voidScan()學(xué)習(xí)文檔僅供參考查詢函數(shù)Search(intinvoke=0)輸出提示信息輸入tab訂票退票函數(shù)BookRefund()開始輸出菜單輸入tabY查詢tab=1N查詢tab=2

15、tab=0Y結(jié)束訂票退票保存保存break;break;第五章設(shè)計(jì)總結(jié)此課程設(shè)計(jì)完成了對航線查詢、訂票、退票等功能的設(shè)計(jì)操作,并且為了插入和刪除方便,運(yùn)用動(dòng)態(tài)數(shù)組做存儲(chǔ)結(jié)構(gòu)。此課程設(shè)計(jì)還包含了活屏功能以及退出功能。對程序在運(yùn)行時(shí)輸入錯(cuò)誤操作的修改,提供了一定方便條件基本上能安全的運(yùn)行,具備的功能符合題目的要求。用了文件的操作,是此程序的最大優(yōu)點(diǎn)。程序?qū)懙倪€算簡練,結(jié)構(gòu)活晰,各個(gè)模塊的分工和功能明確。經(jīng)過兩周的課程設(shè)計(jì),我認(rèn)識到把課堂上老師講的知識運(yùn)用到實(shí)際操作中的重要性。我這次課程設(shè)計(jì)的題目是航空訂票系統(tǒng),在開始階段,根本無從下手,后來通過查閱一些相關(guān)資料和老師的耐心講解,最終成功完成整個(gè)程序

16、的設(shè)計(jì)。通過這次課設(shè)我對C+祁言中的類的定義、運(yùn)算符重載等知識有了進(jìn)一步的理解,對流程圖的畫法更加熟練,對程序的開發(fā)思路有了一定的理解,我想這在以后的學(xué)習(xí)和工作中都會(huì)有幫助的,更使我意識到了學(xué)習(xí)C+S言的重要性。程序中運(yùn)用了多文件結(jié)構(gòu),雖然程序不是太大,但多文件結(jié)構(gòu)的使用是我模仿正規(guī)軟件的結(jié)構(gòu)來寫的,我想這對我以后的提高有幫助。另外,對程序的不斷調(diào)試,是我的查錯(cuò)能力有了很大的提高。附錄【程序活單】文件#include<fstream>#include<iostream>usingnamespacestd;#include"class/Traffic_syste

17、m.h"intmain()Traffic_systemcivil_aviation;假設(shè)文件不存在,則新建文件ofstreamnewfile("flightinformation.txt",ios:app);if(!newfile)cerr<<"文件"flightinformation.txt'”無法打開!n"exit(2);newfile.close();inttab;while(1)cout<<"n>>>>>>>>>>>&g

18、t;>>>>>>>>>>>>>>歡送進(jìn)入航空售票管理系統(tǒng)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<"*主菜單:*"<<"*1一更新航班信息需管理員身份驗(yàn)證2瀏覽航班信息*"<<"*3一查詢航班信息4和退票*"

19、;<<"*5一活屏0-退出系統(tǒng)*"<<"*<<"你需要做什么?選擇04"<<endl;cin>>tab;while(!(tab=1|tab=2|tab=3|tab=4|tab=5|tab=0)(cout<<"請輸入正確選擇04:";cin>>tab;switch(tab)(case1:(civil_aviation.Manage();break;航線管理case2:(civil_aviation.Scan();break;訂票辦理case3:

20、(civil_aviation.Search();break;退票辦理case4:(civil_aviation.BookRefund();break;case5:system("cls");break;case0:return0;退出系統(tǒng)學(xué)習(xí)文檔僅供參考文件class/Traffic_system.h#include<vector>usingnamespacestd;#include"flight.h"用于對文件的操作classTraffic_systempublic:Traffic_system()m_sum=0;voidManage。;

21、/管理航班信息voidScan();/植ij覽intSearch(intinvoke=0);/質(zhì)詢功能voidBookRefund();/訂票和退票private:voidRead_file();/讀取文件voidSave_file();/保存文件private:intm_sum;/記錄航班數(shù)vector<Flight>v_array;航班類數(shù)組;文件class/Traffic_system.cpp#include<fstream>#include<iostream>usingnamespacestd;#include"Traffic_system

22、.h"讀取文件voidTraffic_system:Read_file()ifstreamfile("flightinformation.txt");if(!file)cerr<<"文件"flightinformation.txt'”無法打開!n"exit(1);m_sum=0;while(!file.eof()Flightfly;v_array.push_back(fly);/file>>v_arraym_sum+;m_sum-;/file.close();保存文件voidTraffic_system

23、:Save_file()ofstreamfile("flightinformation.txt",ios:trunc);if(!file)cerr<<”文件'"flightinformation.txt'"無法打開!n”;exit(2);inti=-1;while(+i<m_sum)(if(!v_arrayi.If_deleted()(file<<v_arrayi;file.close();管理航班信息voidTraffic_system:Manage()(charpassword20;/用于存貯密碼intt

24、imes=3;cout<<”登錄系統(tǒng)需驗(yàn)證密碼!"<<endl;驗(yàn)證密碼。三次錯(cuò)誤后,就自動(dòng)退出程序do(times-;cout<<"請輸入密碼:默認(rèn)000";cin>>password;if(strcmp(password,"000")=0)/密碼是“000”(times=-1;break;elseif(times>0)cout<<"密碼錯(cuò)誤!n剩余"<<times<<”次時(shí)機(jī)!”<<endl;while(times>

25、;0);if(times!=-1)(cout<<”對不起!n您不是管理員!不能使用此系統(tǒng)!"<<endl;return;system("cls");while(1)inttab;cout<<""*歡送使用航班信息管理系統(tǒng)*5,<<<<"t*t>>1重新創(chuàng)建信息庫tt>>2插入信息*nt*t>>3修改信息tt>>4刪除信息*nt*t>>5刪除全部tt>>0退出管理*n"<<<&l

26、t;"你需要做什么?選擇05"<<endl;cin>>tab;while(!(tab=1|tab=2|tab=3|tab=4|tab=5|tab=0)(cout<<”請輸入正確選擇05:";cin>>tab;switch(tab)(case1:(m_sum=0;Flightfly;cout<<"請進(jìn)行信息錄入。按“+”結(jié)束!n"dov_array.push_back(fly);/while(v_arraym_sum+.SetInfo();break;case2:(Read_file()

27、;Flightfly;cout<<"請進(jìn)行信息錄入。按“+”結(jié)束!n"dov_array.push_back(fly);/while(v_arraym_sum+.SetInfo();break;case3:(charfnum118;Read_file();cout<<”請輸入您要修改信息的航班號:"cin>>fnum0;inti=0;for(;i<m_sum;i+)(if(v_arrayi.If_match(fnum,'1')(cout<<"該航班的原信息為:n"<&l

28、t;n"<<"I航班號I起始站點(diǎn)站I起飛時(shí)間I票價(jià)I余票I"<<n"v_arrayi.Display();cout<<"請輸入正確信息!n"v_arrayi.SetInfo();m_sum+;/保持及總航線數(shù)不變break;if(i=m_sum)(cout<<"抱歉!您要修改的信息不存在!"<<endl;return;m_sum+;/break;case4:(charfnum118;Flightempty;/聲明"空”對象,用于刪除Read_fi

29、le();cout<<"請輸入您要?jiǎng)h除航班的航班號:"cin>>fnum0;inti=0;for(;i<m_sum;i+)(if(v_arrayi.If_match(fnum,'1')(cout<<"您要?jiǎng)h除的航班為:n"<<n"<<"I航班號I起始站I終點(diǎn)站I起飛時(shí)間I票價(jià)I余票I"<<"n"v_arrayi.Display();v_arrayi=empty;m_sum+;/保持及總航線數(shù)不變break;if(

30、i=m_sum)(cout<<"您要?jiǎng)h除的信息不存在!"<<endl;return;break;case5:m_sum=1;break;case0:return;cout<<”確認(rèn)Y»取消N»n請選擇:"charyn;do(cin>>yn;while(!(yn='Y'|yn='y'|yn='N'|yn='n');if(yn='Y'|yn='y')(m_sum-;/御應(yīng)m_sum+Save_file();

31、cout<<"操作成功!"<<endl;瀏覽voidTraffic_system:Scan()(charc;Read_file();if(m_sum=0)(cout<<”暫無信息!請等待管理人員更新!"學(xué)習(xí)文檔僅供參考return;cout<<"t航班信息表:n"<<n"I起飛時(shí)<<"I航班號I起始站問I票價(jià)I余票I"<<n"for(inti=0;i<m_sum;i+)v_arrayi.Display();cout&

32、lt;<”按任意鍵返回主菜單!"cin>>c;查詢功能intTraffic_system:Search(intinvoke)inttab;Read_file();cout林*n>>1按航班號查詢>>2按站點(diǎn)查詢<<>>0返回*n*if(tab=0)return-1;elseif(tab=1)(cout<<”請輸入航班號:"cin>>str0;ta='1'else(cout<<”請輸入出發(fā)站:"cin>>str0;cout<<

33、"請輸入終點(diǎn)站:"cin>>str1;ta='2'for(inti=0;i<m_sum;i+)(if(v_arrayi.If_match(str,ta)(cout<<"您要查詢的結(jié)果如下:n"<<n"<<"I航班號I起始站I終點(diǎn)站I起飛時(shí)間I票價(jià)I余票I"<<"cin>>c;returni;cout<<"抱歉!您查詢的航班不存在!"<<endl;return-1;訂票和退票voi

34、dTraffic_system:BookRefund()(while(1)(cout<<"*歡送進(jìn)入機(jī)票服務(wù)系統(tǒng)*5叩<<"n"<<"請選擇:tttttttt*n*t>>1訂票t>>2退票t>>0返回主菜單*n"<<""<<endl;inttab;cin>>tab;while(!(tab=1|tab=2|tab=0)(cout<<”請輸入正確選擇02:";cin>>tab;charta

35、;switch(tab)(case1:cout<<”請先查找該航班:"<<endl;inti;i=Search(1);if(i!=-1&&v_arrayi.Book()(cout<<”確認(rèn)訂票Y»取消訂票N»n請選擇:”;do(cin>>ta;while(!(ta='Y'|ta='y'|ta='N'|ta='n');if(ta='Y'|ta='y')(Save_file();cout<<&quo

36、t;訂票成功!"<<endl;break;case2:(charstr118;Read_file();cout<<”請輸入航班號:"cin>>str0;inti=0;for(;i<m_sum;i+)(if(v_arrayi.If_takeoff()continue;if(v_arrayi.If_match(str,'1')(v_arrayi.Refund();cout<<”確認(rèn)退票Y»取消退票N»n請選擇:”do(cin>>ta;while(!(ta='Y'

37、|ta='y'|ta='N'|ta='n');if(ta='Y'|ta='y')(Save_file();cout<<”退票成功!"<<endl;break;if(i=m_sum)(cout<<”不存在該航班或該航班已起飛!不能退票。"<<endl;break;case0:return;文件classFlight(public:Flight()(m_fnum0='+'boolSetInfo();/設(shè)置航班信息friendistrea

38、m&operator>>(istream&in,Flight&cp);提取運(yùn)算符重載friendostream&operator<<(ostream&out,Flight&cp);/ft入運(yùn)算符重載voidDisplay();/輸出航班信息boolBook();/訂票voidRefund();/退票boolIf_takeoff();/判斷是否起飛boolIf_deleted();/判斷是否刪除boolIf_match(char(*p)18,charta);/判斷航班號或站點(diǎn)名是否相同private:charm_fnum10

39、;/航班號intm_ftime2;/起飛時(shí)間charm_fstar18;/起始站charm_fdestination18;/廖$點(diǎn)站intm_fprice;/票價(jià)intm_fseat;/票數(shù);文件class/flight.cpp#include<iostream>#include<string>#include<iomanip>#include<ctime>/time.hinCusingnamespacestd;#include<stdio.h>#include"flight.h"/<<運(yùn)算符重載ist

40、ream&operator>>(istream&in,Flight&cp)in>>cp.m_fnum>>cp.m_fstar>>cp.m_fdestination>>cp.m_ftime0>>cp.m_ftime1>>cp.m_fprice>>cp.m_fseat;returnin;ostream&operator<<(ostream&out,Flight&cp)out<<cp.m_fnum<<""

41、;<<cp.m_fstar<<""<<cp.m_fdestination<<""<<cp.m_ftime0<<""<<cp.m_ftime1<<""<<cp.m_fprice<<""<<cp.m_fseat<<"n"returnout;獲取系統(tǒng)時(shí)間intget_systemtime()(time_tnow;structtm*fmt;t

42、ime(&now);fmt=localtime(&now);return(fmt->tm_hour*60+fmt->tm_min);判斷是否起飛boolFlight:If_takeoff()(return(m_ftime0*60+m_ftime1<=get_systemtime();判斷是否作廢boolFlight:If_deleted()(returnm_fnum0='-'判斷航班號或站點(diǎn)名是否相同boolFlight:If_match(char(*p)18,charta)(if(ta='1')return(!strcmp(m

43、_fnum,p0);elsereturn(!strcmp(m_fstar,p0)&&!strcmp(m_fdestination,p1);學(xué)習(xí)文檔僅供參考設(shè)置航班信息boolFlight:SetInfo()(cout<<"輸入航班號:"cin>>m_fnum;if(m_fnum0='+')returnfalse;cout<<"起始站:"cin>>m_fstar;cout<<”終點(diǎn)站:"cin>>m_fdestination;cout<&

44、lt;”請輸入起飛時(shí)間:格式:03:05"scanf("%d:%d",m_ftime,m_ftime+1);cout<<"票價(jià):"cin>>m_fprice;cout<<”余票:"cin>>m_fseat;returntrue;/輸出航班信息voidFlight:Display()(if(If_takeoff()(cout<<"I"<<setiosflags(ios:left)<<setw(10)<<m_fnum<<"I"<<setw(18)<<m_fstar<<"I"<<setw(18)<<m_fdestination<<"I"<<"本次航班已經(jīng)起飛!"<<"I"<<"<<endl;else(cout<<"I"<<setiosflags(ios:left)<<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論