用c++设置一个一元二次方程类,数据成员有系数a,b,c和根root,成员函数有构造函数,析构函数,求根,显示。

求代码
2024-12-03 08:58:25
推荐回答(1个)
回答1:

#include
using namespace std;
#include
#include
class rr
{
private:
double a,b,c,root1,root2;
int n;
public:
rr(){a=b=c=root1=root2=0;n=-5;}
~rr(){}
void set(double aa,double bb,double cc){a=aa;b=bb;c=cc;}
void sett();
void show();
};
void rr::show()
{
if(n==1)
printf("root2=%.4f root2=%.4f\n",root1,root2);
else if(n==0)
printf("root1=root2=%.4f\n",root1);
else if(n==-1)printf("此方程无解!\n");

}
void rr::sett()
{
double d=b*b-4*a*c;
if(d>0)
{
root1=(-b+sqrt(d))/(2*a);
root2=(-b-sqrt(d))/(2*a);
n=1;
}
else if(d==0)
{
root1=root2=(-b)/(2*a);
n=0;
}
else n=-1;
}
int main()
{
double x,y,z;
rr a;
cout<<" 请输入你要求解的方程的系数;"<cin>>x>>y>>z;
a.set(x,y,z);
a.sett();
a.show();
return 0;
}
希望对你有帮助