1 / 53
文档名称:

vc 课程实践正确答案 (1).doc

格式:doc   大小:32KB   页数:53页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

vc 课程实践正确答案 (1).doc

上传人:wz_198614 2017/7/11 文件大小:32 KB

下载得到文件列表

vc 课程实践正确答案 (1).doc

文档介绍

文档介绍:VC 课程实践正确答案(1)
江苏科技大学
课程实践报告
设计题目: 程序设计(VC++)实践设计时间: 至学院: 专业班级: 学生姓名: 学号指导老师:
,求出下列多项式的前n项的值。
具体要求如下:
(1)私有数据成员
? int n:前若干项的项数。
? double x:存放x的值。
? double *p:根据n的大小动态申请存放Pn(x) 前n项的数组空间。
(2)公有成员函数
? PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。
? ~PP():析构函数,释放p指向的动态内存空间。
? double fun(int n1,double x):递归函数,用于求多项式的第n1项。注意:将递归公式中的n用作函数参数。本函数供process函数调用。
? void process( ):完成求前n项的工作,并将它们存放到p指向的动态数组中。? void show( ):输出n和x,并将前n项以每行4个数的形式
输出到屏幕上。
(3) 在主函数中完成对该类的测试。先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num项的值。
程序源代码
#include<>
class pp{
int n;
double x;
double *p;
public:
pp(int num,double x1);
~pp();
double fun(int n1,double x);
void process();
void show();
};
pp::pp(int num,double x1)
{
n=num;
x=x1;
p=new double[num+1];
}
pp::~pp()
{
delete []p;
}
double pp::fun(int n1,double x)
{
if(n1==0)return 1;
if(n1==1)return x;
if(n1>1)return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1; }
void pp::process()
{
int i;
for(i=0;i<=n;i++)
{
*(p+i)=fun(i,x);
}
}
void pp::show()
{
cout<<"n="<<n<<'\t'<<"x="<<x<<endl;
for(int i=0,m=1;i<n;i++,m++)
{
cout<<*(p+i)<<'\t';
if(m%4==0)cout<<'\n';
}
}
void main()
{
int num;
double x1;
cout<<"put in num and x1"<<endl;
cin>>num>>x1;
pp items(num,x1);
();
();
}
运行结果
,求,另有辅助函数power(m,n)用于求。具体要求如下:
(1)私有成员数据。
? int n,k:存放公式中n和k的值;
(2)公有成员函数。
? SP(int n1,int k1):构造函数,初始化成员数据n和k。? int power(int m, int n):求mn。
? int fun( ):求公式的累加和。
? void show( ):输出求得的结果。
(3)在主程序中定义对象s,对该类进行测试。
程序源代码
#include<>
class SP{
int n,k;
public:
SP(int n1,int k1);
int power(int m,int n);
int fun();
void show();
};
SP::SP(int n1,int k1)
{
n=n1;
k=k1;
}
int SP::power(int