2016-04-20 6 views
2

Ich habe ein doof kleines Coding-Projekt. Ich versuche, C# zu lernen und mein Problem ist, dass ich in es renne, aber ich weiß nicht, wie man die default nimmt und es zur vorherigen Frage zurückbringt, wo es die Frage erneut stellen müsste, wenn Benutzer nicht tat etwas eingeben, das eine Wahl ist. Ich habe Loops ausprobiert, die ich immer wieder kaputt mache. Ich habe if/else ausprobiert und ich habe nur kurz programmiert, also ist das meistens ziemlich fremd. Jede Hilfe wäre willkommen.Beginnen Sie diesen Abschnitt der Frage erneut

Console.WriteLine("question blah blah blah"); 

string choice1 = "blah1"; 
string choice2 = "blah2"; 
string choice3 = "blah3"; 

string userChoice = Console.ReadLine(); 

switch (userChoice) 
{ 
    case "1": 
    //Dostuff 
    case "2": 
    //Dostuff 
    case "3": 
    //Dostuff 
    default: 
    Console.WriteLine("you didn't enter something i could recognize") 
    break 
} 

Antwort

1

Eine Option ist die Verwendung einer do-while-Schleife und einer bool-Variablen, um die Ausführung zu steuern.

bool loop; 

do 
{ 
    Console.WriteLine("question blah blah blah"); 

    string choice1 = "blah1"; 
    string choice2 = "blah2"; 
    string choice3 = "blah3"; 

    string userChoice = Console.ReadLine(); 

    // Set to false by default 
    loop = false; 

    switch (userChoice) 
    { 
     case "1": 
      //Dostuff 
      break; 
     case "2": 
      //Dostuff 
      break; 
     case "3": 
      //Dostuff 
      break; 
     default: 
      Console.WriteLine("you didn't enter something i could recognize"); 
      // Set to true to iterate again. 
      loop = true; 
      break; 
    } 
} while(loop); 
+0

macht die while (loop) am ende sagen sie es wieder zu gehen? oder macht das nur eine Schleife, die mit do beginnt? Entschuldigung wenn das elementar erscheint, versuche die Schleife ein wenig besser zu verstehen. –

+0

Eine Do-While-Schleife führt einmal eine Aktion aus und wiederholt sie dann, wenn eine Bedingung zutrifft. In diesem Fall ist die Variable "loop" die Bedingung und wird auf "wahr" gesetzt, wenn der Schalter den Standardfall erreicht. –

+0

Alter, vielen Dank für die Hilfe, ich war auf dem richtigen Weg mit diesem aber war super verwirrt, wie man es ausführt. –

0

Willkommen die SO-Community!

Im Allgemeinen kann dieser Code in einer do-while Schleife gesetzt werden und ein flag Satz auf der Benutzereingabe basiert, die entscheidet, ob eine Benutzereingabe wieder gesucht wird oder nicht - kann es einmal vor den einen glücklichen Fall unter der Annahme Schaltern eingestellt wird, wo Benutzer wird eine gültige Auswahl treffen, oder in dem Standardfall, wo der Benutzer etwas anderes eingeben wird. Sie können den Bildschirm optional löschen, bevor Sie die Frage ausdrucken.

+1

danke! Das hat mich in die richtige Richtung weisen lassen, krank in das schauen und sehen, was ich daraus machen kann! –

Verwandte Themen