目录
1. 定义一个椭圆类,包括长轴和短轴半径变量,构造函数,显示长轴和短轴半径的函数,计算面积的函数,以及析构函数;定义主函数,包括两个椭圆对象(值由键盘输入),显示它们的长轴和短轴半径,计算并显示它们的面积。
#include<iostream>
#include<cmath>
using namespace std;
//定义一个椭圆类,包括长轴和短轴半径变量,构造函数,显示长轴和短轴半径的函数,计算面积的函数,以及析构函数;
class tuoyuan
{
private:
int a;
int b;
public:
void set(int,int);
int get_a(){return a;};
int get_b(){return b;};
void show(){
cout<<"短轴半径是:"<<a<<endl;
cout<<"长轴半径是:"<<b<<endl;
}
double mianji(){
return M_PI*a*b;
}
~tuoyuan(){
cout<<"destory";
}
};//不要忘记这里的;
void tuoyuan::set(int x,int y)
{
a=x;
b=y;
}
int main()
{
tuoyuan o1;
int x;
int y;
cout<<"请输入短轴:"<<endl;
cin>>x;
cout<<"请输入长轴:"<<endl;
cin>>y;
o1.set(x,y);
o1.show();
cout<<endl<<o1.mianji()<<endl;
return 0;
}
2. 定义一个三角形类,包括三个边长变量,构造函数,判断是否构成三角形的函数,计算面积的函数,以及析构函数;定义主函数,包括两个三角形对象(值由键盘输入),判断并显示它们是否构成三角形,计算并显示它们的面积。
附加知识:
已知三角形的三条边长a,b,c,求面积s:
海伦公式:
其中:
#include<iostream>
#include<cmath>
using namespace std;
//2.定义一个三角形类,包括三个边长变量,构造函数,判断是否构成三角形的函数,计算面积的函数,以及析构函数;
//定义主函数,包括两个三角形对象(值由键盘输入),判断并显示它们是否构成三角形,计算并显示它们的面积。
//用海伦公式进行计算面积
class triangle
{
private:
int a;
int b;
int c;
public:
void set(int,int,int);//
bool istriangle();
double area();
~triangle(){
cout<<endl<<"destroy"<<endl;
};
};
void triangle::set(int x,int y,int z)
{
a=x;
b=y;
c=z;
}
bool triangle::istriangle()
{
bool is =false;
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
is=true;
return is;
}
else
{
return is;
}
}
double triangle::area()
{
int s=(a+b+c)/2;
int mianji=sqrt(s*(s-a)*(s-b)*(s-c));
return mianji;
}
int main()
{
triangle sanjiao1;
int x,y,z;
cout<<"请输入三角形三边长:"<<endl;
cin>>x>>y>>z;
sanjiao1.set(x,y,z);
if(sanjiao1.istriangle())
{
cout<<"面积是"<<sanjiao1.area()<<endl;
}
else
{
cout<<"输入的数字不构成三角形";
}
return 0;
}
3. 定义一个一元二次多项式类,包括三个系数变量,构造函数, 求其两个根的函数,计算两个多项式之和的函数,以及析构函数;定义主函数,包括三个一元二次多项式对象(值由键盘输入),求它们的两个根并显示,并将前两个多项式求和赋给第三个多项式,然后再次求第三个多项式的两个根并显示。
#include<iostream>
#include<cmath>
using namespace std;
//3.定义一个一元二次多项式类,包括三个系数变量,构造函数,
//求其两个根的函数,计算两个多项式之和的函数,以及析构函数;
//定义主函数,包括三个一元二次多项式对象(值由键盘输入),求它们的两个根并显示,并将前两个多项式求和赋给第三个多项式,
//然后再次求第三个多项式的两个根并显示。
class polynomial
{
private:
double a;
double b;
double c;
public:
//set
void set(double x,double y,double z)
{
a=x;
b=y;
c=z;
}
//求其两个根的函数
void root()
{
double derta=b*b-4*a*c;
if(derta<0)
{
cout<<"无根";
}
else if(derta==0)
{
double x=-b/2/a;
cout<<"有唯一根"<<x<<endl;
}
else if(derta>a)
{
double x1=(-b+sqrt(derta))/2/a;
double x2=(-b-sqrt(derta))/2/a;
cout<<"有两个根"<<endl;
cout<<"x1:"<<x1<<endl;
cout<<"x2:"<<x2<<endl;
}
}
//计算两个多项式之和的函数;类似分数类的定义
polynomial add(polynomial u)
{
polynomial v;
v.a=u.a+a;
v.b=u.b+b;
v.c=u.c+c;
return v;
}
//析构函数;
~polynomial(){
};
};
int main()
{
polynomial y1,y2,y3;
cout<<"请输入第一个二元一次函数系数:"<<endl;
double a1,b1,c1;
cin>>a1>>b1>>c1;
y1.set(a1,b1,c1);
cout<<"请输入第二个二元一次函数系数:"<<endl;
double a2,b2,c2;
cin>>a2>>b2>>c2;
y2.set(a2,b2,c2);
y1.root();
y2.root();
y3=y1.add(y2);
y3.root();
return 0;
}