用VB做这样一道题 一元二次方程ax2+bx+c=0 要求根据系数a b c的变化求出方程的根x1 和x2

来源:百度知道 编辑:UC知道 时间:2024/05/09 04:49:03
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
Dim c As Single
Dim z As Single
Dim x1 As Single
Dim x2 As Single
z = b ^ 2 - 4 * a * c
If z > 0 Then
z = Sqr(z)
x1 = Format((-b + z) / 2 / a, "0.00")
x2 = Format((-b - z) / 2 / a, "0.00")
Text4.Text = x1
Text5.Text = x2
ElseIf z = 0 Then
x1 = Format(-b / 2 / a, "0.00").......每次做题系统都显示这步错误.哪位大哥能告诉我错在哪里吗? 非常谢谢!
x2 = Format(-b / 2 / a, "0.00")
Text4.Text = x1
Text5.Text = x2
Else
x1 = Format((-b + z) / 2 / a, "0.00") + "+i"
x2 = Format((-b + z) / 2 / a, "0.00") + "-i"
Text4.Text = x1
Text5.Text = x2
End If
End Sub

Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""

修改程序清单:

Dim a As Single ' 定义应该在最前
Dim b As Single
Dim c As Single
Dim z As Single
Dim x1 As Single
Dim x2 As Single

Private Sub Command1_Click()
z = b ^ 2 - 4 * a * c
If z > 0 Then
z = Sqr(z)
x1 = Format((-b + z) / 2 / a, "0.00")
x2 = Format((-b - z) / 2 / a, "0.00")
Text4.Text = x1
Text5.Text = x2
ElseIf z = 0 Then
x1 = Format(-b / 2 / a, "0.00") ' 这里出错是因为定义没放在最前,使a=0,并让a做除数导致的
x2 = Format(-b / 2 / a, "0.00")
Text4.Text = x1
Text5.Text = x2
Else
x1 = Format((-b + z) / 2 / a, "0.00") 'x1也是Single,不能和"i"加一起
x2 = Format((-b + z) / 2 / a, "0.00")
Text4.Text = x1 & "+i"
Text5.Text = x2 & "-i"
End If
End Sub

Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""