Program do przeliczania na bin oct dec hex

Odpowiedz Nowy wątek
2017-10-21 18:11

Rejestracja: 2 lata temu

Ostatnio: 2 lata temu

0

Ktoś mógł by mi wyjaśnić ten kod najlepiej co się dzieje w każdej linijce kodu

#include <iostream>
#include <sstream>
#include <cmath>
#include <string>
#include <cstdlib>

using namespace std;

string toBinary(int n)
{
    string r;
    while(n!=0) 
    {
        r=(n%2==0 ?"0":"1")+r; n/=2; 
}   
    return r;
}

int convertBinaryToDecimal(int n)
{
    int decimalNumber = 0, i = 0, remainder;
    while (n!=0)
    {
        remainder = n%10;
        n /= 10;
        decimalNumber += remainder*pow(2,i);
        ++i;
    }
    return decimalNumber;
}

int main(int argc, char** argv) 
{

    cout << "Konwersja" << endl << "hex dec oct bin" << endl;

    string type = "", source;
    int res;

    bool done;

    while (!done)
    {
        cin >> source >> type; 
        done = true;

        if(type == "hex")
            istringstream(source) >> hex >> res;

        else if(type == "dec")  
            istringstream(source) >> dec >> res;    

        else if(type == "oct")  
            istringstream(source) >> oct >> res;

        else if (type == "bin")
        {
            res = convertBinaryToDecimal(atoi(source.c_str()));
        }

        else 
        {       
            cout << "Nierozpoznano symbolu\n"; 
            done = false;
        }
    }

    cout << endl << "dziesietnie: " << dec << res << endl;
    cout << "heksadecymalnie: " << hex << res << endl;
    cout << "oktalnie: " << oct << res << endl;
    cout << "binarnie: " << toBinary(res);
    return 0;
}
edytowany 1x, ostatnio: kq, 2017-10-21 18:12

Pozostało 580 znaków

kq
2017-10-21 18:12
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 27 sekund temu

Lokalizacja: Szczecin

0

Całego? Znajdź sobie korepetytora i mu zapłać.


Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0