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

图片说明

图片说明

图片说明

代码共分了两个部分

图片说明

尝试了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;
}

#include <iostream>
using namespace std;

/********* Begin *********/
//在此处实现一个汽车类
class Car
{   
public:
    char Door;
    char Light;
    int Speed = 0;

    void OpenDoor();
    void CloseDoor();
    void OpenLight();
    void CloseLight();
    void SpeedUp();
    void SpeedDown();
};

void Car::OpenDoor() {
    cout << "车门 ON" << endl;
}

void Car::CloseDoor() {
    cout << "车门 OFF" << endl;
}

void Car::OpenLight() {
    cout << "车灯 ON" << endl;
}

void Car::CloseLight() {
    cout << "车灯 OFF" << endl;
}

void Car::SpeedUp() {
    Car::Speed += 10;
    cout << "速度" << Car::Speed <<endl;
}

void Car::SpeedDown() {
    Car::Speed -= 10;
    cout << "速度 " << Car::Speed << endl;
}

/********* End *********/

int main()
{
    /********* Begin *********/
    //在此处解析执行输出汽车的整体状态
    char cmds[25];
    cin >> cmds;
    Car car;
    for (int i = 0; i < 25; i++) {
        switch (cmds[i]) {
        case '1':car.OpenDoor(); break;
        case '2':car.CloseDoor(); break;
        case '3':car.OpenLight(); break;
        case '4':car.CloseLight(); break;
        case '5':car.SpeedUp(); break;
        case '6':car.SpeedDown(); break;
        default:break;
        }
    }



    /********* End *********/
}

题主现在会了吗,我还只写出了3个命令的,讨论下!!