Sensor Filter Selection

#include <iostream>
#include <string>
using namespace std;

//Better!
//enum class FilterMode{ NONE, LOW, HIGH};

enum FilterMode{ NONE, LOW, HIGH};

std::string readSensor(int _raw, FilterMode _filter = NONE)
{
    int retVal = _raw;
    switch (_filter)
    {
        case NONE:
            break;
        case LOW:
            retVal = _raw / 2;
            break;
        case HIGH:
            retVal = _raw / 4;
            break;
        default:
            break;
    };
    return to_string(retVal);
}

int main() {
    int raw, modeFlag;
    cin >> raw >> modeFlag;

    if (modeFlag == 0) {
        cout << readSensor(raw);
    } else {
        string filterName;
        cin >> filterName;

        FilterMode filter;

        if (filterName == "LOW") {
            filter = LOW;
        } else {
            filter = HIGH;
        }

        cout << readSensor(raw, filter);
    }

    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

100 0

Expected Output

100