2014-09-18 59 views
3

我是一個相當新的程序員,我正在尋找一些有關當前任務的幫助。我試圖創建一個程序,它可以生成2個隨機數和一個隨機運算符,然後讓用戶輸入他們的答案。我想我已經完成了這部分。需要幫助創建一個簡單的數學測驗(Visual Basic)

但是,當我試圖讓程序顯示正確的答案時,它只是顯示問題,並沒有用正確答案回答問題。

任何幫助非常感謝!

Module Module1 

Sub Main() 
    Randomize() 
    Dim RandomNum As New Random 

    Dim Number1 As Integer 
    Dim Number2 As Integer 
    Dim Operation As Integer 
    Dim Output As String 
    Dim Answer As String 


    Number1 = RandomNum.Next(1, 20) 
    Number2 = RandomNum.Next(1, 20) 
    Operation = RandomNum.Next(1, 4) 


    If (Operation = 1) Then 
     Output = " + " 
    ElseIf (Operation = 2) Then 
     Output = " - " 
    ElseIf (Operation = 3) Then 
     Output = " * " 
    Else 
     Output = "/" 
    End If 


    Console.WriteLine("What is " & Number1 & Output & Number2 & "?") 
    Answer = Console.ReadLine() 

    Console.WriteLine("Your answer is " & Answer) 
    Console.WriteLine("The correct answer is " & Number1 & Output & Number2) <------ Here is where the problem is 

    Console.ReadLine() 

End Sub 

End Module 

回答

2

您需要添加的東西,計算出正確的答案:

Dim correctAnswer as Single 

,然後更改爲以下:

If (Operation = 1) Then 
    Output = " + " 
    correctAnswer = Number1 + Number2 
ElseIf (Operation = 2) Then 
    Output = " - " 
    correctAnswer = Number1 - Number2 
ElseIf (Operation = 3) Then 
    Output = " * " 
    correctAnswer = Number1 * Number2 
Else 
    Output = "/" 
    correctAnswer = Number1/Number2 
End If 

最後,更改爲:

Console.WriteLine("The correct answer is " & correctAnswer) 
1

我也可以建議你選擇Select語句而不是連續的If-Else語句。 想要這樣:

Dim Answer as Decimal 

Select Case (Operation) 
    Case 1 
     Output = " + " 
     Answer = Number1 + Number2 
    Case 2 
     Output = " - " 
     Answer = Number1 - Number2 
    Case 3 
     Output = " * " 
     Answer = Number1 * Number2 
    Case Else 
     Output = "/" 
     Answer = Number1/Number2 
End Select