Decode a command code, dispatch it with a switch, and report the chosen workflow size.

Command Report

command_report.cpp
#include <iostream>

enum class Command {
    Build,
    Test,
    Package
};

Command decode(int code) {
    if (code == 1) {
        return Command::Build;
    }
    if (code == 2) {
        return Command::Test;
    }
    return Command::Package;
}

int main() {
    int code = ;

    Command command = decode(code);
    int steps = 0;
    switch (command) {
        case Command::Build:
            steps = 4;
            break;
        case Command::Test:
            steps = 6;
            break;
        case Command::Package:
            steps = 3;
            break;
    }

    std::cout << "code=" << code << std::endl;
    std::cout << "steps=" << steps << std::endl;
    return 0;
}
#include <iostream>

enum class Command {
    Build,
    Test,
    Package
};

Command decode(int code) {
    if (code == 1) {
        return Command::Build;
    }
    if (code == 2) {
        return Command::Test;
    }
    return Command::Package;
}

int main() {
    int code = ;

    Command command = decode(code);
    int steps = 0;
    switch (command) {
        case Command::Build:
            steps = 4;
            break;
        case Command::Test:
            steps = 6;
            break;
        case Command::Package:
            steps = 3;
            break;
    }

    std::cout << "code=" << code << std::endl;
    std::cout << "steps=" << steps << std::endl;
    return 0;
}
#include <iostream>

enum class Command {
    Build,
    Test,
    Package
};

Command decode(int code) {
    if (code == 1) {
        return Command::Build;
    }
    if (code == 2) {
        return Command::Test;
    }
    return Command::Package;
}

int main() {
    int code = ;

    Command command = decode(code);
    int steps = 0;
    switch (command) {
        case Command::Build:
            steps = 4;
            break;
        case Command::Test:
            steps = 6;
            break;
        case Command::Package:
            steps = 3;
            break;
    }

    std::cout << "code=" << code << std::endl;
    std::cout << "steps=" << steps << std::endl;
    return 0;
}
decode A decode helper converts raw input into a named command before the main workflow decides what to do.
report The selected command produces a small report value that later code can display or store.