Skocz do zawartości


Zgredekkman

Rejestracja: 13 kwi 2010
OFFLINE Ostatnio: 05 06 2010 21:00
-----

Moje posty

W temacie: [Inne] Przelicznik by Zgredekkman

01 06 2010 - 10:08

Jeszcze nowszy kod, w którym także zastosowałem funkcje rekurencyjną i dodałem nową funkcję ;)
#include <iostream>
using namespace std;
void dztdw(int liczba);
void dztos(int liczba);
//******************************************************************************
int main()
{
    int wybor,i=1,liczba;
    while(i)
    {
        cout << "Menu:\n1.Dziesiatkowy->Dwojkowy\n2.Dziesiatkowy->Osemkowy\n3.Wyjscie\n";
        cin >> wybor;
        switch(wybor)
        {
            case 1:
                cout << "Podaj liczbe w zapisie dziesiatkowym:\n";
                cin >> liczba;
                cout << endl << liczba << " to w zapisie dwojkowym: ";
                dztdw(liczba);
                cout << endl << endl;
                break;
            case 2:
                cout << "Podaj liczbe w zapisie dziesiatkowym:\n";
                cin >> liczba;
                cout << endl << liczba << " to w zapisie osemkowym: ";
                dztos(liczba);
                cout << endl << endl;
                break;
            case 3:
                i=0;
                break;
            default:
                cout << "Brak takiej opcji\n\n";
                break;
        }
    }
}
//******************************************************************************
void dztdw(int liczba)
{
    int reszta = liczba % 2;
    if(liczba > 1)
    {
        dztdw(liczba/2);
    }
    cout << reszta;
    return;
}
//******************************************************************************
void dztos(int liczba)
{
    int reszta = liczba % 8;
    if(liczba > 7)
    {
    dztos(liczba/8);
    }
    cout << reszta;
    return;
}

W temacie: [Inne] Przelicznik by Zgredekkman

29 05 2010 - 11:51

To nie dla mnie ;p
Ja dopiero jestem na 150 stronie symfonii ;)
A to kod z poprawkami:
#include <iostream>
using namespace std;
int konw();
//******************************************************************************
int main()
{
    int wybor,i;
    while(i++)
    {
        cout << "Menu:\n1.Dziesiatkowy->Dwojkowy\n2.Wyjscie\n";
        cin >> wybor;
        switch(wybor)
        {
            case 1:
                konw();
                break;
            case 2:
                i=0;
                break;
            default:
                cout << "Brak takiej opcji\n\n";
                break;
        }
    }
}
//******************************************************************************
int konw()
{
int a, bit;
    cout << "Podaj liczbe calkowita w zapisie dziesiatkowym\n";
    cin >> a;
    if(a>1)
    {
        for(bit=0;a!=1;bit++)
        {
            if(a%2)
            {
            a=a/2;
            cout << "\nBit numer " << bit << " - 1";
            }
            else
            {
                a=a/2;
                cout << "\nBit numer " << bit << " - 0";
            }
        }
        cout << "\nBit numer " << bit << " - 1";
        cout << "\n\n";
    }
    else
    {
        cout << "\nMusisz podac liczbe wieksza niz 1\n\n";
    }
}

W temacie: [Inne] Przelicznik by Zgredekkman

29 05 2010 - 11:32

Co do tego bitu 0 to sam nie wiem ;)
I jeszcze 1, wytłumaczy mi ktoś co znaczy (a & 1) ?

W temacie: [Inne] System dwójkowy i szesnastkowy

27 05 2010 - 21:04

A co da, że zapiszę w systemie dwójkowym, a nie dziesiątkowym ?

W temacie: [Inne] Przelicznik by Zgredekkman

27 05 2010 - 21:03

#include <iostream>
using namespace std;
int konw();
int main()
{
int wybor;
    menu:
    cout << "Menu:\n1.Dziesiatkowy->Dwojkowy\n2.Wyjscie\n";
    cin >> wybor;
    switch(wybor)
    {
        case 1:
            konw();
            goto menu;
            break;
        case 2:
            system("pause");
    }
}
int konw()
{
int a;
    cout << "Podaj liczbe calkowita w zapisie dziesiatkowym\n";
    cin >> a;
    if(a%2)
    {
        a=a/2;
        cout << "\nBit numer 0 - 1";
    }
    else
    {
        a=a/2;
        cout << "\nBit numer 0 - 0";
    }
    int bit;
    for(bit=1;a!=1;bit++)
    {
        if(a%2)
        {
            a=a/2;
            cout << "\nBit numer " << bit << " - 1";
        }
        else
        {
            a=a/2;
            cout << "\nBit numer " << bit << " - 0";
        }
    }
    cout << "\nBit numer " << bit << " - 1";
    cout << "\n\n";
    return 0;

}
Pokombinowałem i takie coś mi wyszło ;)