2017-01-12 4 views
1

私の質問はこれです、私は現在、3つの可能な答えを持っています:はい、いいえ、それ以外はすべてです。私のプログラムで「Pardon me?」と書いて欲しい。はい、いいえと答えるまでは...私はC#を使っていて、まだ学んでいるので、できるだけシンプルで新しいです。あなたはc#使用するループ

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

「しばらくして...」あなたの質問に対する答え。 – Hogan

+0

私はまだ学んでいるから:しばらくしてから...人がはいと答える場合のみ...彼らがいいえ答えたら私はただあなたの敗北を言い、プログラムを終了したい。 – Osti991

答えて

7

技術的には、あなたがどんなループを実装することができ感謝し、私はちょうどanswer1が正しいものではありませんながら尋ねておくwhile

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

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

を示唆しています。

編集:ホーガンはコメントで示唆したように、我々はユーザーに素敵次のようになります。彼/彼女は、先頭と末尾の空白を持つ任意のレジスタにはい/いいえを入力してみましょう:

... 
// 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(); 
} 
... 

編集2

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

    return; // return from Main will exit the program 
} 
:プログラム(コメント欄に追加の質問を参照)、Mainからわずかリターンを終了するには10
+1

はおそらく 'answer1.ToUpper()を使う。 Trim() 'を使って簡単にできるようにする – Hogan

+0

@Hogan:ありがとうございました! - ソフトウェアはユーザーに親切でなければなりません。 –

+0

助けを借りてくれてありがとう。 もう1人質問します...回答が得られない場合はどうすればプログラムを停止できますか... 原因は現在のところ続きます... – Osti991

関連する問題