⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例7.15.frm

📁 一本学习Visual Basic编程的好书
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "四则运算"
   ClientHeight    =   2085
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   2085
   ScaleWidth      =   4680
   StartUpPosition =   3  '窗口缺省
   Begin VB.TextBox Text2 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   720
      TabIndex        =   3
      Text            =   " "
      Top             =   1440
      Width           =   975
   End
   Begin VB.CommandButton Command1 
      Caption         =   "计算"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   2880
      TabIndex        =   2
      Top             =   1440
      Width           =   975
   End
   Begin VB.TextBox Text1 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   120
      TabIndex        =   0
      Text            =   " "
      Top             =   480
      Width           =   4455
   End
   Begin VB.Label Label2 
      Caption         =   "计算结果"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   840
      TabIndex        =   4
      Top             =   1200
      Width           =   855
   End
   Begin VB.Label Label1 
      Caption         =   "四则运算式"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   1800
      TabIndex        =   1
      Top             =   240
      Width           =   1215
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim s(20) As String           '数组s存放按+,-号分解出来的式子
Private Sub command1_click()
    n = handle1(Text1.Text)                 '分解出n个式子
    total = 0                               '累加数初值
    For i = 1 To n
        m = handle2(s(i))                   '计算各乘除式的值
        total = total + m                   '各式累加
    Next i
    Text2.Text = total                      '显示结果
End Sub
Function handle1(ByVal t) As Single
    If Left(t, 1) <> "+" And Left(t, 1) <> "-" Then
        t = "+" + t                   '使以"+"开头,方便处理
    End If
    k = 0
    Do While t <> ""
        n1 = InStr(2, t, "+")              '找+号
        n2 = InStr(2, t, "-")              '找-号
        k = k + 1
        Select Case True
           Case n1 = 0 And n2 = 0          '无+、-号
              s(k) = t                     '取剩余部分
              t = ""
           Case n2 = 0                     '无-号
              s(k) = Mid(t, 1, n1 - 1)     '取到+号
              t = Mid(t, n1)               '从该+号开始截取
           Case n2 < n1 Or n1 = 0          '先遇到-号或无+号
              s(k) = Mid(t, 1, n2 - 1)     '取到-号
              t = Mid(t, n2)               '从该-号开始截取
           Case n1 < n2                    '先遇到+号
              s(k) = Mid(t, 1, n1 - 1)     '取到+号
              t = Mid(t, n1)               '从该+号开始截取
        End Select
    Loop
    handle1 = k                         '分解出来的式子个数
End Function
Function handle2(x) As Single
    f = Left(x, 1)                         '取出符号+或-
    x = "*" + Mid(x, 2)                    '前头加*,方便处理
    Sum = 1                                '累乘/除的初值
    Do While x <> ""
        m1 = InStr(2, x, "*")              '找*号
        m2 = InStr(2, x, "/")              '找/号
        Select Case True
           Case m1 = 0 And m2 = 0          '已无乘除号
              y = Mid(x, 1)
              x = ""
           Case m1 = 0 Or (m1 > m2 And m2 > 0)
              y = Mid(x, 1, m2 - 1)       '取至除号
              x = Mid(x, m2)
           Case m2 = 0 Or (m2 > m1 And m1 > 0)
              y = Mid(x, 1, m1 - 1)      '取至乘号
              x = Mid(x, m1)
        End Select
        If Left(y, 1) = "*" Then           '执行乘除运算
            Sum = Sum * Val(Mid(y, 2))
        Else
            Sum = Sum / Val(Mid(y, 2))
        End If
    Loop
    If f = "+" Then                        '带回+,-号
        handle2 = Sum
    Else
        handle2 = -Sum
    End If
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -