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

// Declare enum class AdcConfig : uint8_t
// ChannelEnable = 1
// InterruptEnable = 2
// DMAEnable = 4
enum class AdcConfig : uint8_t
{
    ChannelEnable = 1,
    InterruptEnable = 2,
    DMAEnable = 4
};
// Implement void printConfig(uint8_t cfg)
void printConfig(uint8_t cfg)
{
    if(cfg != 0)
    {
        if((cfg&0x01) == 1)
        {
            cout << "ChannelEnable ";

        }   
        if((cfg&0x02) == 0x02)
        {
            cout << "InterruptEnable "; 

        }
        if((cfg&0x04) == 0x04)
        {
            cout << "DMAEnable";

        }
    }
    else
    {
        cout << "None";
    }

}   
int main() {
    int ch, intr, dma;
    cin >> ch >> intr >> dma;

    uint8_t cfg = 0;
    if (ch)   cfg |= static_cast<uint8_t>(AdcConfig::ChannelEnable);
    if (intr) cfg |= static_cast<uint8_t>(AdcConfig::InterruptEnable);
    if (dma)  cfg |= static_cast<uint8_t>(AdcConfig::DMAEnable);

    printConfig(cfg);
    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

1 0 1

Expected Output

ChannelEnable DMAEnable