VB中inputbox函数的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/06 04:30:34
Dim sum As Integer
Dim ave As Single

Private Sub Command1_Click()
Dim sc As String, scstr As String
Dim n As Integer
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
sc = InputBox("请输入成绩(0~100),-1是结束输入……", "成绩输入", -1)
Do While Val(sc) <> -1
n = n + 1
scstr = scstr & Format(sc, "@@@@")
If n Mod 3 = 0 Then
scstr = scstr & Chr$(13) & Chr$(10)
End If
sum = sum + Val(sc)
sc = InputBox("请输入成绩(0~100),-1是结束输入……", "成绩输入", -1)
Loop
Text1.Text = scstr
ave = Format(sum / n, "###.##")
End Sub

Private Sub Command2_Click()
Text2.Text = sum
Text3.Text = Str$(ave)
End Sub
点取消数据就失真了。“取消”的返回值是空字符串,应该怎么改呢??

Dim sum As Double '最好设置为双精度
Dim ave As Single

Private Sub Command1_Click()
Dim sc As String, scstr As String
Dim n As Integer
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
sc = InputBox("请输入成绩(0~100),-1是结束输入……", "成绩输入", -1)
Do While Val(sc) <> -1
If IsNumeric(sc) Then '判断输入是否是数字
n = n + 1
scstr = scstr & Format(sc, "@@@@")
If n Mod 3 = 0 Then
scstr = scstr & Chr$(13) & Chr$(10)
End If
sum = sum + Val(sc)
sc = "" '数值清除
Else
sc = InputBox("请输入成绩(0~100),-1是结束输入……", "成绩输入", -1)
End If
Loop
If Len(scstr) > 1 Then '判断是否已经输入数据
Text1.Text = scstr
ave = Format(sum / n, "###.##")
End If
End Sub

Private Sub Command2_Click()
Text2.Text = sum
Text3.Text = Str$(ave)
'数值清除
sum = 0
ave = 0
End S