#include <iostream>
#include <cstdint>
using namespace std;
// Declare enum class AdcConfig : uint8_t
enum class AdcConfig : uint8_t {
ChannelEnable =1,
InterruptEnable=2,
DMAEnable =4,
};
// ChannelEnable = 1
// InterruptEnable = 2
// DMAEnable = 4
void printConfig(uint8_t cfg){
if(cfg==0){
cout<<"None";
return;
}
// Implement void printConfig(uint8_t cfg)
bool hasPrinted = false;
if(cfg & static_cast<uint8_t>(AdcConfig::ChannelEnable)){
cout<<"ChannelEnable";
hasPrinted = true;
}
if (cfg & static_cast<uint8_t>(AdcConfig::InterruptEnable)) {
if (hasPrinted) cout << " "; // In khoảng trắng nếu đã có tính năng trước đó
cout << "InterruptEnable";
hasPrinted = true;
}
if (cfg & static_cast<uint8_t>(AdcConfig::DMAEnable)) {
if (hasPrinted) cout << " ";
cout << "DMAEnable";
}
}
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