2017-10-15 15 views
0

私はプログラミングにとって非常に新しく、現在はコンソールアプリケーションを使いこなしています。私はログイン画面や通貨のコンバーターのようなものをいくつか作成しましたが、それは教師の助けを借りて行われました。自分では何もしませんでした。このコードを書くための方法はありますか?

これを書くには、より良い方法と短い方法があるのでしょうか? モジュールModule1を

Sub Main() 
    Dim x As String 
    Dim Y As String 
    Dim yes As String 
    Dim no As String 
    x = "Please enter your name:" 
    Y = "Please enter 'Y' or 'N'" 
    yes = "Y" 
    no = "N" 
    Console.WriteLine(x) 
    Console.ReadLine() 
    Console.WriteLine("Do you wish to continue?") 
    yes = Console.ReadLine() 
    Console.WriteLine(Y) 
    If yes = "Y" Then 
     Console.WriteLine("You selected to continue") 
    Else 
     If no = "N" Then 
      Console.WriteLine("You selected to exit") 
      Environment.Exit(0) 
     End If 
    End If 
    Console.WriteLine("TEXT HERE") 'Text here as I don't know what to put next yet 
    Console.ReadLine() 
    Console.ReadLine() 'Just put this here so it doesn't exit straight away 
End Sub 

私はちょうどそれを試してみるだけではなく、常にConsole.WriteLineを(「TEXT」)を持っているいくつかの変数を宣言していました。私は物事をする方法を見つけようとしています。 私はもう一度コードを実行し、ユーザー入力に大文字小文字を区別していることを確認しましたが、YまたはYとNまたはnのどちらにするのですか?

Sub Main() 
    Console.WriteLine("Please enter your name:") 
    Console.ReadLine() 
    Console.WriteLine("Do you wish to continue?") 

    Do 
     Dim selectYN As String = Console.ReadLine() 

     If selectYN.ToUpper = "Y" Then 
      Console.WriteLine("You selected to continue") 
      Exit Do 
     ElseIf selectYN.ToUpper = "N" Then 
      Console.WriteLine("You selected to exit") 
      Environment.Exit(0) 
      Exit Do 
     Else 
      Console.WriteLine("Please enter 'Y' or 'N'") 
     End If 
    Loop 

    Console.WriteLine("TEXT HERE") 'Text here as I don't know what to put next yet 
    Console.ReadLine() 
    Console.ReadLine() 'Just put this here so it doesn't exit straight away 
End Sub 

コードがはるかにあなたのコードよりも縮小される:

+0

私は、この質問を審査を求めているので、トピックをオフに投票することにしています。 https://www.codereview.stackexchange.comを参照してください。 – Codexer

答えて

0

は、次のコードを使用することができます。ユーザーがyes/noの質問に対して有効な回答を追加するまでループを追加しました。ループを解除するには、次のいずれかの値を入力する必要があります。n, N, y, Y。値が有効でない場合、再び新しい値を入力する機会を与えるために質問が再度表示されます。

私はそれをYまたはy、Nまたはnのいずれかにする方法はありますか?この場合

あなたは手紙toLowerまたはtoUpperを変換する可能性があります。上記の例ではtoUpperNYとの比較に使用されています。

関連する問題