hallo Leute, ich habe wiedermal ein kleines Problem,
ich lerne momentan C++, IDE ist Code::Blocks. Ich programmieren zurzeit einen Taschenrechner für die Konsole, soweit funktioniert auch alles, nur wenn man einen Buchstabe eingibt, dann gibt die Konsole eine Endlosschleife aus, ich habe jetzt schon versucht mit einer If bedingung zu machen, dass wenn man einen Buchstaben eingibt, man zu einer Stelle kommt, wo man dann angeben muss ob man nochmal ausprobieren möchte oder nicht, das funktioniert auch, nur die Konsole gibt eine endlosschleife aus, ich hoffe ihr konnt mir helfen.
#include <iostream>
#include <cstdlib>
#include <string.h>
using namespace std;
char laufzeit;
int auswahl;
int zahl1;
int zahl2;
int zahl3;
int zahl4;
int zahl5;
int zahl6;
int zahl7;
int zahl8;
int main()
{
cout << "Mein erster Taschenrechner " << endl;
nochmal:;
cout << "(1) Addieren (2) Subtrahieren (3) Multiplizieren (4) Dividieren" << endl;
cin >> auswahl;
switch(auswahl){
//addieren
case 1:
cout << "Gut, wir addieren jetzt!" << endl;
cout << "Waehle jetzt bitte die erste Zahl";
cin >> zahl1;
//buchstben nicht erlaubt (test)
if(zahl1 == 'a' || zahl1 == 'b' || zahl1 == 'c' || zahl1 == 'd' || zahl1 == 'e' || zahl1 == 'f' || zahl1 == 'g' || zahl1 == 'h' || zahl1 == 'i' || zahl1 == 'j' || zahl1 == 'k' || zahl1 == 'l' || zahl1 == 'm' || zahl1 == 'n' || zahl1 == 'o' || zahl1 == 'p' || zahl1 == 'q' || zahl1 == 'r' || zahl1 == 's' || zahl1 == 't' || zahl1 == 'u' || zahl1 == 'v' || zahl1 == 'w' || zahl1 == 'x' || zahl1 == 'y' || zahl1 == 'z'){goto faeingabe; system("pause");}
cout << "Jetzt fehlt nurnoch die zweite ";
cin >> zahl2;
cout << zahl1 << " und " << zahl2 << " ergeben " << zahl1 + zahl2 << endl;
faeingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto faeingabe;
}
break;
//subtrahieren
case 2:
cout << "Du hast Subtrahieren gewaehlt" << endl;
cout << "Waehle jetzt die erste Zahl" << endl;
cin >> zahl3;
cout << "Jetzt noch die zweite Zahl" << endl;
cin >> zahl4;
cout << zahl3 << " Subtrahiert von " << zahl4 << " ergibt " << zahl3 - zahl4 << endl;
fseingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto fseingabe;
}
break;
//multiplizieren
case 3:
cout << "Du hast multiplizieren gewaehlt" << endl;
cout << "Wahle jetzt die erste Zahl " << endl;
cin >> zahl5;
cout << "Jetzt noch die Zweite Zahl" << endl;
cin >> zahl6;
cout << zahl5 << " multipliziert mit " << zahl6 << " ergibt " << zahl5 * zahl6 << endl;
fdeingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto fdeingabe;
}
break;
//dividieren
case 4:
cout << "Du hast dividieren gewaehlt gewaehlt \nWaehle jetzt bitte die erste Zahl" << endl;
cin >> zahl7;
cout << "Waehle jetzt bitte noch die zweite Zahl " << endl;
cin >> zahl8;
cout << zahl7 << " Dividiert durch " << zahl8 << " ergibt " << zahl7 / zahl8 << endl;
fmeingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto fmeingabe;
}
break;
}
stop:;
system("pause");
}
ich lerne momentan C++, IDE ist Code::Blocks. Ich programmieren zurzeit einen Taschenrechner für die Konsole, soweit funktioniert auch alles, nur wenn man einen Buchstabe eingibt, dann gibt die Konsole eine Endlosschleife aus, ich habe jetzt schon versucht mit einer If bedingung zu machen, dass wenn man einen Buchstaben eingibt, man zu einer Stelle kommt, wo man dann angeben muss ob man nochmal ausprobieren möchte oder nicht, das funktioniert auch, nur die Konsole gibt eine endlosschleife aus, ich hoffe ihr konnt mir helfen.
#include <iostream>
#include <cstdlib>
#include <string.h>
using namespace std;
char laufzeit;
int auswahl;
int zahl1;
int zahl2;
int zahl3;
int zahl4;
int zahl5;
int zahl6;
int zahl7;
int zahl8;
int main()
{
cout << "Mein erster Taschenrechner " << endl;
nochmal:;
cout << "(1) Addieren (2) Subtrahieren (3) Multiplizieren (4) Dividieren" << endl;
cin >> auswahl;
switch(auswahl){
//addieren
case 1:
cout << "Gut, wir addieren jetzt!" << endl;
cout << "Waehle jetzt bitte die erste Zahl";
cin >> zahl1;
//buchstben nicht erlaubt (test)
if(zahl1 == 'a' || zahl1 == 'b' || zahl1 == 'c' || zahl1 == 'd' || zahl1 == 'e' || zahl1 == 'f' || zahl1 == 'g' || zahl1 == 'h' || zahl1 == 'i' || zahl1 == 'j' || zahl1 == 'k' || zahl1 == 'l' || zahl1 == 'm' || zahl1 == 'n' || zahl1 == 'o' || zahl1 == 'p' || zahl1 == 'q' || zahl1 == 'r' || zahl1 == 's' || zahl1 == 't' || zahl1 == 'u' || zahl1 == 'v' || zahl1 == 'w' || zahl1 == 'x' || zahl1 == 'y' || zahl1 == 'z'){goto faeingabe; system("pause");}
cout << "Jetzt fehlt nurnoch die zweite ";
cin >> zahl2;
cout << zahl1 << " und " << zahl2 << " ergeben " << zahl1 + zahl2 << endl;
faeingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto faeingabe;
}
break;
//subtrahieren
case 2:
cout << "Du hast Subtrahieren gewaehlt" << endl;
cout << "Waehle jetzt die erste Zahl" << endl;
cin >> zahl3;
cout << "Jetzt noch die zweite Zahl" << endl;
cin >> zahl4;
cout << zahl3 << " Subtrahiert von " << zahl4 << " ergibt " << zahl3 - zahl4 << endl;
fseingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto fseingabe;
}
break;
//multiplizieren
case 3:
cout << "Du hast multiplizieren gewaehlt" << endl;
cout << "Wahle jetzt die erste Zahl " << endl;
cin >> zahl5;
cout << "Jetzt noch die Zweite Zahl" << endl;
cin >> zahl6;
cout << zahl5 << " multipliziert mit " << zahl6 << " ergibt " << zahl5 * zahl6 << endl;
fdeingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto fdeingabe;
}
break;
//dividieren
case 4:
cout << "Du hast dividieren gewaehlt gewaehlt \nWaehle jetzt bitte die erste Zahl" << endl;
cin >> zahl7;
cout << "Waehle jetzt bitte noch die zweite Zahl " << endl;
cin >> zahl8;
cout << zahl7 << " Dividiert durch " << zahl8 << " ergibt " << zahl7 / zahl8 << endl;
fmeingabe:;
cout << "Moechtest du nochmal rechnen? (j/n)";
cin >> laufzeit;
if(laufzeit == 'j'){
goto nochmal;
}
else if(laufzeit == 'n'){
cout << "Ok, das Programm wird jetzt beendet!" << endl;
goto stop;
}
else{
cout << "Das ist eine ungueltige eingabe!!" << endl;
goto fmeingabe;
}
break;
}
stop:;
system("pause");
}
Zuletzt bearbeitet: