懂VB的高手指教一下,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:26:59
Private Sub Command1_Click()
Dim a, b, c, d As Single
a = Ta.Text
b = Tb.Text
c = Tc.Text
d = b ^ 2 - 4 * a * c
If d < 0 Then
MsgBox "请你重新", vbExclamation
Else
If d = 0 Then
T1.Text = (-b + Sqr(d)) / (2 * a)
T2.Text = (-b - Sqr(d)) / (2 * a)
MsgBox "一个解"
Else
T1.Text = (-b + Sqr(d)) / (2 * a)
T2.Text = (-b - Sqr(d)) / (2 * a)

End If
End If

End Sub

Private Sub Command2_Click()
Ta.Text = ""
Tb.Text = ""
Tc.Text = ""
T1.Text = ""
T2.Text = ""
End Sub
请问这个求一元二次方程根的程序有什么不对的地方,谢谢

逻辑没错误
Dim a, b, c, d As Single 把这句去掉看看

a = Ta.Text
b = Tb.Text
c = Tc.Text
.text为文本类型 你必须把它转化为数值型
可以改成这样
a = val(Ta.Text)
b = val(Tb.Text)
c = val(Tc.Text)

(-b + Sqr(d)) / (2 * a)中
(-b + Sqr(d))和(2 * a)应该为整型
(-b - Sqr(d)) / (2 * a) 也是如此。