设计一个汽车类Car,包含车门开关函数,车灯开关函数,速度加减函数

图片说明

图片说明

图片说明

代码分两个部分:

图片说明

车门和车灯的开关函数用到bool类型
尝试过for循环和while循环,也用了switch,都没有整出来。

希望有大神能帮帮忙,最好能注释一下代码。

如果有清晰的思路也可以

#include <iostream>
#include <string.h>
#define CMD_BUF 20 //命令最大长度
using namespace std;
class Car{
public:
    Car():mDoorFlag(false),mLightFlag(false),mVelocity(0){} //初始化列表初始化成员变量
    //设置车门、车灯,速度
    void openDoor(){mDoorFlag = true;}
    void closeDoor(){mDoorFlag = false;}
    void openLight(){mLightFlag = true;}
    void closeLight(){mLightFlag = false;}
    void velocityPlus(){mVelocity += 10;}
    void velocityMinus(){if(mVelocity >= 10) mVelocity -= 10;}
    //输出 Car 整体状态
    void printCarInfo()
    {
        string doorStatus = mDoorFlag? "ON":"OFF"; //将bool类型成员变量变成输出“ON/OFF”格式
        string lightStatus = mLightFlag? "ON":"OFF"; //将bool类型成员变量变成输出“ON/OFF”格式
        std::cout << "车门 " << doorStatus << endl;
        std::cout << "车灯 " << lightStatus << endl;
        std::cout << "速度 " << mVelocity << endl;
    }
private:
    bool mDoorFlag;
    bool mLightFlag;
    int mVelocity;
};

int main()
{
    char cmd[CMD_BUF]; //存储命令的数组
    memset(cmd,0x0,CMD_BUF); //初始化命令数组
    gets(cmd); //等待用户输入命令
    Car car; //创建一个Car 对象名为car
    int len = strlen(cmd); //计算实际输入命令长度
    for(int i=0;i<len;i++)
    {
        switch (cmd[i]) {
        case '1': car.openDoor(); break;
        case '2': car.closeDoor(); break;
        case '3': car.openLight(); break;
        case '4': car.closeLight(); break;
        case '5': car.velocityPlus(); break;
        case '6': car.velocityMinus(); break;
        case '7': car.printCarInfo(); break;
        default:
            break;
        }
    }
    return 0;
}