000
20.11.2008, 16:29 Uhr
Spiri
|
Als erst mal vorstellen: Hallo, ich bin Luca aus Luxemburg bin 12 Jahre alt und entwickle mit C++.
Nun zu meinem Problem: Ich programmiere gerade einen Rechner, mit dem man addieren, subtrahieren, multiplizieren und dividieren kann. Man kann so lange rechnen, bis man "0" eingibt. Nun ist das Problem folgendermaßen beim addieren: Immer wenn ich es starten will, kehre ich sofort wieder zum Hauptmenü zurück. Das nervt!! Dass *pZahl schon unter 0 steht kann es nicht liegen, denn beim subtrahieren, multiplizeren und dividieren kann man normal rechnen.
Hier der Code vom addieren:
C++: |
if (Auswahl == 1) { cout << "Zum Beenden: \"0 + ENTER\"" << endl;
for (int t = 4; t>0; t--) { Zeit (1000); }
system ("cls");
while (*pZahl != 0) { cout << "Zahl eingeben: "; cin >> *pZahl; *pResultat += *pZahl; cout << "Resultat: " << *pResultat; cout << endl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
} // while-Schleife
system ("cls"); }
|
Und hier der ganze Code:
C++: |
#include <iostream> #include <stdio.h> #include <time.h> #include "Timer.hpp"
using namespace std;
int main () { // Variablen // double Auswahl = 0; double Zahl = 0; double Resultat = 0;
// Pointer // double *pZahl = NULL; double *pResultat = NULL;
pZahl = &Zahl; pResultat = &Resultat;
while (Auswahl != 5) { cout << "S.T.-RECHNER" << endl; cout << "~~~~~~~~~~~~" << endl; cout << "1) Addieren" << endl; cout << "2) Subtrahieren" << endl; cout << "3) Multiplizieren" << endl; cout << "4) Dividieren" << endl; cout << "5) Beenden" << endl; cout << "~~~~" << endl; cout << "Eure Wahl: " ; cin >> Auswahl; system ("cls");
// Rechenvariablen wieder auf "0" setzen *pZahl = 0; *pResultat = 0;
// Addieren if (Auswahl == 1) { cout << "Zum Beenden: \"0 + ENTER\"" << endl;
for (int t = 4; t>0; t--) { Zeit (1000); }
system ("cls");
while (*pZahl != 0) { cout << "Zahl eingeben: "; cin >> *pZahl; *pResultat += *pZahl; cout << "Resultat: " << *pResultat; cout << endl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
} // while-Schleife
system ("cls"); }
else if (Auswahl == 2) { cout << "Zum Beenden: \"0 + ENTER\"" << endl;
for (int t = 4; t>0; t--) { Zeit (1000); }
system ("cls");
cout << "Zahl eingeben: "; cin >> *pZahl; *pResultat += Zahl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
while (*pZahl != 0) {
cout << "Minus : "; cin >> *pZahl; *pResultat -= Zahl; cout << "Resultat: " << *pResultat; cout << endl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
} // while-Schleife
system ("cls"); }
else if (Auswahl == 3) { cout << "Zum Beenden: \"0 + ENTER\"" << endl;
for (int t = 4; t>0; t--) { Zeit (1000); }
system ("cls");
cout << "Zahl eingeben: "; cin >> *pZahl; *pResultat += Zahl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
while (*pZahl != 0) {
cout << "Mal : "; cin >> *pZahl; *pResultat *= Zahl; cout << "Resultat: " << *pResultat; cout << endl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
} // while-Schleife
system ("cls"); }
else if (Auswahl == 4) { cout << "Zum Beenden: \"0 + ENTER\"" << endl;
for (int t = 4; t>0; t--) { Zeit (1000); }
system ("cls");
cout << "Zahl eingeben: "; cin >> *pZahl; *pResultat += Zahl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
while (*pZahl != 0) { cout << "Dividiert : "; cin >> *pZahl; *pResultat /= Zahl; cout << "Resultat: " << *pResultat; cout << endl;
if (!cin.good ()) { cin.clear (); cin.ignore (); }
} // while-Schleife
system ("cls"); }
else if (Auswahl == 5) { }
else { if (!cin.good ()) { cin.clear (); cin.ignore (); }
cout << "ERROR: Falsche Eingabe!" << endl;
for (int t=3; t>0; t--) { Zeit (1000); }
system ("cls");
} // else
} // while-Schleife
return 0; }
|
Dieser Post wurde am 20.11.2008 um 16:31 Uhr von Spiri editiert. |