切换到宽版
  • 7232阅读
  • 21回复

[VB]运行到这里卡了,谁帮忙顺一下? [复制链接]

上一主题 下一主题
离线Carneades
 

只看楼主 正序阅读 楼主  发表于: 2009-03-08
我想编辑一个可以解出复数根的一元二次方程计算器,结果老是卡在红字这里。
麻烦大家帮我看下究竟该怎么改,谢谢!
Private Sub CmdSolve_Click()
Dim a As Single: a = Val(Text1.Text)
Dim b As Single: b = Val(Text2.Text)
Dim c As Single: c = Val(Text3.Text)
Dim p As Single: p = b ^ 2 - 4 * a * c
Dim x1 As Single, X2 As Single, e As Single, f As Single
If a = 0 Then
Text4.Text = "无解"
Text5.Text = "无解"
Else: If p >= 0 Then x1 = (-b + Sqr(p)) / (2 * a): X2 = (-b - Sqr(p)) / (2 * a): Text4.Text = x1: Text5.Text = X2
Else: e = -b / (2 * a): f = (Sqr(-p)) / (2 * a): Text4.Text = Str(e) & "+" & Str(f) & "i": Text5.Text = Str(e) & "+" & Str(f) & "i"
End If
End If
End Sub
我们耕种,我们建筑,学习创造干劲足!
Laßt uns pflügen, laßt uns bauen, lernt und schafft wie nie zuvor!
离线苯甲酰氯
只看该作者 21楼 发表于: 2009-04-04
为什么下载下来用不了?!
离线

只看该作者 20楼 发表于: 2009-03-15
15# topbluecat


那啥,直接写显存不更好玩吗
实现抖动灰度
离线

只看该作者 19楼 发表于: 2009-03-15
VB中认goto某某行 才从QB转VB的时候常用 代码结构会很乱....
山寨实验室 发表于 8-3-2009 19:26

Never use Goto
Goto用,也是用标签,千万别行号,会乱套的
行号是给文曲星和ROMBASIC用的
离线Lucifer

只看该作者 18楼 发表于: 2009-03-14
Qbasic是不需要用run的。按F5么。
Attached Images


只看该作者 17楼 发表于: 2009-03-14
文曲星上的N多游戏经典 后来出了LAVA(GVMaker) GVB就没落了..
Attached Images

哦 马上放假鸟~~实验的季节 ^ ^
离线93°

只看该作者 16楼 发表于: 2009-03-14
想起以前玩Qbasic 。。 打个run然后回车,很经典= =
Intel Xeon 5405  
Microsoft Windows 7 Ultimate 64Bit
Microsoft Windows Vista Ultimate 64Bit
Microsoft Windows Server 2003
Microsoft Windows XP Pro
nVIDIA GeForce 9600 + 1GB DDR2 800Mhz x4
离线Carneades

只看该作者 15楼 发表于: 2009-03-14
我现在也不喜欢行号,还是书签式的比较好。
我初中也在文曲星的GVBasic上编程,也是一些一元二次方程计算器、二元一次方程计算器之类的简单程序,当时很受同学们欢迎。现在想起来觉得很弱智……
我们耕种,我们建筑,学习创造干劲足!
Laßt uns pflügen, laßt uns bauen, lernt und schafft wie nie zuvor!
离线topbluecat

只看该作者 14楼 发表于: 2009-03-13
话说以前在同学的文曲星(支持Basic)上写了个病毒,不断写文件.......
Being a Linuxer.....
离线Lucifer

只看该作者 13楼 发表于: 2009-03-13
11# Carneades

我不觉得是对QB的封装。毕竟有很多东西都不一样了。

行号好像是自己加的。不会错位。也可以这样:goto 100
label1:
end
labelit:
msgbox \"Hello,world!\"
goto label1
100:
goto labelit即可以用以字母表示的Label完成行号的功能。
老用行号是不好的。比如:10 i = 0
20 i = i + 1
30 PRINT i; \" squared = \"; i * i
40 IF i >= 10 THEN GOTO 60
50 GOTO 20
60 PRINT \"Program Completed.\"
70 END
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个