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