文号
t13216
阅读
10549
回复
15
收藏
7
[VB]运行到这里卡了,麻烦大家指点
2009/03/08
IP:江苏
我想编辑一个可以解出复数根的一元二次方程计算器,结果老是卡在第二个else这里。
麻烦大家帮我看下究竟该怎么改,谢谢!
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
carneades作者
17年10个月前IP:未同步
80265
6楼
改了,还是不行啊。 hx.jpg
引用
评论
carneades作者
17年10个月前IP:未同步
80272
9楼
搞好了,非常感谢楼上诸位!
我一开始多那么长个尾巴真累最……

请问为什么这里
Text4.Text = x1
Text5.Text = x2
不要Str(x1),而这里
Text4.Text = Str(e) & "+" & Str(f) & "i"
Text5.Text = Str(e) & "-" & Str(f) & "i"
需要Str? hx.jpg
引用
评论
carneades作者
17年10个月前IP:未同步
80312
12楼
总算捣鼓好了。
我以后又很大可能学C语言。现在先保持Str光荣传统。
attachment icon 一元二次方程计算器2.rar 5.37KB RAR 26次下载
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的