2017-01-12 2 views
1

Ok, so meine Frage ist dies, ich habe derzeit 3 ​​mögliche Antworten: ja, nein, und alles andere. Ich möchte, dass mein Programm "Pardon me?" bis ich mit ja oder nein antworte ... Ich bin neu in C# und lerne immer noch so einfach wie möglich. DankeC# Welche Schleife zu verwenden

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Pitalica 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("Kvisko"); 
     Console.WriteLine("\"Hello Traveller!!\" says a man. \"What's your name?\""); 
     string playerName = Console.ReadLine(); 
     Console.WriteLine("\"Hi " + playerName + ", welcome to the beautiful city of Osijek!\nI would like to give you a tour of our little town, but I don't have time to do so right now.\nI need to go to class.\""); 
     Console.WriteLine("He looks at you with your backpack on your back.\"But I could show you later if you're up to?\""); 
     string answer1 = Console.ReadLine(); 
     if (answer1 == "yes") 

      Console.WriteLine("\"We have a deal, " + playerName + "!\""); 
     else if (answer1 == "no") 

      Console.WriteLine("\"Your loss," + playerName + "...\""); 
     else 
     { 
      Console.WriteLine("Pardon me?"); 
     } 
     Console.WriteLine("After some time..."); 

     } 
    } 
} 
+0

'Nach einiger Zeit ...' eine Antwort auf Ihre Frage. – Hogan

+0

da lerne ich immer noch: Nach einiger zeit ... sollte nur sein, wenn personen ja antworten ... wenn sie nein antworten, will ich nur, dass sie ihren verlust sagt und das programm – Osti991

Antwort

7

Technisch Sie jede Schleife implementieren können, aber ich schlage vor while

... 
string answer1 = Console.ReadLine(); 

while (answer1 != "yes" && answer1 != "no") { 
    Console.WriteLine("Pardon me?"); 
    answer1 = Console.ReadLine(); 
} 
... 

halten Nachgefragt währendanswer1 keine richtige ist.

Edit: Als Hogan im Kommentar vorgeschlagen, sollen wir schön zu Benutzer sein: Lassen Sie ihn/sie gibt ja/nein in jedem Register mit Vorder- und Hinter weißen Räumen:

... 
// with Trim() and ToUpper() all "Yes", " yes", "YES " are OK 
string answer1 = Console.ReadLine().Trim().ToUpper(); 

while (answer1 != "YES" && answer1 != "NO") { 
    Console.WriteLine("Pardon me?"); 

    answer1 = Console.ReadLine().Trim().ToUpper(); 
} 
... 

edit 2: das Programm (siehe eine zusätzliche Frage in den Kommentaren) zu verlassen, nur Rückkehr vom Main:

... 
if (answer1 == "NO") { 
    Console.WriteLine("Your loss"); 

    return; // return from Main will exit the program 
} 
+1

vielleicht mit 'answer1.ToUpper() beenden. Trim() 'nur um es dem Benutzer zu erleichtern – Hogan

+0

@Hogan: Danke für den Vorschlag! - Die Software sollte für den Benutzer nett sein. –

+0

Danke Jungs für die Hilfe .. Noch eine Frage Jungs ... Wenn sie keine Antwort wie stoppe ich das Programm ... Denn jetzt geht es nur weiter mit der Geschichte ... – Osti991

Verwandte Themen