vb评分 程序

vb评分 程序,第1张

给出题目的同时,程序将正确答案保存在一个数组当中。然后当按下评分按钮时,与Text1中的结果进行比较。遍历数组比较,声明一个累加器,每相同一次增加1,最后的结果便是此次答题的得分

Private marrAnswer(9) As Integer

Private Sub cmdResult_Click()

Dim iMark As Integer

Dim i As Integer

Dim arrAns() As String

If CheckInput Then

' 将用户输入的答案保存到数组当中

arrAns = Split(txtAnswer.Text, ",")

' 将用户输入的答案与正确答案进行比较,并计算得分

For i = 0 To UBound(marrAnswer)

If marrAnswer(i) = CInt(arrAns(i)) Then

iMark = iMark + 1

End If

'***

' 这里可以添加一个将错误答题和正确答案进行统计的功能,以增加程序的功能性

' 最终可将错误题目与正确答案进行展示

'***

Next i

' 显示最后的得分

lblMark.Caption = iMark &"分"

End If

End Sub

Private Sub Form_Load()

Dim i As Integer

Dim iVar1, iVar2 As Integer

For i = 1 To 10

' 获得两个加数

iVar1 = Int((100 - 0 + 1) * Rnd + 0)

iVar2 = Int((100 - 0 + 1) * Rnd + 0)

' 将给出题目的计算结果保存到数组当中

marrAnswer(i - 1) = iVar1 + iVar2

' 将题目输出到界面当中

picQuestion.Print i &". " &iVar1 &" + " &iVar2 &" = ?"

Next i

End Sub

’3个label,2个command

Private Sub Command1_Click()

Dim s, i, j, arr(1 To 10), t, sum

For i = 1 To 10

s = InputBox("输入评分(0-10分):", "第" &i &"个分数")

If IsNumeric(s) Then

s = Val(s)

If s <0 Or s >10 Then

i = i - 1

Else

arr(i) = s

End If

Else

i = i - 1

End If

Next

For i = 1 To 9

For j = i + 1 To 10

If arr(i) >arr(j) Then

t = arr(i): arr(i) = arr(j): arr(j) = t

End If

Next

Next

For i = 2 To 9

sum = sum + arr(i)

Next

Label1.Caption = "最高分为:" &arr(10)

Label2.Caption = "最低分为:" &arr(1)

Label3.Caption = "选手最后得分:" &Round(sum / 8, 1)

End Sub

Private Sub Command2_Click()

Unload Me

End Sub

Private Sub Form_Load()

Command1.Caption = "评分"

Command2.Caption = "结束"

With Label1

.Caption = ""

.AutoSize = True

End With

With Label2

.Caption = ""

.AutoSize = True

End With

With Label3

.Caption = ""

.AutoSize = True

End With

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7779220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存