制作计算器时结果不正确

时间:2014-12-10 03:24:49

标签: arrays vb.net function selection calculator

我正在尝试在我的班级中使用VB2010制作一个计算器,我正在构建一个函数程序,它是数学的一部分。我使用带有char的Select Case语句,在进行数学7 + 7时我得到的只是0,这是不正确的。我不知道在哪里修理。我正在使用前面变暗的数组,我同时调用函数和实际函数。是否与我的阵列有关,我收到的数据不好?

Private Sub EqualsButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EqualsButton.Click
    If CalculatorRichTextBox.Text <> Nothing Then
        NumberArray(CountNumber) = Double.Parse(CalculatorRichTextBox.Text)
        NumberArray(CountNumber + 1) = DoMathProcedure(NumberArray(CountNumber - 1), MathArray(CountMath), NumberArray(CountNumber))
        CountNumber += 1
        CalculatorRichTextBox.Text = NumberArray(CountNumber).ToString
    End If
End Sub

Private Function DoMathProcedure(ByVal MathNumber1 As Double, ByVal MathSymbol As Char, ByVal MathNumber2 As Double) As Double
    Dim Answer As Double
    Select Case MathSymbol
        Case "+"
            Answer = MathNumber1 + MathNumber2
        Case "-"
            Answer = MathNumber1 - MathNumber2
        Case "X"
            Answer = MathNumber1 * MathNumber2
        Case "/"
            Answer = MathNumber1 / MathNumber2
    End Select
    Return Answer

End Function




Private Sub PlusButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlusButton.Click
    'add try for not just decimal

    If CalculatorRichTextBox.Text <> Nothing Then
        NumberArray(CountNumber) = Double.Parse(CalculatorRichTextBox.Text)
        CalculatorRichTextBox.Clear()
        MathArray(CountMath) = "+"
        CountMath += 1
        CountNumber += 1
    Else
        CalculatorRichTextBox.Text = "ERROR"
        ErrorBoolan = True
    End If
End Sub

0 个答案:

没有答案