以下是使用 VB6.0 语言编写的简单计算器程序:

  1. 首先创建一个新的 VB6.0 项目,命名为 'Calculator'。

  2. 在 Form1 上添加以下控件:

  • 一个文本框(命名为 'txtDisplay'),用于显示计算结果和用户输入的数字和操作符。
  • 一个命令按钮(命名为 'btnClear'),用于清除文本框中的内容。
  • 10 个数字按钮(命名为 'btn0' 到 'btn9'),分别用于输入数字 0 到 9。
  • 4 个操作符按钮(命名为 'btnPlus'、'btnMinus'、'btnMultiply' 和 'btnDivide'),分别用于加、减、乘和除。
  • 一个等于号按钮(命名为 'btnEquals'),用于计算结果。
  1. 在 Form1 的代码窗口中添加以下代码:
Private Sub btnClear_Click()
    '清除文本框中的内容
    txtDisplay.Text = ""
End Sub

Private Sub btn0_Click()
    '将数字 0 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "0"
End Sub

Private Sub btn1_Click()
    '将数字 1 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "1"
End Sub

Private Sub btn2_Click()
    '将数字 2 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "2"
End Sub

Private Sub btn3_Click()
    '将数字 3 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "3"
End Sub

Private Sub btn4_Click()
    '将数字 4 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "4"
End Sub

Private Sub btn5_Click()
    '将数字 5 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "5"
End Sub

Private Sub btn6_Click()
    '将数字 6 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "6"
End Sub

Private Sub btn7_Click()
    '将数字 7 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "7"
End Sub

Private Sub btn8_Click()
    '将数字 8 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "8"
End Sub

Private Sub btn9_Click()
    '将数字 9 添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "9"
End Sub

Private Sub btnPlus_Click()
    '将加号添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "+"
End Sub

Private Sub btnMinus_Click()
    '将减号添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "-"
End Sub

Private Sub btnMultiply_Click()
    '将乘号添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "*"
End Sub

Private Sub btnDivide_Click()
    '将除号添加到文本框的末尾
    txtDisplay.Text = txtDisplay.Text & "/"
End Sub

Private Sub btnEquals_Click()
    '计算结果并显示在文本框中
    Dim expression As String
    Dim result As Double
    
    '获取用户输入的表达式
    expression = txtDisplay.Text
    
    '计算结果
    result = Evaluate(expression)
    
    '将结果显示在文本框中
    txtDisplay.Text = result
End Sub

Private Function Evaluate(ByVal expression As String) As Double
    '计算表达式的值
    
    '将表达式转换为逆波兰表达式
    Dim tokens() As String
    Dim stack() As String
    Dim token As String
    Dim i As Integer
    Dim j As Integer
    
    tokens = Split(expression, " ")
    ReDim stack(UBound(tokens))
    j = 0
    
    For i = 0 To UBound(tokens)
        token = tokens(i)
        
        If IsNumeric(token) Then
            '将数字入栈
            stack(j) = token
            j = j + 1
        Else
            '将操作符出栈并计算
            Select Case token
                Case "+"
                    stack(j - 2) = CDbl(stack(j - 2)) + CDbl(stack(j - 1))
                Case "-"
                    stack(j - 2) = CDbl(stack(j - 2)) - CDbl(stack(j - 1))
                Case "*"
                    stack(j - 2) = CDbl(stack(j - 2)) * CDbl(stack(j - 1))
                Case "/"
                    stack(j - 2) = CDbl(stack(j - 2)) / CDbl(stack(j - 1))
            End Select
            
            j = j - 1
        End If
    Next
    
    '返回计算结果
    Evaluate = CDbl(stack(0))
End Function
  1. 保存并运行程序,即可使用简单的计算器功能。

代码说明:

  • btnClear_Click():清除文本框内容。
  • btn0_Click() 到 btn9_Click():将数字添加到文本框。
  • btnPlus_Click() 到 btnDivide_Click():将操作符添加到文本框。
  • btnEquals_Click():计算结果。
  • Evaluate():计算表达式的值,使用逆波兰表达式算法。

注意:

  • 该程序只支持基本的加、减、乘、除运算,不支持括号和函数。
  • 为了简单起见,代码中没有进行输入验证和错误处理。

扩展:

  • 可以添加更多功能,例如支持括号、函数、科学计算等。
  • 可以改进界面设计,使其更加美观易用。
  • 可以进行错误处理,防止程序崩溃。

原文地址: https://www.cveoy.top/t/topic/oGly 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录