Moin Moin,
ich muss als Hausaufgabe ein C++-Programm schreiben, dass vom Dezimalsystem in die anderen gängigen Systeme umrechnet (Dual, Oktal, Hexadezimal). Ich hab das arrays versucht, aba bei Hexadezimal klappt das nich. Ich schick den code mal:
Das problem ist, dass es im Hexadezimalsystem Buchstaben gibt (10 = A, 11 = B...)
Ich sollte noch dazusagen, dass wir keine Manipulatoren benutzen dürfen:
(z.B.: cout << hex << 12 << endl; )
Ich bedanke mich schonmal für die antworten
Mfg
Ganja
ich muss als Hausaufgabe ein C++-Programm schreiben, dass vom Dezimalsystem in die anderen gängigen Systeme umrechnet (Dual, Oktal, Hexadezimal). Ich hab das arrays versucht, aba bei Hexadezimal klappt das nich. Ich schick den code mal:
Code:
#include <iostream>
#include <conio.h>
using namespace std;
const int stellen = 16; // Stellen des Arrays "bin".
int bin[stellen]; // Array, in dem die Zahlen angezeigt werden soll.
int eing; // Dezimalzahl, die der Benutzer eingibt
int i;
void rueckschreiben() // Funktion zum Umdrehen der Zeichen im Array
{
bool rueckschreiben = false;
for (i = stellen - 1; i >= 0; i--){
if (bin[i] > 0)
rueckschreiben = true;
if (rueckschreiben == true)
cout << bin[i];}
}
void zuruecksetzen() // Funktion zum Zurückstezten der Zeichen im Array
{
for (i = 0; i < stellen; i++)
bin[i] = 0;
}
void binaer() // Ausrechnen der Binärzahl
{
for ( int zahl = eing, i = 0; zahl > 0; zahl /= 2, i++)
bin[i] = zahl % 2;
}
void oktal() // Ausrechnen der Oktalzahl
{
for ( int zahl = eing, i = 0; zahl > 0; zahl /= 8, i++)
bin[i] = zahl % 8;
}
void hexadezimal() // Ausrechnen der Hexadezimalzahl
{
// ?
}
int main() // Hauptprogramm
{
cout << "Bitte eine Dezimalzahl eingeben: ";
cin >> eing;
cout << "Dezimal: " << eing << endl;
zuruecksetzen();
cout << "Binaer: ";
binaer();
rueckschreiben();
zuruecksetzen();
cout << "\nOktal: ";
oktal();
rueckschreiben();
zuruecksetzen();
cout << "\nHexadezimal: ";
hexadezimal();
getch();
return 0;
}
Das problem ist, dass es im Hexadezimalsystem Buchstaben gibt (10 = A, 11 = B...)
Ich sollte noch dazusagen, dass wir keine Manipulatoren benutzen dürfen:
(z.B.: cout << hex << 12 << endl; )
Ich bedanke mich schonmal für die antworten
Mfg
Ganja
Zuletzt bearbeitet: