VB编程的题目

编程实现:在窗体随机产生5道两位数的‘加’‘减’题(出题按钮)点‘提交’按钮,进行评分。消息框提示得分多少(20分每题)点‘清空’所有文本框置空。点‘退出’退出程序。请高... 编程实现:在窗体随机产生5道两位数的‘加’‘减’题(出题按钮)
点‘提交’按钮,进行评分。消息框提示得分多少(20分每题)
点‘清空’所有文本框置空。点‘退出’退出程序。
请高手帮帮哈……
展开
 我来答
百度网友c061061
2006-04-04 · TA获得超过3.6万个赞
知道大有可为答主
回答量:6517
采纳率:42%
帮助的人:3763万
展开全部
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
济南科楠信息科技
2006-04-04 · TA获得超过224个赞
知道小有建树答主
回答量:822
采纳率:42%
帮助的人:125万
展开全部
清空 text1.text=""
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友72f1a9a
2006-04-04 · TA获得超过227个赞
知道答主
回答量:164
采纳率:0%
帮助的人:177万
展开全部
为了编程简洁方便,最好是添加数组控件
我添加的是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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式