C++ 面向对象 - 类和对象的创建和使用 设计汽车类

发布时间:2023年12月29日
任务描述

本关任务:设计一个汽车类,并实现它的基本功能。

相关知识

完成本关需要具备的知识介绍请参见第一、二关卡。

编程要求

在右侧编辑器中的Begin-End之间补充代码,设计汽车类实现汽车的基本功能,根据输入的命令来输出汽车的整体状态。具体要求如下:

  1. 成员变量:车门,车灯,速度(类型以及变量名均自拟)。

  2. 成员函数:打开车门、关闭车门、打开车灯、关闭车灯、加速、减速。(学员可以根据自己情况增加或者减少函数)

其中打开车门、关闭车门、打开车灯、关闭车灯四个函数,用于改变对象内部对应的成员变量的值。加速,减速两个函数,每次调用就将内部的速度变量分别对应增加10或者减少10。车门,车灯两个函数的初始状态都为 OFF,速度的初始值为0。

根据输入的命令(命令由1-6表示,分别对应调用打开车门、关闭车门、打开车灯、关闭车灯、加速、减速函数)输出汽车的最终状态,若输入命令135则输出状态如下:

 
  1. 车门 ON
  2. 车灯 ON
  3. 速度 10

上述命令为135,则分表调用了打开车门、打开车灯、加速这三个函数,因此最后输出的汽车状态为车门打开,车灯打开和速度为10。

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

注意:命令长度不超

#include <iostream>
using namespace std;

/********* Begin *********/
//在此处实现一个汽车类
class Car
{
    public:
    void Opendoor();
    void Closedoor();
    void Openlight();
    void Closelight();
    void Increase();
    void Decrease();

    int Door = 0;//0表示关,1表示开
    int Light = 0;
    double Speed = 0;
    
    
};

void Car::Opendoor()
{
    Door = 1;
}

void Car::Closedoor()
{
    Door = 0;
}

void Car::Openlight()
{
    Light = 1;
}

void Car::Closelight()
{
    Light = 0;
}

void Car::Increase()
{
    Speed += 10;
}

void Car::Decrease()
{
    Speed -= 10;
}
/********* End *********/

int main()
{
    /********* Begin *********/
    //在此处解析执行输出汽车的整体状态
	char cmds[25];
    cin>>cmds;
        Car a;
    for (int i = 0; i < 20; i++)
    {
        char num = cmds[i];
        switch (num) 
        {
        case'1' : a.Opendoor();
            break;
        case'2' : a.Closedoor();
            break;
        case'3' : a.Openlight();
            break;
        case'4' : a.Closelight();
            break;
        case'5' : a.Increase();
            break;
        case'6' : a.Decrease();
            break;
        default : break;
        }
    }
    if (a.Door == 1)
        cout << "车门 ON" << endl;
    else
        cout << "车门 OFF" << endl;

    if (a.Light == 1)
        cout << "车灯 ON" << endl;
    else
        cout << "车灯 OFF" << endl;

    cout << "速度 " << a.Speed << endl;
    
    
    
    /********* End *********/
}

过 20,最短长度 1。

文章来源:https://blog.csdn.net/2301_80006788/article/details/135165289
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。