Bussgeldkatalog Proble,m
-
{
int a;
int b;
int c;
int y;Anfang:
cout << "Sie haben das Bussgeldkatalog geoeffnet, weil Sie sicherlich" "\n";
cout << "zu schnell unterwegs waren." "\n""\n";
cout << "Wenn Sie innerhalb geschlossener Ortschaften geblitzt worden sind," "\n";
cout << "druecken Sie die 1, fuer ausserhalb geschlossener Ortschaften die 2." "\n";
cin >> c;if (c>=3)
{
cout << "Fehler! Bitte nocheinmal versuchen" "\n" "\n";
goto Anfang;
}if (c==1)
{
Innerortsberechnung:
cout << "Innerortsberechnung:" "\n";
cout << "Bitte geben Sie die zugelassene Hoechstgeschwindigkeit an." "\n";
cin >> a;
cout << "Bitte geben Sie nun Ihre Geschwindigkeit an." "\n";
cin >> b;if (b<=99)
{
y = (b - a - 3);}
if (b>=100)
{
y = (b - a - (b * 3 / 100));
}
cout << "Ihre Geschwindigkeitsueberschreitung nach Toleranzabzug betrug:" "\n";
cout << y; "\n""\n";if (y<=0)
{
cout << "\n""\n" "Ihre Ueberschrittende Geschwindigkeit ist ungueltig!"" \n""\n";
goto Innerortsberechnung;}
if (y<=10)
{
cout << "\n" "\n" "Bis 10 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "15 Euro Strafe.";
return 0;
}if (y<=15)
{
cout << "\n" "\n" "Bis 15 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "25 Euro Strafe.";
return 0;
}if (y<=20)
{
cout << "\n" "\n" "Bis 20 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "35 Euro Strafe.";
return 0;
}if (y<=25)
{
cout << "\n" "\n" "Bis 25 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "80 Euro Strafe + 23,50 Euro Gebuehren + 1 Punkt in Flensburg.";
return 0;
}if (y<=30)
{
cout << "\n" "\n" "Bis 30 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "100 Euro Strafe + 23,50 Euro Gebuehren + 3 Punkte in Flensburg.";
return 0;
}if (y<=40)
{
cout << "\n" "\n" "Bis 40 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "160 Euro Strafe + 23,50 Euro Gebuehren + 3 Punkte in Flensburg + 1 Monat Fahrverbot.";
return 0;
}if (y<=50)
{
cout << "\n" "\n" "Bis 50 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "200 Euro Strafe + 23,50 Euro Gebuehren + 4 Punkte in Flensburg + 1 Monat Fahrverbot.";
return 0;
}if (y<=60)
{
cout << "\n" "\n" "Bis 60 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "280 Euro Strafe + 23,50 Euro Gebuehren + 4 Punkte in Flensburg + 2 Monate Fahrverbot.";
return 0;
}if (y<=70)
{
cout << "\n" "\n" "Bis 70 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "480 Euro Strafe + 23,50 Euro Gebuehren + 4 Punkte in Flensburg + 3 Monate Fahrverbot.";
return 0;
}if (y>=71)
{
cout << "\n" "\n" "Ab 71 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "680 Euro Strafe + 23,50 Euro Gebuehren + 4 Punkte in Flensburg + 3 Monate Fahrverbot.";
return 0;}
}if (c==2)
{
Ausserortsberechnung:
cout << "Ausserortsberechnung:" "\n";
cout << "Bitte geben Sie die zugelassene Hoechstgeschwindigkeit an." "\n";
cin >> a;
cout << "Bitte geben Sie nun Ihre Geschwindigkeit an." "\n";
cin >> b;if (b<=99)
{
y = (b - a - 3);}
if (b>=100)
{
y = (b - a - (b * 3 / 100));
}
cout << "Ihre Geschwindigkeitsueberschreitung nach Toleranzabzug betrug:" "\n";
cout << y; "\n""\n";if (y<=0)
{
cout << "\n""\n" "Ihre Ueberschrittende Geschwindigkeit ist ungueltig!"" \n""\n";
goto Ausserortsberechnung;}
if (y<=10)
{
cout << "\n" "\n" "Bis 10 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "10 Euro Strafe.";
return 0;
}if (y<=15)
{
cout << "\n" "\n" "Bis 15 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "20 Euro Strafe.";
return 0;
}if (y<=20)
{
cout << "\n" "\n" "Bis 20 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "30 Euro Strafe.";
return 0;
}if (y<=25)
{
cout << "\n" "\n" "Bis 25 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "70 Euro Strafe + 23,50 Euro Gebuehren + 1 Punkt in Flensburg.";
return 0;
}if (y<=30)
{
cout << "\n" "\n" "Bis 30 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "80 Euro Strafe + 23,50 Euro Gebuehren + 3 Punkte in Flensburg.";
return 0;
}if (y<=40)
{
cout << "\n" "\n" "Bis 40 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "120 Euro Strafe + 23,50 Euro Gebuehren + 3 Punkte in Flensburg.";
return 0;
}if (y<=50)
{
cout << "\n" "\n" "Bis 50 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "160 Euro Strafe + 23,50 Euro Gebuehren + 3 Punkte in Flensburg + 1 Monat Fahrverbot.";
return 0;
}if (y<=60)
{
cout << "\n" "\n" "Bis 60 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "240 Euro Strafe + 23,50 Euro Gebuehren + 4 Punkte in Flensburg + 1 Monat Fahrverbot.";
return 0;
}if (y<=70)
{
cout << "\n" "\n" "Bis 70 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "440 Euro Strafe + 23,50 Euro Gebuehren + 4 Punkte in Flensburg + 2 Monate Fahrverbot.";
return 0;
}if (y>=71)
{
cout << "\n" "\n" "Ab 71 km/h zu schnell erwartet Sie:" "\n" "\n";
cout << "600 Euro Strafe + 23,50 Euro Gebuehren + 4 Punkte in Flensburg + 3 Monate Fahrverbot.";
return 0;}
}
}Das ist mein Bussgeldkatalog.
Meine 1.Frage: Wie kann ich es einstellen, dass der Fragt, ob er wieder ein Verstoß ausrechnen will? Das bedeutet so viel: Möchten Sie weiterrechnen, dann drücken Sie die 1, wenn nicht, dann die 2. (Dann gleichzeitig verhindern, dass bei einer Eingabe z.B. von einer 3 eine Fehlermeldung erscheint).
Meine 2. Frage: Wie kann ich bei den If Befehlen die Eingabe von Buchstaben verhindern? Wenn ich a z.B. eintippe, dann kommt mein Bussgeldkatalog in eine Endschleife und so.
Danke für die Hilfe im Vorraus.
MFG
Andy
-
Frage 1 habe ich mir grade selber erporgrammiert
Bleibt nur noch Frage 2 offen.
-
Hier ein komplettes Beispiel, wie man es machen könnte:
#include <iostream> int main() { while (true) { int a; std::cout << "Eingabe: "; std::cin >> a; if (std::cin.fail()) // Ist beim Einlesen ein Fehler aufgetreten? { std::cin.clear(); // Löschen der Fehlerflags std::cin.sync(); // Löschen der verbliebenen Daten im Lesepuffer std::cerr << "Fehler: Bitte nur Zahlen eingeben!\n" << std::endl; continue; // An den Schleifenanfang gehen und es erneut probieren } std::cout << "Ausgabe: " << a << "\n" << std::endl; } return 0; }
Noch ein Tipp: Versuch eine bessere Lösung für die vielen
goto
s zu finden.Bitte beachte auch, das C++ und C++/CLI nicht das gleiche meinen. Du bist also im falschen Unterforum gelandet und hast damit unnötig lange auf eine Antwort warten müssen.
Das richtige Forum findest du hier: http://www.c-plusplus.net/forum/f15
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ (auch C++0x) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.