Mode Selection Enum

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

// declare enum class Mode with values Input, Output, PullUp, PullDown
enum class Mode : uint8_t {
    Input, Output, PullUp, PullDown
};

// implement const char* toString(Mode m)
const char* toString(Mode m) {
    switch(m) {
        case Mode::Input:
            return "INPUT";
        case Mode::Output:
            return "OUTPUT";
        case Mode::PullUp:
            return "PULLUP";
        case Mode::PullDown:
            return "PULLDOWN";
    }
    return "UNKNOWN";
}

int main() {
    int x;
    cin >> x;

    Mode m = Mode::Input; // default initialization

    if (x == 0)      m = Mode::Input;
    else if (x == 1) m = Mode::Output;
    else if (x == 2) m = Mode::PullUp;
    else if (x == 3) m = Mode::PullDown;

    cout << toString(m);
    return 0;
}
Upvote
Downvote
Loading...

Input

0

Expected Output

INPUT