000
01.03.2008, 12:24 Uhr
studistudi
|
Halllo, habe wieder mal ein kleines Problem..
Ich schreibe gerade ein Programm, dass eine eingegebene Zahl vom Binärsystem ins Zehnersystem umwandelt und umgekehrt. Ich habe dort eine Funktion eingebaut.
Die Funktion sollte die Variable "stellenzaehler" zurückgeben. Aber wenn ich nun unten in der Main-Funktion diese Variable ausgeben möchte, erscheint sie mit dem alten Wert, und nicht mit dem, der die Funktion ausgerechnet hat..
C++: |
#include <iostream> using namespace std;
int funktionstellenzaehler(double eingabe, double eingabeverarbeitungswert, double stellenzaehler) { while(eingabeverarbeitungswert >= 10) { eingabeverarbeitungswert = eingabeverarbeitungswert/10; stellenzaehler++; if (eingabeverarbeitungswert<10) { cout << "Stellen: " << stellenzaehler; return stellenzaehler; } } };
int main() { short CHOOSE; double eingabe; double eingabeverarbeitungswert; double stellenzaehler=1; cout << "Welcome to the Binary-Calculator!\n\nChoose and push enter:\n1 - Binary number to a decimal\n2 - Decimal to binary\n3 - About\n"; cin >> CHOOSE; cin.sync(); if (CHOOSE == 1) { cout << "Binary >> Decimal\nplease give in the Binary!:"; cin >> eingabe; cin.sync(); cout << "\n"; eingabeverarbeitungswert=eingabe; funktionstellenzaehler(eingabe, eingabeverarbeitungswert, stellenzaehler); cout << "Stellen: " << stellenzaehler; } else if (CHOOSE == 2) { cout << "FEATURE IN WORK, COMING SOON"; cin >> eingabe; cin.sync(); } else if (CHOOSE == 3) { cout << "coded on Dev-C++ 4.9.9.2 with C++, Windows Vista\nFound Bugs? Write me at pascal.studer1618@gmail.com"; } else { cout << "you can't choose " << CHOOSE; }
cin.get(); return 0; }
|
-- Dev-C++ Windows Vista x86 Dieser Post wurde am 01.03.2008 um 13:08 Uhr von studistudi editiert. |