作业帮 > 综合 > 作业

C++程序设计:求解一元二次方程

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/01 12:17:38
C++程序设计:求解一元二次方程
求解一元二次方程.
一元二次方程的定义为:
ax2+bx+c=0
(1)如果b2 -4ac>0,方程有两个不同的实根,分别是:
(2)如果b2 -4ac< 0,方程没有实根,但有虚根;
(3)如果b2 -4ac= 0,方程有一个实根.
请你编写一个程序,使其能求出多个二次方程的根.该程序要询问用户是否想继续解下一个方程.用户输入1来继续,输入其它数字,则终止程序.程序要求用户输入a,b和c,然后根据前面的条件计算,并输出答案.
要求:使用类实现,
(1)\x05a,b,c为该类的私有成员变量;
(2)\x05求根的实现为该类的成员函数,形式为:
//函数返回值:实根的个数;
//参数:x- 用以返回实根值的数组;
long CalResult(float x[]);
(3)\x05该类还包含有参构造函数、析构函数.
(4)\x05使用MFC工程实现,可酌情加分.
C++程序设计:求解一元二次方程
程序运行过了,没有问题,记得给分
#include
#include
class Equation{
\x05float a,b,c;
\x05
public:
\x05float x[2];
\x05Equation(float a1=0.0,float b1=0.0,float c1=0.0)
\x05{
\x05\x05a=a1;
\x05\x05b=b1;
\x05\x05c=c1;
\x05}
\x05~Equation(){}
\x05long CalResult();
\x05
};
long Equation::CalResult()
{
\x05long temp;
\x05if ((b*b-4*a*c)==0)
\x05{
\x05\x05temp=1;
\x05\x05x[0]=(float)(-(b/2*a));
\x05\x05return temp;
\x05}
\x05if ((b*b-4*a*c)>0)
\x05{
\x05\x05temp=2;
\x05\x05x[0]=(-b+sqrt(b*b-4*a*c))/(2*a);
x[1]=(-b-sqrt(b*b-4*a*c))/(2*a);
\x05\x05return temp;
\x05}
\x05else
\x05{
\x05\x05temp=0;
\x05}
\x05return temp;
}
int main()
{
\x05float a,b,c;
\x05char ch;
\x05do{
\x05\x05coutb>>c;
\x05\x05Equation *obj=new Equation(a,b,c);
\x05\x05cout