jifen.cpp

来自「这是个数据结构课程设计!功能强大。不信你下载下来看一看!」· C++ 代码 · 共 53 行

CPP
53
字号
#include<iostream.h>
#include<math.h>
class Simpson
{
	double Intevalue,a,b,n;
public:
	virtual double fun(double x)=0;
	Simpson(double ra=0,double rb=0,double rn=100)
	{
		a=ra,b=rb;
		Intevalue=0;
		n=rn;
	}
	void Integrate()
	{
		double dx;int i;
		dx=(b-a)/n;
		Intevalue=fun(a)+fun(b);
		for(i=1;i<n;i+=2)
			Intevalue+=4*fun(a+dx*i);
		for(i=2;i<n;i+=2)
			Intevalue+=2*fun(a+dx*i);
		Intevalue*=dx/3;
	}
	void print()
	{
		cout<<"积分值="<<Intevalue<<endl;
	}
};
class A:public Simpson
{
public:
	A(double ra,double rb,int rn):Simpson(ra,rb,rn){}
		double fun(double x){return sin(x);}
};
class B:public Simpson
{
public:
	B(double ra,double rb,int rn):Simpson(ra,rb,rn){}
		double fun(double x){return exp(x);}
};
void jifen()
{
	cout<<"m为上限,n为下限,q为积分区间等分份数!"<<endl;
	cout<<"输入相应的m、n、q的值:";
	int m,n,q;
	cin>>m>>n>>q;
	A a1(m,n,q);
	Simpson *s=&a1;
	s->Integrate();
	s->print();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?