#include <iostream> class PWMDriver { private: int ccr_reg; public: // TODO: Ensure valid range [0, 100]. PWMDriver() : ccr_reg(0) {} void setCCR(int val) { if(val > 100) ccr_reg = 100; else if(val < 0) ccr_reg = 0; else ccr_reg = val; } // TODO: Add getter if necessary for printing int getCCR() { return ccr_reg; } }; int main() { int N; if (!(std::cin >> N)) return 0; PWMDriver driver; for (int i = 0; i < N; ++i) { int val; std::cin >> val; // TODO: Refactor this access to use a safe setter method driver.setCCR(val); // Output current state std::cout << "CCR: " << driver.getCCR() << std::endl; } return 0; }
Test Cases
Test Results
Input
3 50 150 -20
Expected Output
CCR: 50 CCR: 100 CCR: 0