C++練習:使用類的繼承計算三角函數的值

使用類的繼承計算三角函數sin(x)的值

在這裏插入圖片描述

#include<iostream>
#include<iomanip>
#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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章