資源簡介
小的停車場管理系統,用于C++課程設計。
代碼片段和文件信息
/*
??Name:?車位管理?
??Copyright:?
??Author:?邾偉?
??Date:?02-07-12?16:41
??Description:?
隨著家庭購買汽車的增加,停車場車位緊張的問題越來越突出。請根據題目要求完成簡單的車位管理程序。?
1.停車場有若干停車位(為說明問題,假定為3個),每個位置可以存放不同種類的汽車,包括卡車Truck,
客車Carriage和小轎車Car,但同一時刻一個位置只能存放0或1輛汽車。?
2.管理系統模擬實際車輛停車的情況:
① 停車:新來車輛時如果有空位,按順序為該車分配停車位,并自動記錄開始停車的時間(用系統的時間);
② 計費:車輛開走時,輸入車位編號,自動記錄結束停車的時間(用系統的時間);計算出相應停車費;
③ 顯示:顯示停車場中各類車輛的信息。?
④ 保存
⑤ 退出
3.定義描述停車場的類Park,其中有3個位置用于存放各類車輛。?
4.定義基類Automobile,至少包括純虛函數Pay用于顯示車輛信息并交納相應停車費。?
5.定義派生類TruckCarriage和Car,這些車輛除了擁有車牌號、之外,
??Truck還擁有載重量(浮點數,單位噸)屬性,Carriage還擁有乘坐人數(整數,單位座)
??屬性,Car還擁有排氣量(浮點數,單位L)屬性。具體實現上述純虛函數Pay,
??顯示每類車輛的相應信息,并給出計價提示,其中Truck收費2元/小時,Carriage收費1.5元/小時,
??Car收費1元/小時。
*/
#include
#include??????//文件??????
#include??????//調用系統時間?
#include????//控制格式?
#include
#include
using?namespace?std;??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
const?int?N=3;???????//停車場規模?
struct?node??????????//結構體?描述停車場?基本屬性?
{
?????char?Carinformation[64];?//車牌號?????????????????????????????????????????
?????char?type[16];???????????//車輛類型?
?????bool?full;???????????????//判斷是否停滿?
?????time_t?t1t2;????????????//停車時間?
};
class?Automobile;
class?park
{
??????public:
?????????????park();
?????????????~park(){}?
?????????????bool?Full();???????//車輛進入?
?????????????bool?Empty();??????//車輛離開?
?????????????int?count;?????????//計數?
?????????????node?location[N];??//三個車位?
};
park::park()?????//初始化?
{
count=0;?
for(int?i=0;i ??????{
??????location[i].full=false;
??????location[i].Carinformation[64]=0;
??????location[i].type[16]=0;
??????location[i].t1=0;
??????location[i].t2=0;
??????}
}?
bool?park::Full()//判斷是否停滿?
{
?????if(count>=N)
?????return?true;
?????return?false;?
}?
bool?park::Empty()??//判斷是否為空?
{
?????if(count==0)
?????return?true;
?????return?false;?
}?
class?Automobile:public?park?
{
??????public:
?????????????Automobile();
?????????????~Automobile(){}
?????????????bool?enter();???//進入?
?????????????bool?leave();???//離開?
?????????????float?TL()const;?//計算時間?
?????????????virtual?void?Pay()const=0;//純虛函數控制輸出??
?????????????virtual?void?pay();
??????protected:
?????????????char?C[64];
?????????????char?ty[16];
};
Automobile::Automobile():park()??
{
??????C[64]=0;
??????ty[16]=0;
}
float?Automobile::TL()const
{
???????float?s=0;?
???????for(int?i=0;i ?????????????if(strcmp(location[i].CarinformationC)==0)
??????????????{
??????????????s=location[i].t2-location[i].t1;??//系統參數,為方便顯示結果在此利用秒來計數?
??????????????break;
??????????????}
??????????????return?s;
}?
bool?Automobile::enter()????//進入?
{
?????cout<<“進入停車場!“< ?????if(Full()==1)
?????{
?????cout<<
- 上一篇:分區式存儲管理
- 下一篇:基于C++的lzw的編碼的實現
評論
共有 條評論