Hi,
es geht um folgende Aufgabenstellung:
Benutzer gibt eine Zahl und die dazu gehörige Basis(2-16) ein. Desweiteren gibt er die neue Basis an in die die Zahl umgewandelt werden soll.
Mein Idee: Ich wandle die eingegebene Zahl erst einmal in das Dezimalsystem um.
Folgende Funktion soll dies erledigen:
basis = eingegebene Basis
basisausg = basis der Zahl nach der Umwandlung
Das Problem ist: er rechnet etwas falsches aus. Kann es daran liegen dass die Variable "zahl" ein string und kein int array oder double array ist? String deshalb weil ich prüfen will ob der Benutzer "exit" anstatt eine Zahl eingegeben hat. Mit atof() hat es bisher auch nicht besser geklappt.
Werden die Zeichen von string Zahl vielleicht als ASCII Code oder ähnliches interpretiert?
Danke schon mal für jegliche Hilfe,
Christoph
es geht um folgende Aufgabenstellung:
Benutzer gibt eine Zahl und die dazu gehörige Basis(2-16) ein. Desweiteren gibt er die neue Basis an in die die Zahl umgewandelt werden soll.
Mein Idee: Ich wandle die eingegebene Zahl erst einmal in das Dezimalsystem um.
Folgende Funktion soll dies erledigen:
basis = eingegebene Basis
basisausg = basis der Zahl nach der Umwandlung
Code:
double umrechnung(string zahl, double basis, double basisausg) {
int i=0;
int rest=0, ganzteil=0;
double len=0.0, erg=0.0;
len = laenge(zahl); // laenge() berechnet die Länge des strings
for(i=0; zahl[i]!='\0'; i++, len--) {
cout << endl << "zahl: " << zahl[i]; // wird richtig ausgegeben
cout << endl << "pow: " << pow(basis,(len-1.0)); // wird richtig ausgegeben
cout << endl << "erg: " << erg; // hier wird irgendeine andere Zahl ausgegeben bei allen Durchläufen
erg = zahl[i]*pow(basis,(len-1.0));
}
return erg;
}
Das Problem ist: er rechnet etwas falsches aus. Kann es daran liegen dass die Variable "zahl" ein string und kein int array oder double array ist? String deshalb weil ich prüfen will ob der Benutzer "exit" anstatt eine Zahl eingegeben hat. Mit atof() hat es bisher auch nicht besser geklappt.
Werden die Zeichen von string Zahl vielleicht als ASCII Code oder ähnliches interpretiert?
Danke schon mal für jegliche Hilfe,
Christoph