已解决问题 - 浏览254次
下一个已解决问题有关VB的制作问题,急需!请大家帮帮忙!
已知代码为:
Private Sub Form_Load()
Dim NOp%, Op As String * 1
Randomize
Num1 = Int(10 * Rnd + 1)
Num2 = Int(10 * Rnd + 1)
NOp = Int(4 * Rnd + 1)
Select Case NOp
Case 1
Op = "+": Result = Num1 + Num2
Case 2
Op = "-": Result = Fix(Num1 - Num2)
Case 3
Op = "*": Result = Num1 * Num2
Case 4
Op = "/": Result = Int(Num1 - Num2)
End Select
Label1 = Num1 & Op & Num2 & "="
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(Text1) = Result Then
Picture1.Print Label1; Text1; Tab(10)
NOk = NOk + 1
Else
Picture1.Print Label1; Text1; Tab(10)
NError = NError + 1
End If
Text1 = ""
Text1.SetFocus
Form_Load
End If
End Sub
Private Sub Command1_Click()
Label1 = ""
Picture1.Print "---------"
Picture1.Print "一共计算" & (NOk + NError) & "道题";
Picture1.Print "得分" & Int(NOk / (NOk + NError) * 100)
End Sub
请问,
如何修改该代码
使得所得出的答案为正整数!
谢谢了,
不胜感激!
最佳答案 - 由提问者2008-06-06 21:55:03选出
改了这些
NOK,NERROR,result的Public 宣布 和DOUBLE形
INT(NUM1/NUM2),本来的可能有错.这是取整,没进位的
--------------------
Public NOK As Double
Public NERROR As Double
Public result As Double
Private Sub Form_Load()
Dim NOp, Op As String * 1
Text1 = ""
Randomize
Num1 = Int(10 * Rnd + 1)
Num2 = Int(10 * Rnd + 1)
NOp = Int(4 * Rnd + 1)
Select Case NOp
Case 1
Op = "+": result = Num1 + Num2
Case 2
Op = "-": result = Fix(Num1 - Num2)
Case 3
Op = "*": result = Num1 * Num2
Case 4
Op = "/": result = Int(Num1 / Num2)
End Select
Label1 = Num1 & Op & Num2 & "="
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(Text1) = result Then
Picture1.Print Label1; Text1; Tab(10)
NOK = NOK + 1
Else
Picture1.Print Label1; Text1; Tab(10)
NERROR = NERROR + 1
End If
Text1 = ""
Text1.SetFocus
Form_Load
End If
End Sub
Private Sub Command1_Click()
Label1 = ""
Picture1.Cls
Picture1.Print "-------------"
Picture1.Print " 一共计算" & (NOK + NERROR) & "难题"
Picture1.Print "得分" & Int(NOK * 100 / (NOK + NERROR))
End Sub
提问者对最佳答案的评价
非常感謝,
其實是同學要問的。
不過真的非常謝謝你的認真的幫助!
謝謝!

〓shooyoon〓

ystsangnbs








