代码分两个部分:
车门和车灯的开关函数用到bool类型
尝试过for循环和while循环,也用了switch,都没有整出来。
代码分两个部分:
车门和车灯的开关函数用到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;
}