VB 声明问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 15:31:09
Dim m As Integer, i As Integer

Private Sub Command1_Click()
Randomize

n = Fix(Rnd * 2)
Select Case n
Case 0
n = "+"
Case 1
n = "-"
End Select
m = Fix(Rnd * 11): i = Fix(Rnd * 11)
If n = "-" And i > m Then
l = m
m = i
i = l
End If
L1.Caption = m & n & i & "="

End Sub

Private Sub Command2_Click()

Select Case n
Case "+"
k = m + i
Case "-"
k = m - i
End Select
Text2.Text = k
If Text1.Text = k Then
L2.Caption = "运算正确"
Else
L2.Caption = "运算错误"
End If
End Sub

为什么总是 总是错误 究竟错在哪里?
仍然是 我输入什么答案都 说我错

变量n使用混乱
n = Fix(Rnd * 2)
这句让n成为了数值变量类型
而后
n = "+"
这句却把n作为了字符变量赋值
自然出错
在多加一个中间变量即可

Dim m As Integer, i As Integer
dim n as string

Private Sub Command1_Click()
Randomize
dim a as integer
a = Fix(Rnd * 2)
Select Case a
Case 0
n = "+"
Case 1
n = "-"
End Select
m = Fix(Rnd * 11): i = Fix(Rnd * 11)
If n = "-" And i > m Then
l = m
m = i
i = l
End If
L1.Caption = m & n & i & "="

End Sub

Private Sub Command2_Click()

Select Case n
Case "+"
k = m + i
Case "-"
k = m - i
End Select
Text2.Text = k
If Text1.Text = k Then
L2.Caption = "运算正确"
Else
L2.Caption = "运算错误"
End If