Also was ich noch mal genau erreichen möchte ist, das die Eingabe von Buchstaben bei abfrage von Zahlen unterbunden wird.
HIer noch mal der COde
Code
#include <iostream>
using namespace std;
int main()
{
long double a, b;
int zahl;
cout << "<----Taschenrechner---->\n";
cout << "(0) Addition\n";
cout << "(1) Subtraktion\n";
cout << "(2) Multiplikation\n";
cout << "(3) Division\n";
cin >> zahl;
if (zahl < 0 || zahl > 3)
{
if (!cin)
cin.clear(istream::failbit);
cout << "Nicht zulaessige Eingabe\n";
return main();
}
switch (zahl)
{
case 0:
cout << "Sie haben Addition gewählt\n";
cout << "Bitte geben sie die erste Zahl ein\n";
cin >> a;
cout << "Bitte zweite Zahl eingeben\n";
cin >> b;
cout << a << " + " << b << " = " << a + b << endl;
break;
case 1:
cout << "Sie haben Subtraktion gewählt\n";
cout << "Bitte geben sie die erste Zahl ein\n";
cin >> a;
cout << "Bitte zweite Zahl eingeben\n";
cin >> b;
cout << a << " - " << b << " = " << a - b << endl;
break;
case 2:
cout << "Sie haben Multiplikation gewählt\n";
cout << "Bitte geben sie die erste Zahl ein\n";
cin >> a;
cout << "Bitte zweite Zahl eingeben\n";
cin >> b;
cout << a << " * " << b << " = " << a * b << endl;
break;
case 3:
cout << "Sie haben Division gewählt\n";
cout << "Bitte geben sie die erste Zahl ein\n";
cin >> a;
cout << "Bitte zweite Zahl eingeben\n";
cin >> b;
cout << a << " / " << b << " = " << a / b << endl;
break;
}
return 0;
}
Alles anzeigen
Der Code lässt sich compilieren aber wenn ich dann nen Buchstaben eingabe anstatt die abgefragte Zahl, dann verheddert der sich irgendwie in einer Endlosschleife und man kann nichts mehr machen außer abbrechen und von neuem beginnen.