#include <iostream>
#include <string>

using namespace std;

void dec2bin(){
    int liczba, pom;
    string wynik = "";

    cout << "DEC 2 BIN \n\n";
    cout << "Podaj liczbe dziesietna: ";
    cin >> liczba;
    pom = liczba;

    while (liczba > 0) {
        wynik = to_string(liczba % 2) + wynik;
        liczba /= 2;
    }

    cout << "liczba: " << pom << " to w systemie dwojkowym -> " << wynik << "\n\n";
}

void dec2oct(){
    int liczba, pom;
    string wynik = "";

    cout << "DEC 2 OCT \n\n";
    cout << "Podaj liczbe dziesietna: ";
    cin >> liczba;
    pom = liczba;

    while (liczba > 0) {
        wynik = to_string(liczba % 8) + wynik;
        liczba /= 8;
    }

    cout << "liczba: " << pom << " to w systemie osemkowym -> " << wynik << "\n\n";

}

void dec2hex(){
int liczba, pom;
    string wynik = "";
    string hex = "0123456789ABCDEF";

    cout << "DEC 2 HEX \n\n";
    cout << "Podaj liczbe dziesietna: ";
    cin >> liczba;
    pom = liczba;

    while (liczba > 0) {
        wynik = hex[liczba % 16] + wynik;
        liczba /= 16;
    }

    cout << "liczba: " << pom << " to w systemie szesnastkowym -> " << wynik << "\n\n";

}

void dec2sys() {
int liczba, pom, sys;
    string wynik = "";
    string hex = "0123456789ABCDEF";

    cout << "DEC 2 dowolny system (2-16) \n\n";
    cout << "Podaj liczbe dziesietna: \n\n";
    cin >> liczba;
    cout << "Podaj system liczbowy: ";
    cin >> sys;
    pom = liczba;

    while (liczba > 0) {
        wynik = hex[liczba % sys] + wynik;
        liczba /= sys;
    }

    cout << "liczba: " << pom << " to w systemie" << sys<< " --> " << wynik << "\n\n";

    
}

int main(){
    dec2bin();
    dec2oct();
    dec2hex();
    dec2sys();
    return 0;
}

