VB.NET實現計算器

 

 

Dim bolDot As Boolean

    Dim dblACC1, dblACC2 As Double

    Dim dblACC3 As Double = 10

    Dim strOp As String

    Private Sub add_num(ByVal intNumber As Integer)

        If bolDot Then

            dblACC1 = dblACC1 + intNumber / dblACC3

            dblACC3 *= 10

        Else

            dblACC1 = dblACC1 * 10 + intNumber

        End If

        txtResult.text = CStr(dblACC1)

 

    End Sub

    Private Sub action(ByVal strCurrentop As String)

        Select Case strOp

            Case Is = "+"

                dblACC2 = dblACC2 + dblACC1

                dblACC1 = 0

            Case Is = "-"

                dblACC2 = dblACC2 - dblACC1

            Case Is = "*"

                dblACC2 = dblACC2 * dblACC1

                dblACC1 = 0

            Case Is = "/"

                dblACC2 = dblACC2 / dblACC1

                dblACC1 = 0

            Case Is = "="

            Case Else

                dblACC2 = dblACC1

                dblACC1 = 0

        End Select

        strOp = strCurrentop

        txtResult.Text = dblACC2

        bolDot = False

        dblACC3 = 10

End Sub

Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click

        Call add_num(0)

    End Sub

 

    Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click

        Call add_num(1)

    End Sub

 

    Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click

        Call add_num(2)

    End Sub

 

    Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click

        Call add_num(3)

    End Sub

 

    Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click

        Call add_num(4)

    End Sub

 

    Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click

        Call add_num(5)

    End Sub

 

    Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click

        Call add_num(6)

    End Sub

 

    Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click

        Call add_num(7)

    End Sub

 

    Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click

        Call add_num(9)

    End Sub

 

    Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click

        Call add_num(9)

    End Sub

 

    Private Sub btndot_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndot.Click

        bolDot = True

    End Sub

 

    Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click

        Call action("+")

    End Sub

 

    Private Sub btnMinus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMinus.Click

        Call action("-")

    End Sub

 

    Private Sub btntimes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntimes.Click

        Call action("*")

    End Sub

 

    Private Sub btndivide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndivide.Click

        Call action("/")

    End Sub

 

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click

        dblACC1 = 0

        dblACC2 = 0

        dblACC3 = 10

        bolDot = False

        strOp = ""

        txtResult.Text = ""

    End Sub

 

    Private Sub btnPi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPi.Click

        dblACC1 = Math.PI

        dblACC3 = 10

        bolDot = False

        txtResult.Text = dblACC1

 

    End Sub

 

    Private Sub btnSQRt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSQRt.Click

        dblACC1 = Math.Exp(Math.Log(dblACC1) / 2)

        dblACC3 = 10

        bolDot = False

        txtResult.Text = dblACC1

    End Sub

End Class

 

發佈了55 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章