• 大小: 13KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C/C++
  • 标签: 车位管理  C++  

资源简介

小的停车场管理系统,用于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<<

评论

共有 条评论