Kod: Zaznacz cały
//z dowolnego na dziesietny
void na10c()
{
char liczba[100];
int p = 1, wynik = 0, system, x;
cout << "Podaj system w jakim zapisana jest liczba <2,16>: ";
cin >> system;
cout << "Podaj liczbe: ";
cin >> liczba;
for (int i = strlen(liczba)-1; i >= 0; i--)
{
if (liczba[i] >= '0' && liczba[i] <= '9')
{
x = liczba[i]-'0';
}
else
{
x = liczba[i] - 55;
}
wynik += x*p;
p *= system;
}
cout << "Twoj wynik to: " << wynik << endl;
}
//z dziesietnego na inny
int z10c(int liczba, int system)
{
if (liczba == 0)
{
return liczba;
}
int wynik = liczba%system;
liczba /= system;
z10c(liczba, system);
if (wynik < 10)
{
cout << wynik;
}
else
{
char litera = wynik + 55;
cout << litera;
}
}
//z dowolnego na dowolny
void dowolny()
{
char liczba[100];
int p = 1, wynikposredni = 0, system, system2, x;
cout << "Podaj system w jakim zapisana jest liczba <2,16>: ";
cin >> system;
cout << "Podaj liczbe: ";
cin >> liczba;
for (int i = strlen(liczba)-1; i >= 0; i--)
{
if (liczba[i] >= '0' && liczba[i] <= '9')
{
x = liczba[i]-'0';
}
else
{
x = liczba[i] - 55;
}
wynikposredni += x*p;
p *= system;
}
cout << "Na jaki system zamienic liczbe <2,16>: ";
cin >> system2;
cout << "Twoj wynik to: ";
z10c(wynikposredni, system2);
}
int main()
{
int a,b;
int operacja;
cout << "Wybierz operacje, ktora chcesz wykonac: ";
cout << "\n 1. Zamiana liczby z systemu dziesietnego na inny.";
cout << "\n 2. Zamiana liczby z dowolnego systemu liczbowego na dziesietny.";
cout << "\n 3. Zamiana liczby z dowolnego systemu liczbowego na inny dowolny." << endl;
operacja=getch();
switch(operacja)
{
case '1':
cout << "Podaj liczbe w systemie dziesietnym: ";
cin >> a;
cout << "Na jaki system zamienic liczbe <2,16>: ";
cin >> b;
cout << "Twoj wynik to: ";
z10c(a, b);
break;
case '2':
na10c();
break;
case '3':
dowolny();
break;
}
while(!kbhit());
return 0;
}
1)
Kod: Zaznacz cały
if (liczba[i] >= '0' && liczba[i] <= '9')
2)
Kod: Zaznacz cały
x = liczba[i] - 55;
3)
Kod: Zaznacz cały
wynik += x*p;
p *= system;
Proszę o pomoc.