資源描述:
《14+朱曉杰+簡單的車位管理》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、課程設計報告課程:面向?qū)ο蟪绦蛟O計學號:10262014姓名:朱曉杰班級:10計31班教師:張文斌徐州師范大學計算機科學與技術(shù)學院-21-課程設計名稱:簡單的車位管理1.設計內(nèi)容:隨著家庭購買汽車的增加,停車場車位緊張的問題越來越突出。請根據(jù)題目要求完成簡單的車位管理程序。1.1.停車場有若干停車位(為說明問題,假定為3個),每個位置可以存放不同種類的的汽車,包括卡車Truck,客車Carriage和小轎車Car,但同一時刻一個位置只能存放0或1輛汽車。1.2.管理系統(tǒng)模擬實際車輛停車的情況:新來車輛時如果有
2、空位,按順序為該車分配停車位;車輛開走時,交納相應停車費;統(tǒng)計各類車輛的數(shù)量。1.3.定義描述停車場的類Park,其中有3個位置用于存放各類車輛。1.4.定義基類Automobile,至少包括純虛函數(shù)Pay用于顯示車輛信息并交納相應停車費。1.5.定義派生類Truck,Carriage和Car,這些車輛除了擁有車牌號(字符串)、車輛已使用年數(shù)(整數(shù))之外,Truck還擁有載重量(浮點數(shù),單位噸)屬性,Carriage還擁有乘坐人數(shù)(整數(shù),單位人)屬性,Car還擁有排氣量(浮點數(shù),單位L)屬性。具體實現(xiàn)上述純虛
3、函數(shù)Pay,顯示每類車輛的相應信息,并給出計價提示,其中Truck收費2元/小時,Carriage收費1.5元/小時,Car收費1元/小時。1.6.重載輸入“>>”操作符,使得可以通過cin直接讀入每類車輛的相應信息。1.7.編寫main函數(shù),測試上述所要求的各種功能,即根據(jù)菜單命令為新來車輛分配停車位、開走車輛(輸入車位編號)時付費、顯示停車場中各類車輛的數(shù)量。2.設計目的與要求:2.1設計目的:達到熟練掌握C++語言的基本知識和技能;基本掌握面向?qū)ο蟪绦蛟O計的基本思路和方法;能夠利用所學的基本知識和技能,
4、解決簡單的面向?qū)ο蟪绦蛟O計問題。2.2設計要求:要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設計;要求在設計的過程中,建立清晰的類層次;在系統(tǒng)的設計中,至少要用到面向?qū)ο蟮囊环N機制。3設計環(huán)境或器材、原理與說明:3.1主要知識點-21-運算符重載增加了C++語言的可擴充性。運算符的重載實際上就是一種函數(shù)調(diào)用的形式,可以用成員函數(shù)重載運算符,就是將運算符重載定義為一個類的成員函數(shù)的形式;也可以用友元函數(shù)重載。用友元重載運算符的友元函數(shù)是獨立于類以外的一般函數(shù)。友元函數(shù)的運用使不同類之間有了共享機制,方
5、便程序的編輯。運用析構(gòu)函數(shù)完成撤銷對象占用內(nèi)存之前的清理工作。3.2關鍵技術(shù)共設計了5個類。虛基類Automobile,派生類Truck,Carriage和Car及類Park。具體定義如下所示:(1)基類Automobile類Automobile中,成員變量*Number表示車牌,year表示車已使用年數(shù),time表示停車時間。純虛成員函數(shù)pay()表示取車時應付的費用,另有一個純虛函數(shù)quche()。(2)類Truck類Truck中,成員變量zzl表示載重量,trucksum表示目前這一時刻停車場內(nèi)的卡車數(shù)
6、量,truckcount表示到目前為止停過的卡車數(shù)量總和。成員函數(shù)pay()表示取車時所付的費用,quche()用來表示取車后停車場內(nèi)的卡車數(shù),number()用來返回目前停車場內(nèi)的卡車數(shù),count()用來返回停車場內(nèi)一共停過的卡車數(shù),用友元函數(shù)重載>>運算符,以及構(gòu)造函數(shù)Truck()和析構(gòu)函數(shù)~Truck()。(3)類Carriage類carriage中,成員變量chairs表示乘坐人數(shù),carriagesum表示目前這一時刻停車場內(nèi)的客車數(shù)量,carriagecount表示到目前為止停過的客車數(shù)量總和
7、。成員函數(shù)pay()表示取車時所付的費用,quche()用來表示取車后停車場內(nèi)的客車數(shù),number()用來返回目前停車場內(nèi)的客車數(shù),count()用來返回停車場內(nèi)一共停過的客車數(shù),用友元函數(shù)重載>>運算符,以及構(gòu)造函數(shù)Carriage()和析構(gòu)函數(shù)~Carriage()。(4)類Car類car中,成員變量air表示排氣量,carsum表示目前這一時刻停車場內(nèi)的小轎車數(shù)量,carcount表示到目前為止停過的小轎車數(shù)量總和。成員函數(shù)pay()表示取車時所付的費用,quche()用來表示取車后停車場內(nèi)的小轎車數(shù)
8、,number()用來返回目前停車場內(nèi)的小轎車數(shù),count()用來返回停車場內(nèi)一共停過的小轎車數(shù),用友元函數(shù)重載>>運算符,以及構(gòu)造函數(shù)Car()和析構(gòu)函數(shù)~Car()。(5)類Park類park中,定義Automobile類的對象指針*park。成員函數(shù)Tingche(intn,Automobile*automobile),表示不同車輛的停車安排,-21-quche(intn)表示選擇要取的車的