配色: 字号:
类_一元二次方程
2012-06-17 | 阅:  转:  |  分享 
  


#include

#include

#include

usingnamespacestd;

classCFindRoot

{

public:

voidSetData(floatx,floaty,floatz);//设置系数

voidFind();//求方程的根

voidDisplay();//输出方程的根

private:

floata,b,c,delta;//a,b,c表示方程的系数,delta表示判断根

doublex1,x2;//表示方程的根

};

voidCFindRoot::SetData(floatx,floaty,floatz)

{

a=x;

b=y;

c=z;

delta=bb-4ac;

}

voidCFindRoot::Find()

{

if(delta>0)

{

x1=(-b+sqrt(delta))/(2a);

x2=(-b-sqrt(delta))/(2a);

}

elseif(delta==0)

{

x1=x2=(-b)/(2a);

}

else

{

x1=(-b)/(2a);

x2=sqrt(-delta)/(2a);

}

}

voidCFindRoot::Display()

{

if(delta>0)

{

cout<<"方程有两个不相等的实根:\tx1="<
return;

}

elseif(delta==0)

{

cout<<"方程有两个相等的实根:\tx1=x2="<
return;

}

else

{

cout<<"方程有两个共轭复根:\tx1="<
}

}

intmain()

{

floats1,s2,s3;

cout<<"请输入三个系数:"<
cin>>s1>>s2>>s3;

CFindRootp1;

p1.SetData(s1,s2,s3);

p1.Find();

p1.Display();

getch();

return0;

}

献花(0)
+1
(本文系Honey_Dog首藏)