VB 程序代码基本没有问题,但是执行无效果
发布网友
发布时间:2022-04-25 17:55
我来回答
共2个回答
热心网友
时间:2023-10-22 23:37
我想编写程序,至少有两个层次的事情要做:
第1:从算法逻辑上解决问题。
分析:本问题的算法逻辑,按照数学知识,假设你文本框1输入二次项系数a,文本框2输入一次项系数b,文本框3输入常数项c。
文本框4和文本框5作为输出解。
根据数学解题的方法与步骤,不难得到程序如下:
Dim a As Single
Dim b As Single
Dim c As Single
Dim D As Single
Dim X1 As Single
Dim X2 As Single
a = Val(Text1.text)
b = Val(Text1.text)
c = Val(Text1.text)
D = b*b - 4*a*c '求得判别式
If D>0 Then '如果判别式>0,方程有两个不同的实数解
D = Sqr(D)
X1 = (-b+D)/2/a
X2 = (-b-D)/2/a
Text4.text = X1
Text5.text = X2
ElseIf D=0 Then '如果判别式=0,方程两个相同的实数解
X1 = (-b)/2/a
X2 = (-b)/2/a
Text4.text = X1
Text5.text = X2
Else '如果判别式<0,方程无实数解
Text4.text = "无实数解!"
End If
第2:在实际应用中,人免不了会犯这样那样的错误,在实际应用,往往要对输入的数据进行:
是否输入完整,输入是否合理等因素进行判断。
本例:如果不输入a或者输入的a为0,就不是二次方程。这应该是本例唯一不允许的。
另外,三个用来接收输入的文本框,必须输入数字而不能输入文字。
所以,需要在上述代码前,加上以下判断,对输入进行*检查:
If Not IsNumeric(Text1.text) Then '判断Text1是否数字,IsNumeric是VB6提供的函数
Msgbox "请正确输入数字!"
Exit Sub
end if
If Not IsNumeric(Text2.text) Then '判断Text2是否数字
Msgbox "请正确输入数字!"
Exit Sub
end if
If Not IsNumeric(Text3.text) Then '判断Text3是否数字
Msgbox "请正确输入数字!"
Exit Sub
end if
If Val(Text1.text)=0 Then '判断Text1是否为0
Msgbox "二次项系数不能为0!"
Exit Sub
end if
热心网友
时间:2023-10-22 23:37
这个程序问题太多
cls在这个程序中没有用
程序没有缩进,阅读起来实在太困难
求根公式错误,delta=0时,x=-b/2/a
大于0时,错误与3相同
小于0时,虚根表示方法错误,应该是a1 & "+" & a2 & "i"