免费试用:最火的人工智能查询工具
     最强AI人工智能聊天工具
     对话机器人解答疑难问题
星外智问直连原始API接口(GPT-4o)
➡️未登录受限条数,请登陆使用完整服务>>>➡️
请输入您要问的问题:


查下百度  查下必应

以下是单个问题的回复:

问:用C++实现编写停车场收费管理系统,定义汽车类 Car 和管理员类 CarManager, Car 类有 number(车牌号),model(车型)、enterTime(入场时间)、 quitTime(出场时间)、price(每小时收费价)、cost(费用)等属性, CarManager 类有 id 和 key 等,实现以下收费功能:⑴可用车位统计 与查询;⑵零车位提示;⑶停车时长统计;⑷按车型时长收费; ⑸ 管理员收费累计
GPT答: 7i24.cn
;

// Car.h

#include <iostream>
#include <string>
#include <time.h>

class Car {
private:
    std::string number;// 车牌号
    std::string model; // 车型
    time_t enterTime; // 入场时间
    time_t quitTime;  // 出场时间
    double price;     // 每小时收费价
    double cost;      // 费用
public:
    Car();
    ~Car();
    const std::string& getNumber() const;
    void setNumber(const std::string &number);
    const std::string& getModel() const;
    void setModel(const std::string &model);
    time_t getEnterTime() const;
    void setEnterTime(time_t enterTime);
    time_t getQuitTime() const;
    void setQuitTime(time_t quitTime);
    double getPrice() const;
    void setPrice(double price);
    double getCost() const;
    void setCost(double cost);
};

// Car.cpp

#include "Car.h"

Car::Car()
    : number(std::string()),
      model(std::string()),
      enterTime(time(0)),
      quitTime(time(0)),
      price(0.0),
      cost(0.0)
{

}

Car::~Car()
{

}

const std::string &Car::getNumber() const
{
    return number;
}

void Car::setNumber(const std::string &number)
{
    Car::number = number;
}

const std::string &Car::getModel() const
{
    return model;
}

void Car::setModel(const std::string &model)
{
    Car::model = model;
}

time_t Car::getEnterTime() const
{
    return enterTime;
}

void Car::setEnterTime(time_t enterTime)
{
    Car::enterTime = enterTime;
}

time_t Car::getQuitTime() const
{
    return quitTime;
}

void Car::setQuitTime(time_t quitTime)
{
    Car::quitTime = quitTime;
}

double Car::getPrice() const
{
    return price;
}

void Car::setPrice(double price)
{
    Car::price = price;
}

double Car::getCost() const
{
    return cost;
}

void Car::setCost(double cost)
{
    Car::cost = cost;
}



// CarManager.h

#include <iostream>
#include <string>
#include <map>

#include "Car.h"

class CarManager {
private:
    std::string id;  // 管理员id
    std::string key; // 管理员密码
    std::map<std::string, Car> cars;   // 停车场车辆数据
public:
    CarManager();
    ~CarManager();
    const std::string& getId() const;
    void setId(const std::string &id);
    const std::string& getKey() const;
    void setKey(const std::string &key);
    bool CarIn(const std::string& number, const std::string& model);  // 车辆入场
    bool CarOut(const std::string& number);   // 车辆出场
    Car getCar(const std::string& number) const;   // 获取车辆信息
    void print() const;   // 打印全部车辆信息
    int carNumber() const;    // 统计停车场车位数
    bool isFull() const;  // 停车场是否已满
    double totalCost() const;    // 管理员账户累计收费
};

// CarManager.cpp

#include "CarManager.h"

CarManager::CarManager()
    : id(std::string()),
      key(std::string())
{

}

CarManager::~CarManager()
{

}

const std::string &CarManager::getId() const
{
    return id;
}

void CarManager::setId(const std::string &id)
{
    CarManager::id = id;
}

const std::string &CarManager::getKey() const
{
    return key;
}

void CarManager::setKey(const std::string &key)
{
    CarManager::key = key;
}

bool CarManager::CarIn(const std::string& number, const std::string& model)
{
    if(isFull())
        std::cout << "停车场已满, 请移至其他位置!" << std::endl;
    else
    {
        // 车牌号去重
        if(cars.find(number) != cars.end())
            return false;
        else
        {
            // 新建Car类对象
            Car car;
            car.setNumber(number);
            car.setModel(model);
            car.setEnterTime(time(0));
            cars.insert({number, car});
            return true;
        }
    }
    return false;
}

bool CarManager::CarOut(const std::string& number)
{
    auto iter = cars.find(number);
    if(iter != cars.end())
    {
        time_t enter = iter->second.getEnterTime();
        time_t quit  = time(0);
        // 计算停车时间单位(H)
        double hours = difftime(quit,enter)/(60 * 60);
        // 计算账单
        double cost = (iter->second).getPrice() * hours;
        (iter->second).setCost(cost);
        // 设置出场时间
        (iter->second).setQuitTime(quit);
        return true;
    }
    else
        return false;
}

Car CarManager::getCar(const std::string& number) const
{
    auto iter = cars.find(number);
    if(iter != cars.end())
        return iter->second;
    else
        return Car();
}

void CarManager::print() const
{
    std::cout<<"车牌号\t车型\t入场时间\t出场时间\t费用"<<std::endl;
    for(auto iter = cars.begin(); iter != cars.end(); iter++)
    {
        std::cout << iter->second.getNumber() << "\t"
                  << iter->second.getModel() <<"\t"
                  << ctime(&(iter->second.getEnterTime()))
                  << ctime(&(iter->second.getQuitTime()))
                  << iter->second.getCost() << std::endl;
    }
}

int CarManager::carNumber() const
{
    return cars.size();
}

bool CarManager::isFull() const
{
    return carNumber() >= 100;
}

double CarManager::totalCost() const
{
    double sum = 0.0;
    for(auto it : cars)
        sum += it.second.getCost();
    return sum;
}
一星  二星  三星  四星  五星 

互联网非法外之地,请不要输入不良内容
 查下百度 查下必应 06-12 22:27:03



chatGPT中国版--星外智问--8v6.CN
当前运行网址:haoadm.com
客服微信:xwgdd_com APP下载 怎么问 识别真假GPT4 使用GPT赚钱 退出登陆