Laden...

Schleife so lange ausführen, bis richtige Eingabe erfolgt ist

Erstellt von BobbyJean27 vor 5 Jahren Letzter Beitrag vor 5 Jahren 864 Views
B
BobbyJean27 Themenstarter:in
2 Beiträge seit 2019
vor 5 Jahren
Schleife so lange ausführen, bis richtige Eingabe erfolgt ist

Hallo liebe Community,

ich bin blutiger Anfänger was C# angeht und beschäftige mich momentan mit Schleifen.

Ich habe folgendes geschrieben

 int zahl = Convert.ToInt32(Console.ReadLine());
            
            if (zahl == 1 || zahl == 2 || zahl == 3)
            {
                Console.WriteLine("     Sie haben Möglichkeit {0} ausgewählt: Methode {0} wird nun aufgerufen", zahl);
            }

            else
            {
                Console.WriteLine("     Ungültige Auswahl, wählen Sie zwischen 1, 2 und 3");
            }

Mein Ziel ist es bei einer Eingabe von 1, 2 oder 3 eine Methode aufzurufen (in dem Fall jetzt nur die Ausgabe, die Methode soll noch folgen), bei einer anderen Zahl wird "ungültige Auswahl..." ausgegeben....

soweit so gut, nur hätte ich gerne das bei einer ungültigen Eingabe erneut nach der Eingabe gefragt wird, quasi solange bis man 1,2 oder 3 eingibt.

Ich steh wahrscheinlich auf dem Schlauch, bin der Meinung man müsste hier eine Schleife (tippe auf while) benutzen aber irgendwie weiß ich nicht so Recht wie.

Danke schon mal für eure Hilfe.

1.029 Beiträge seit 2010
vor 5 Jahren

Hi,

eine while-Schleife ist schon korrekt. Do-While wäre in deinem Fall wohl die einfachste Variante.

Grundsätzlich kommt um deinen aktuellen Code der "do"-Teil drumherum, das Ergebnis deiner If-Anfrage müsstest dir zu Beginn des "do"-Teils merken und dann am Ende im "while"-Teil prüfen.

Ein Beispiel siehst du z.B. auf:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/d3243923-0802-454a-bd15-2d80ed860705/how-to-repeat-question-if-user-input-is-invalid-c?forum=csharpgeneral

LG

B
BobbyJean27 Themenstarter:in
2 Beiträge seit 2019
vor 5 Jahren

Vielen Dank für die schnelle Antwort, ich versuchs gleich mal 👍

Hinweis von Abt vor 5 Jahren

Keine Full Quotes
[Hinweis] Wie poste ich richtig?