C++练习:使用类的继承计算三角函数的值

使用类的继承计算三角函数sin(x)的值

C++练习:使用类的继承计算三角函数的值_第1张图片

#include
#include
#define pi 3.14159265358979
using namespace std;
class Trigonometric
{
protected:
	 double arc;
	 double value;
public:
	Trigonometric(int t)
	{
		value=0;
		arc=(t%360<180)?(t%360*pi/180):(t%180*pi/-180);
	}
};
class Sine:public Trigonometric
{
public:
	Sine(double d):Trigonometric(d)	{};
	double f1(double x,int n) 
	{
		for(int i=1;i<n;i++)
			x*=x;
		return x;
	}
	double f2(int n)
	{
		double N=1;
		for(;n>=1;n--)
			N*=n;
		return N;
	}
	void function()
	{
		
		double item=arc;
		int n=1,sign=1;
		value=arc;
		
		while(int(item*100000))
		{
			item=0;
			n+=2;
			sign=-sign; 
			item=f1(arc,n)/f2(n)*sign; 
			value+=item;
		} ;
	};
	void show()
		{
			cout<<"sin("<<arc<<")="<<setprecision(1)<<value<<endl;
		};
};
int main()
{
	double a;
	cout<<"请输入度数:";
	cin>>a;
	Sine sin(a);
	sin.function();
	sin.show();
	return 0;
}

你可能感兴趣的:(C++)