常州幼儿园学费:VB编程的题目

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 12:05:45
编程实现:在窗体随机产生5道两位数的‘加’‘减’题(出题按钮)
点‘提交’按钮,进行评分。消息框提示得分多少(20分每题)
点‘清空’所有文本框置空。点‘退出’退出程序。
请高手帮帮哈……

1、创建窗体,其中添加1个标签和一个文本框,默认名称是Label1和Text1,选择这两项,复制,粘贴创建控件数组,共计5组。

2、放置三个命令按钮,显示内容分别设置为“出题”、“提交”、“清空”。

3、粘贴下面的代码,运行即可。

4、其中,进行了一些设置:设置随机种子,避免每次运行出题相同;对随机数调整,使其保证是两位数;对数值判断,防止减法中出现负数。

Option Explicit
Dim I As Integer, Num1 As Integer, Num2 As Integer, M As Integer, N As Integer
Dim Anser(0 To 4) As Integer, Score As Integer

Private Sub Command1_Click()
Randomize
'使用随机种子,避免每次数值相同
For I = 0 To 4
Num1 = Rnd(1) * 89 + 10
Num2 = Rnd(1) * 89 + 10
'89和10的选择目的,是保证随机数的范围是10~99
M = Rnd(1)
If M < 0.5 Then
If Num1 > Num2 Then N = Num1: Num1 = Num2: Num2 = N
'加法算式中,小数在前
Label1(I) = Num1 & "+" & Num2 & "="
Anser(I) = Num1 + Num2
Else
If Num1 < Num2 Then N = Num1: Num1 = Num2: Num2 = N
'减法算式中,大数在前,避免结果是负数
Label1(I) = Num1 & "-" & Num2 & "="
Anser(I) = Num1 - Num2
End If
Next
End Sub

Private Sub Command2_Click()
Score = 0
For I = 0 To 4
If Val(Text1(I)) = Anser(I) Then Score = Score + 20
Next
MsgBox "你的测验得分是:" & Score & "分", , "测验结果"
End Sub

Private Sub Command3_Click()
For I = 0 To 4
Text1(I) = ""
Label1(I) = ""
Next
End Sub

清空 text1.text=""

为了编程简洁方便,最好是添加数组控件
我添加的是5个Label1控件,他们的名字分别为label1(0)label1(1)label1(2)label1(3)label1(4),用来出题用。
再添加5个Text1控件,同样他们的名字分别为Text1(0)Text1(1)Text1(2)Text1(3)Text1(4),用来填写答案的。
再加上3个按扭,分别做 出题 提交 清空 用
具体代码:

Dim re(0 To 4) As Integer

Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer, k As Integer
For i = 0 To 4
m = Rnd * 100
n = Rnd * 100
k = Rnd
If k < 0.5 Then
Label1(i).Caption = CStr(m) + "+" + CStr(n) + "="
re(i) = m + n
Else
Label1(i).Caption = CStr(m) + "-" + CStr(n) + "="
re(i) = m - n
End If
Next i
End Sub

Private Sub Command2_Click()
Dim i As Integer, soc As Integer
For i = 0 To 4
If Text1(i).Text = CStr(re(i)) Then
soc = soc + 20
End If
Next i
MsgBox "你的最后得分是:" + CStr(soc), vbOKOnly, "测试结果"
End Sub

Private Sub Command3_Click()
Dim i As Integer
For i = 0 To 4
Text1(i).Text = ""
Label1(i).Caption = ""
Next i
End Sub