我编的解一元二次方程哪错了

来源:百度知道 编辑:UC知道 时间:2024/09/24 21:59:53
Private Sub Command1_Click()
Text1.Text = a
Text2.Text = b
Text3.Text = c
If Val(b ^ 2 - (4 * a * c)) < 0 Then
MsgBox "无实数根"
Else
Text4.Text = Val((-b + Sqr(b ^ 2 - 4 * a * c)) / 2)
Text5.Text = Val((-b - Sqr(b ^ 2 - 4 * a * c)) / 2)
End If
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Form_Load()
Dim a As Integer
Dim b As Integer
Dim c As Integer

End Sub

好像你可以简化,VB并不像人那么聪明
比如第5行那里
If val(…………)这里
可以简化为
If Val(b*b-4*a*c)<0 then
多一个内括号VB会不知道该如何做的
下同

你的a,b,c是怎么输入的呢?
如果是text1,text2,text3里的数据,就不是这样写了,还有,
Private Sub Form_Load()
Dim a As Integer
Dim b As Integer
Dim c As Integer

End Sub
这里的代码是没用的,正确的代码应该是这样的:

Private Sub Command1_Click()
a=val(Text1.Text)
b=val(Text2.Text)
c=val(Text3.Text)
if a<>0 then
If (b ^ 2 - (4 * a * c)) < 0 Then
MsgBox "无实数根"
Else
Text4.Text = str((-b + Sqr(b ^ 2 - 4 * a * c)) / (2*a))
Text5.Text = str((-b - Sqr(b ^ 2 - 4 * a * c)) / (2*a))
End If
endif
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer

a=val(Text1.Text) '你是将text里面的值给 abc
b=val(Text2.Text)
c=val(Text3.Text)
I