第十三次作业

 

目录

1. 定义一个椭圆类,包括长轴和短轴半径变量,构造函数,显示长轴和短轴半径的函数,计算面积的函数,以及析构函数;定义主函数,包括两个椭圆对象(值由键盘输入),显示它们的长轴和短轴半径,计算并显示它们的面积。

2. 定义一个三角形类,包括三个边长变量,构造函数,判断是否构成三角形的函数,计算面积的函数,以及析构函数;定义主函数,包括两个三角形对象(值由键盘输入),判断并显示它们是否构成三角形,计算并显示它们的面积。

3. 定义一个一元二次多项式类,包括三个系数变量,构造函数, 求其两个根的函数,计算两个多项式之和的函数,以及析构函数;定义主函数,包括三个一元二次多项式对象(值由键盘输入),求它们的两个根并显示,并将前两个多项式求和赋给第三个多项式,然后再次求第三个多项式的两个根并显示。


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:

海伦公式:

s=\sqrt{p(p-a)(p-b)(p-c)}

其中其中其中:

p=\frac{1}{2}(a+b+c)

#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;
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值