UART Baud Rate Validation

#include <iostream>

class UARTDriver {

private:
    int baud_rate;

public:
    
    UARTDriver() : baud_rate(9600) {}

    void set_baudrate(int val){
        if(val == 9600 || val == 19200 || val == 115200){   //this is also called a whitelist
            baud_rate = val;
        }
    }

    int get_baudrate(){
        return baud_rate;
    }
};

int main() {
    int N;
    if (!(std::cin >> N)) return 0;

    UARTDriver driver;

    for (int i = 0; i < N; ++i) {
        int req;
        std::cin >> req;

        driver.set_baudrate(req);

        std::cout << "Active: " << driver.get_baudrate() << std::endl;
    }

    return 0;
}

Solving Approach

 

 

 

 

 

Upvote
Downvote
Loading...

Input

4 115200 500 19200 -1

Expected Output

Active: 115200 Active: 115200 Active: 19200 Active: 19200