dim cj as double '成绩应该是浮点数,否则,当输入59.5时,虽然低于60,仍会被当作60分去处理。
if cj>=60 then '不低于60,当包含60分在内。
If cj>=60 Then
可能是label3控件不存在,换成Form8上有的Label名称吧。
漏掉了等于60的情况吧.
考试和实际不是一回事,考试考的是理论,是死的
Function Val(String As String) As Double
Val函数返回的是Double,如果要严密一点,定义cj变量应为 Dim cj As Double
此外成绩是大于0的,而且是数字 可以先用 IsNumeric 和 > 0 判断是否合法
成绩等于60 也是几个的 因此第一个If判断应为
If cj >= 60 Then
如果一定要找两处不正确,那么就是
(1) Dim cj As Double 或者 改Val(Text1.Text) 为 CInt(Text1.Text) 前者更加安全,后者遇到vbNullString 会出错
(2)If cj >= 60 Then
==========================================================
根据你的补充就是说 Form8中没有Label3 这个控件 画一个Label控件取名Label3
将String赋值给Label.Caption属性是没有错的
除非你使用的不是VB6 而是 VB.Net 则将Caption改为Text
Label3.Text = py '仅适用于VB.NET