实现功能:
可以连续不断输入学生成绩,每输入一个成绩后回车,直到不想输入成绩为止。然后按计算按扭,下面三个文本框中 不及格人数,及格人数,平均成绩显示出来。不知道为什么输入后,计算结果总是错误的。代码入下:
Dim score     '单个成绩
Dim sumscore  '总成绩
Dim passnb    '及格人数
Dim nopassnb  '不及格人数
Dim outaverage  '平均成绩 Private Sub cmdcalculate_Click()  ‘按计算按扭输出结果
outaverage = sumscore / (passnb + nopassnb)
txtpass.Text = passnb
txtnopass.Text = nopassnb
txtaverage.Text = outaverage
End Sub
Private Sub Form_Activate()
sumsocre = 0
passnb = 0
nopassnb = 0
outaverage = 0
End SubPrivate Sub inputdata_KeyPress(KeyAscii As Integer) '输入成绩过程
If KeyAscii = 13 Then
score = Val(inputdata.Text)
sumscore = sumscore + score
inputdata.Text = ""
End If
If score >= 60 Then
passnb = passnb + 1
Else
nopassnb = nopassnb + 1
End If
End Sub

解决方案 »

  1.   

    Dim score     '单个成绩
    Dim sumscore  '总成绩
    Dim passnb    '及格人数
    Dim nopassnb  '不及格人数
    Dim outaverage  '平均成绩 你以上定義有沒有定義是什麼類型呢
      

  2.   

    Private Sub inputdata_KeyPress(KeyAscii As Integer) '输入成绩过程
    If KeyAscii = 13 Then
    score = Val(inputdata.Text)
    sumscore = sumscore + score
    inputdata.Text = ""If score >= 60 Then
    passnb = passnb + 1
    Else
    nopassnb = nopassnb + 1
    End IfEnd If
    End Sub