前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MathUtility类实现—C++

MathUtility类实现—C++

作者头像
WindCoder
发布2018-09-20 12:02:38
4670
发布2018-09-20 12:02:38
举报
文章被收录于专栏:WindCoderWindCoder

这具体是什么类早已忘却,根据当年的注释里面有如下几个功能:

实现 float, int, double 类型的 max, min, abs 函数。

实现计算圆形面积,球体体积的函数。

实现计算矩形面积,长方体的函数。

代码语言:javascript
复制
/*
功能:实现MathUtility类
作者:windCoder
日期:2013-11-07
*/
#include <iostream>
using namespace std;
/************************************************************************

功能:实现 float, int, double 类型的 max, min, abs 函数。

************************************************************************/
class Complex
{
public:
	Complex(int aX,int aY,float iX,float iY,double rX,double rY);
	Complex();
	~Complex();
	int max(int aX,int aY);
	int min(int aX,int aY );
	int abs(int aX);
	float max(float aX,float aY);
	float min(float aX,float aY );
	float abs(float aX);
	double max(double aX,double aY);
	double min(double aX,double aY );
	double abs(double aX);
private:
	int m_aX;
	int m_aY;
	float m_iX;
	float m_iY;
	double m_rX;
	double m_rY;
};
Complex::Complex(int aX,int aY,float iX,float iY,double rX,double rY)
{
	 m_aX = aX;
	 m_aY = aY;
	 m_iX = iX;
	 m_iY = iY;
	 m_rX = rX;
	 m_rY = rY;
}
Complex::Complex()
{
	m_aX = NULL;
	m_aY = NULL;
	m_iX = NULL;
	m_iY = NULL;
	m_rX = NULL;
	m_rY = NULL;
}
Complex::~Complex()
{

}
int Complex:: max(int aX,int aY)
{
	if (aX>aY)
	{
		return aX;
	}
	return aY;
}
int Complex::min(int aX,int aY )
{
	if (aX<aY)
	{
		return aX;
	}
	return aY;
}
int Complex::abs(int aX)
{
	if (aX>0)
	{
		return aX;
	}
	return -aX;
}
float Complex::max(float aX,float aY)
{
	if (aX>aY)
	{
		return aX;
	}
	return aY;
}
float Complex::min(float aX,float aY )
{
	if (aX<aY)
	{
		return aX;
	}
	return aY;
}
float Complex::abs(float aX)
{
	if (aX>0)
	{
		return aX;
	}
	return -aX;
}
double Complex::max(double aX,double aY)
{
	if (aX>aY)
	{
		return aX;
	}
	return aY;
}
double Complex::min(double aX,double aY )
{
	if (aX<aY)
	{
		return aX;
	}
	return aY;
}
double Complex::abs(double aX)
{
	if (aX>0)
	{
		return aX;
	}
	return -aX;
}
/*---------------------------------------------------------*/
/************************************************************************

功能:实现计算圆形面积,球体体积的函数。

************************************************************************/
class BallAndCircle
{
public:
    BallAndCircle();
    ~BallAndCircle();
    double getBallVolume(double iR);
    double getCircleArea(double iR);

private:
	double m_iR;
	const double PI;
};
BallAndCircle::BallAndCircle():PI(3.14)
{
   m_iR = 0;
}
BallAndCircle::~BallAndCircle(){};
double BallAndCircle::getBallVolume(double iR)
{
	double result;
	m_iR = iR;
	result = (4*m_iR * m_iR * m_iR *PI)/3;
	return result;


}
double BallAndCircle::getCircleArea(double iR)
{
	double result;
	m_iR = iR;
	result = m_iR * m_iR *PI;
	return result;
}
/*----------------------------------------------------------*/
/************************************************************************

功能:实现计算矩形面积,长方体的函数。

************************************************************************/
class RectangularAndCuboid
{
public:
	RectangularAndCuboid();
	~RectangularAndCuboid();
	double getRectangularArea(double iLong,double iWidth);
	double getCuboidVolume(double iLong,double iWidth,double iHigh);

private:
	double m_iLong;
	double m_iWidth;
	double m_iHigh;

};
RectangularAndCuboid::RectangularAndCuboid()
{
	m_iLong = NULL;
	m_iWidth = NULL;
	m_iHigh = NULL;
}
RectangularAndCuboid::~RectangularAndCuboid(){};
double RectangularAndCuboid::getRectangularArea(double iLong,double iWidth)
{
	 double result;
	 m_iLong = iLong;
	 m_iWidth = iWidth;
	 result = m_iLong * m_iWidth;
	 return result;
}
double RectangularAndCuboid::getCuboidVolume(double iLong,double iWidth,double iHigh)
{
	double result;
	m_iLong = iLong;
	m_iWidth = iWidth;
	m_iHigh =iHigh;
	result = m_iLong * m_iWidth * m_iHigh;
	return result;
}
/*----------------------------------------------------------*/
/************************************************************************

功能:主函数

************************************************************************/
int main(void)
{

   Complex one;
   BallAndCircle ball;
   RectangularAndCuboid Rect,Cuboid;
   double x,y,z=0;
   //1 )实现 float, int, double 类型的 max, min, abs 函数。
   cout<<"请输入两个实数:";
   cin>>x>>y;
   cout<<"两个数中大者为:"<<one.max(x,y)<<" "<<"小者为:"<<one.min(x,y)<<endl;
   cout<<x<<"的绝对值是:"<<one.abs(x)<<endl;
   cout<<y<<"的绝对值是:"<<one.abs(y)<<endl;

   // 2 )实现计算圆形面积,球体体积的函数。
   cout<<"请输入圆的半径:";
   cin>>x;
   cout<<"半径为"<<x<<"的圆的面积为:"<<ball.getCircleArea(x)<<endl;
   cout<<"半径为"<<x<<"的球的体积为:"<<ball.getBallVolume(x)<<endl;
   // 3 )实现计算矩形面积,长方体的函数。
   cout<<"请输入长方形的长和宽:";
   cin>>x>>y;
   cout<<"长方形的面积为:"<<Rect.getRectangularArea(x,y)<<endl;
   cout<<"请输入长方体的长、宽、高::";
   cin>>x>>y>>z;
   cout<<"长方体的体积为:"<<Cuboid.getCuboidVolume(x,y,z)<<endl;

	system("pause");
	return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档