#include <iostream>
using namespace std;

class PWMController{
    private:
        int frequency;
        int duty;
        int enabled;
    
    public:

        PWMController(int freq): frequency(freq), duty(0), enabled(false){}

        PWMController(int freq, int dutyCycle): frequency(freq), enabled(true){
            if(dutyCycle < 0){
                duty = 0;
            }
            else if(dutyCycle > 0){
                duty = 100;
            }
            else{
                duty = dutyCycle;
            }
        }

        void setDuty(int d){
            if(d >= 0 && d <= 100){
                duty = d;
            }
        }

        void disable(){
            enabled = false;
        }

        void print(){
            cout << "F=" << frequency << " D=" << duty << " EN=" << enabled ? 1:0;
        }

};


int main() {
    int mode;
    cin >> mode;

    PWMController pwm(0); // temporary placeholder

    if (mode == 1) {
        int f;
        cin >> f;
        pwm = PWMController(f);
    }
    else {
        int f, d;
        cin >> f >> d;
        pwm = PWMController(f, d);
    }

    int x;
    cin >> x;

    if (x == -1)
        pwm.disable();
    else
        pwm.setDuty(x);

    pwm.print();
    return 0;
}

Solving Approach

 

 

 

 

 

Upvote
Downvote
Loading...

Input

1 1000 50

Expected Output

F=1000 D=50 EN=0