#include <iostream>
#include <cstdint>
using namespace std;
// your code here: declare enum class AdcConfig : uint8_t
// with ChannelEnable=1, InterruptEnable=2, DMAEnable=4
enum class AdcConfig : uint8_t {
ChannelEnable = 1, // 0000 0001
InterruptEnable = 2, // 0000 0010
DMAEnable = 4 // 0000 0100
};
void printConfig(uint8_t cfg) {
// your code here: implement void printConfig(uint8_t cfg)
if(cfg & static_cast<uint8_t> (AdcConfig::ChannelEnable)){
std::cout <<"ChannelEnable ";
}
if(cfg & static_cast<uint8_t> (AdcConfig::InterruptEnable)){
std::cout<< "InterruptEnable ";
}
if(cfg & static_cast<uint8_t> (AdcConfig::DMAEnable)){
std::cout<<"DMAEnable";
}
if(!cfg)
std::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;
}Input
1 0 1
Expected Output
ChannelEnable DMAEnable