*主程序的调用中errors总是不为"".这是为什么呢?
*主程序的调用中errors总是不为"".这是为什么呢?
CLEAR
SET TALK OFF
INPUT "请输入一元二次方程的系数A:" TO A
INPUT "请输入一元二次方程的系数B:" TO B
INPUT "请输入一元二次方程的系数C:" TO C
DO Result WITH A, B, C
IF errors <> ""
?errors
ELSE
?"一元二次方程的根为:x1 = ", ltrim(str(x1)), " x2 = ", ltrim(str(x2))
ENDIF
SET TALK ON
RETURN
PROCEDURE Result
PARAMETER A, B, C
PUBLIC x1
PUBLIC x2
PUBLIC errors
errors = ""
x1 = 0
x2 = 0
b24ac = B^2 - 4 * A * C
IF b24ac >= 0
x1 = (-B + SQRT(B^2 - 4 * A * C))/2 * A
x2 = (-B - SQRT(B^2 - 4 * A * C))/2 * A
ELSE
errors = "B平方减4乘A乘C的值小于零,所以不能开根号!"
ENDIF
RETURN