VB会考改错的一道题,请高人指点

2025-02-26 20:22:39
推荐回答(4个)
回答1:

dim cj as double '成绩应该是浮点数,否则,当输入59.5时,虽然低于60,仍会被当作60分去处理。
if cj>=60 then '不低于60,当包含60分在内。

回答2:

If cj>=60 Then

可能是label3控件不存在,换成Form8上有的Label名称吧。

回答3:

漏掉了等于60的情况吧.

回答4:

考试和实际不是一回事,考试考的是理论,是死的

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