2016-04-20 18 views
2

私はちょっとしたコーディングプロジェクトをしています。私はC#を学ぶために使用しようとしていると私の問題は私はそれに実行されているが、私はdefaultを取る方法を知らないし、前の質問に戻って、ユーザーがしなかった場合、選択肢であるものを入力してください。私はループを試みました、私は壊れ続けます、私は/ elseを試してきました、そして、私は短期間だけコーディングしていましたので、これはほとんど外国人です。どんな助けもありがとう。質問のこのセクションをやり直してください

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 
} 

答えて

1

1つのオプションは、実行を制御するためにループとブール変数を使用することです。

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

最後にwhile(ループ)を実行してもう一度やりますか?それともdoで始まる1つのセクションをループするだけですか?これが初心者のように見える場合は申し訳ありませんが、ループを少し良く理解しようとしています。 –

+0

'do-while'ループは何かをしてから、条件が真であれば繰り返します。この場合、変数 'loop'は条件式であり、' switch'がデフォルトの場合に 'true'に設定されます。 –

+0

おい、助けてくれてありがとう、私はこれで正しい軌道に乗っていたが、それを実行する方法については非常に混乱していた。 –

0

ようこそSOコミュニティ!

一般に、このコードはdo-whileループに入れることができるとflagは、ユーザ入力が再びか追求されている場合を決定するユーザ入力に基づいて設定されている - 幸せな場合どこを想定スイッチする前に一度設定してもよいですユーザーは有効な選択肢を作るか、またはユーザーが別のものを入力するデフォルトの場合に行います。質問を印刷する前に、画面をクリアすることもできます。

+1

ありがとうございました!私は正しい方向を指している、病気のこれを見て、私が思い付くことができます参照してください! –

関連する問題