2016-10-03 10 views
-2

私はVisualBasicsコンソールアプリケーションで電卓を作って、ユーザーが追加したり引いたりすることができます。私は、ユーザーから入力された数字を追​​加する方法を考え出しましたが、ユーザーにどのような操作をしたいかを尋ねるオプションを与えました。しかし、ユーザーが - 記号を使用すると、入力された2つの数字に答えが出力されません。電卓 - ステートメントエラーの場合

私は、行が読み込まれ、 " - "が入力された場合、プログラムは2つの数字を追加せずに削除すると思ったので、elseif文を使用しました。私が2番目のオプションを選択して2つの数字を互いに離してしまうのを許さない理由を説明してください。

Module Module1 

    Sub Main() 

     Console.WriteLine("Please enter the first number:") 
     Dim num1 As Double = Console.ReadLine() 
     Console.WriteLine("First number:" & num1) 

     Console.WriteLine("Please enter the second number:") 
     Dim num2 As Double = Console.ReadLine() 
     Console.WriteLine("Second Number:" & num2) 

     Console.Write("what operand do you want to use: +,-,:") 
     If Console.ReadLine = "+" Then 
      Console.WriteLine("The numbers added is:" & num1 + num2) 
     ElseIf Console.ReadLine = "-" Then 
      Console.WriteLine("The numbers subtracted is:" & num1 - num2) 
     End If 
     Console.ReadLine() 

    End Sub 

End Module 
+0

あなたの質問を編集してみてください... – Reddy

+1

1文字しか使用できないため、 'Console.ReadLine'を2回呼び出すことはできません。あなたが書いているコードについて考えてみてください。明らかに、 'Console.ReadLine'を一度呼び出すだけで、入力を変数に保存し、その変数に含まれる内容に基づいて何をするかを決める必要があります。 –

+0

ファイルの上部に 'Option Strict On'を設定します。コンパイラのエラーを削除します。 –

答えて

1
If Console.ReadLine = "+" Then 
    Console.WriteLine("The numbers added is:" & num1 + num2) 
ElseIf Console.ReadLine = "-" Then 
    Console.WriteLine("The numbers subtracted is:" & num1 - num2) 
End If 

それを大声で読む:

は、ラインを読みます。 '+'の場合は結果を出力します。それ以外の行は読まないでください。 " - "の場合は結果を印刷します。

最初のReadLineの結果を変数に格納し、それを両方の比較で使用する必要があります。