UART Write Overloading

#include <iostream>
#include <string>
#include <cstdint>
#include <cstddef>

using namespace std;

// Write your overloaded functions here
void write(uint8_t byte)
{
    // cout << "mode 1" << endl;
    cout << static_cast<int> (byte) << endl;

}
void write(string str)
{
    
    cout << str << endl;

}
void write(uint8_t buff[],size_t size)
{
    for(int i=0;i<size;i++)
    {
        cout << static_cast<int>(buff[i]) << " ";
    }

}


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

    if (mode == 1) {
        unsigned int byteValue;
        cin >> byteValue;
        write(static_cast<uint8_t>(byteValue));
    }
    else if (mode == 2) {
        string s;
        cin >> s;
        write(s);
    }
    else if (mode == 3) {
        int n;
        cin >> n;

        uint8_t buffer[100];
        for (int i = 0; i < n; i++) {
            unsigned int temp;
            cin >> temp;
            buffer[i] = static_cast<uint8_t>(temp);
        }
        write(buffer, static_cast<size_t>(n));
    }

    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

1 0

Expected Output

0