VB属性设置及程序改错题

VB属性设置及程序改错题,第1张

Private Sub Command1_Click()

Const pi = 3.14

If Val(Text1.Text) <>0 Then'这里应该判断不为0时再执行下面语句,最好用Val(Text1.Text) <>0

r = Text1.Text

If r = Val(Text1.Text) Then

s = pi * r * r

Label3.Caption = s

Else

MsgBox "输入的不是数据,请重新输入!"

Text1.SetFocus

End If

End If

End SubPrivate Sub Command2_Click()

End'这个过程只有一个语句,所以用脚丫想都知道一定是这句错。程序结束语句是end,没有exit,Exit sub是退出子过程用的。

End Sub

代码不长,但是错误有好几个,有的隐藏的很深,也是很容易犯的错误,我把我发现的几个给你指出来 吧(不保证完全找出来了,要下班没时间了),具体改你自己写下

num(1) = Int(Rnd * 90) + 10语句之前应该加上randomize()

For i = 1 To k

           If gcd(num(i), n) <>1 Then flag = False

       Next i

这个循环要执行完以后才会执行下面的if flag then,但是你之前只给了num(1),num(2)到

num(k)没有给值

你的k不是全局变量,最开始只给了k=1,因此For i = 1 To k

           If gcd(num(i), n) <>1 Then flag = False

       Next i

实际只执行一次,下面对k的改变没有对上面起作用

do loop中k最大到9,但是如果 执行完了flag还是true,则k=k+1之后k变为10,num(k)会越界,因为定义的时候数组长度为10,最大只有num(9)

第一点:

第二行代码错误,文本框没有Caption属性,应改为:a=val(text1.text)

第二点:

第五行代码格式错误,elseif

应该连写,else与if之间不能存在空格;

第三点:

最后一行语义出错,当前代码显示结果为label1显示py两个字母,编程希望显示的是“正数”“负数”“零”,所以代码应改为label1.caption=py

'

希望输出变量则不应添加双引号“”。

完整代码为:

Dim

a

As

Integer,

py

As

String

a

=

val(Text1.Text)

If

a

>

0

Then

py="正数"

ElseIf

a

<

0

Then

py="负数"

Else

py=“零”

End

if

Label1.Caption=py

望采纳,谢谢。


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

原文地址:https://54852.com/yw/11101515.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存