While Loop C#?
Hallo Zusammen, muss eine eigentlich relativ leichte While Schleife Programmieren in C#, jedoch komme ich nicht wirklich weiter mit meinem Code und im Internet finde ich dazu auch nichts, deswegen hoffe ich hier Hilfe zu bekommen :).
Die Ausgabe sollte wie folgt aussehen:
Mein erstes Problem: sobald ich einen Buchstaben eingebe (wie in der Aufgabenstellung verlangt) stürzt mein Programm ab, denke wegen dem falschen Datentypen, aber habe keine Ahnung wie ich es korrekt implementieren kann.
Mein zweites Problem: Wenn ich beim dritten Eingabeversuch eine Zahl eingebe z.B. 4 läuft das Programm trotzdem weiter und es kommt wieder "Ihre Eingabe ist falsch. Wenn ich die Zahl beim ersten Versuch eingebe kommt wie gewollt "Eingabe angenommen".
mein Code dazu:
Bin Dankbar für Hilfe :)
2 Antworten
Was du brauchst ist
int eingabe = 0;
if(Int32.TryParse(Console.ReadLine(), out eingabe) == false)
{
Console.Write("Ihre Eingabe ist falsch.");
}
TryParse versucht aus der Eingabe eine Zahl zu machen. Wenn das nicht klappt, dann gibt die Methode false zurück, ansonsten true. Der Zahlenwert steht dann in eingabe.
Und die Bedingung deiner while() ist Blödsinn. So etwas wie !< oder !> gibt es nicht.
Hallo,
zum ersten Problem, kannst du einfachen mit einem „if“ prüfen ob du eine Zahl vorliegen hast bevor du „int.Parse“ aufrufst. Ich bin allerdings kein c# Entwickler, sprich ich kenne keine passende Funktion.
zur zweiten Frage würde ich erstmal probieren bei der while Schleife das „||“ gegen ein „&&“ zu tauschen (logisches und statt logische oder) da du ja möchtest das es größer oder gleich null UND kleiner gleich 9 ist. Ginge auch schöner mit
while(eingabe >= 0 && eingabe <= 9) {}
PS. Du hast auf dem Bild vom Code „Eingabe“Ilter“ „ statt Eingabefilter geschrieben