#include <iostream> class PWMDriver { private: int ccr_reg; // Encapsulated register public: PWMDriver() : ccr_reg(0) {} // Safe setter with saturation logic void setCCR(int val) { if (val > 100) { ccr_reg = 100; } else if (val < 0) { ccr_reg = 0; } else { ccr_reg = val; } } // Getter for read-only access int getCCR() const { 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; driver.setCCR(val); 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