
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
望采纳,谢谢。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)