注册 登录
编程论坛 VB6论坛

帮忙看看,哪里出错了,是一个四则运算

嗯没错 发布于 2012-12-12 21:38, 478 次点击
Dim result As Integer
Dim c%, c1%, c2%

Private Sub CmdOK_Click()
     If Text1 <> "" Then
        If Val(Text1) = result Then
        L3.Caption = "真棒!"
        c1 = c1 + 1
        Label2.Caption = "正确题数:" & c1
    Else
        L3.Caption = "仔细想想,你一定会做对的!"
        c2 = c2 + 1
        Label3.Caption = "错误题数:" & c2
        Text1.SetFocus
    End If
  End If
End Sub

Private Sub Form_Load()
    Show
    Call rand
    L3 = ""
    Label1 = ""
    Label2 = ""
    Label3 = ""
End Sub

Private Sub rand()
   
     
 
End Sub

Private Sub Text1_GotFocus()
 Dim x1%, x2%
     Randomize
     x1 = Int(Rnd * 50) + 1
     x2 = Int(Rnd * 50) + 1
     Label7.Caption = x1
     Label4.Caption = x2
     Text1 = ""
     Label1.Caption = "试题总数:" & c
     c = c + 1
     Text1.SetFocus
End Sub
Private Sub Option1_Click()
  If Option1.Value Then result = x1 + x2
  L5 = "+"
End Sub

Private Sub Option2_Click()
   If Option1.Value Then result = x1 - x2
   L5 = "-"
End Sub

Private Sub Option3_Click()
  If Option1.Value Then result = x1 * x2
    L5 = "*"
End Sub

Private Sub Option4_Click()
   If Option1.Value Then result = x1 / x2
     L5 = "/"
End Sub
6 回复
#2
mayuebo2012-12-13 06:46
Dim c%, c1%, c2%

Dim x1%, x2%

定义成c,c1,c2就可以了。不用特别声明
#3
风吹过b2012-12-13 09:33
Private Sub Option1_Click()
  If Option1.Value Then result = x1 + x2
  L5 = "+"
End Sub

Private Sub Option2_Click()
   If Option1.Value Then result = x1 - x2
   L5 = "-"
End Sub

Private Sub Option3_Click()
  If Option1.Value Then result = x1 * x2
    L5 = "*"
End Sub

Private Sub Option4_Click()
   If Option1.Value Then result = x1 / x2
     L5 = "/"
End Sub


这一堆,全写成一个引用控件的属性了。

--------------------
回二楼的,特别声明可以加快程序的执行速度。
#4
嗯没错2012-12-13 20:15
回复 3楼 风吹过b
那怎么改呢?
#5
风吹过b2012-12-13 21:51
是那个控件的事件,就引用哪个控件啊,不要专门引用 Option1 一个啊。
#6
vb_cainiao2012-12-14 08:57
Private Sub Option1_Click()
  If Option1.Value Then result = x1 + x2
  L5 = "+"
End Sub

Private Sub Option2_Click()
   If Option1.Value Then result = x1 - x2
   L5 = "-"
End Sub

Private Sub Option3_Click()
  If Option1.Value Then result = x1 * x2
    L5 = "*"
End Sub

Private Sub Option4_Click()
   If Option1.Value Then result = x1 / x2
     L5 = "/"
End Sub
问题一:你对每个option_click事件后面的判断都是用的第一个option1的click事件
问题二:result定义的是Integer变量,但是在除法运算中,会出现类型转换问题,也会出错
#7
嗯没错2012-12-14 14:18
回复 6楼 vb_cainiao
能帮我改一下吗?主要我是新手,
1