- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
江苏科技大学
课程实践报告
设计题目:程序设计(VC++)实践
设计时间:至
学院:
专业班级:
学生姓名:学号
指导老师:
1.试成立一个类PP,求出下列多项式的前n项的值。
详细要求如下:
(1)私有数据成员
intn:前若干项的项数。
doublex:寄存x的值。
double*p:根据n的大小动向申请寄存
Pn(x)
前n项的数组空间。
(2)公有成员函数
PP(intnum,doublex1)
:结构函数,初始化数据成员
n和
x,使
p指向动向申请的数
组空间。
~PP():析构函数,释放p指向的动向内存空间。
doublefun(intn1,doublex):递归函数,用于求多项式的第n1项。注意:将递归
公式中的n用作函数参数。本函数供process函数调用。
voidprocess( ):达成求前n项的工作,并将它们寄存到p指向的动向数组中。
voidshow( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。
(3)在主函数中达成对该类的测试。先输入num和x1,并定义一个PP类的对象items,
用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num
项的值。
程序源代码
#include
classpp{
intn;
doublex;
double*p;
public:
pp(intnum,doublex1);
~pp( );
doublefun(intn1,doublex);
voidprocess( );
voidshow( );
};
pp::pp(intnum,doublex1)
{
n=num;
x=x1;
p=newdouble[num+1];
}
pp::~pp( )
{
delete[]p;
}
doublepp::fun(intn1,doublex)
{
if(n1==0)return1;
if(n1==1)returnx;
if(n11)return((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1;
}
voidpp::process( )
{
inti;
for(i=0;i=n;i++)
{
*(p+i)=fun(i,x);
}
}
voidpp::show( )
{
coutn=n\tx=xendl;
for(inti=0,m=1;in;i++,m++)
{
cout*(p+i)\t;
if(m%4==0)cout\n;
}
}
voidmain( )
{
intnum;
doublex1;
coutputinnumandx1endl;
cinnumx1;
items(num,x1);
( );
( );
}
运行结果
2.试成立一个类
SP,求
,还有协助函数
power(m,n)
用于求。
详细要求如下:
(1)私有成员数据。
intn,k:寄存公式中
n和
k的值;
(2)公有成员函数。
SP(intn1,intk1)
intpower(intm,intn)
:结构函数,初始化成员数据
:求mn。
n和
k。
intfun( )
voidshow( )
:求公式的累加和。
:输出求得的结果。
3)在主程序中定义对象s,对该类进行测试。程序源代码
#include
classSP{
intn,k;
public:
SP(intn1,intk1);
intpower(intm,intn);
intfun( );
voidshow( );
};
SP::SP(intn1,intk1)
{
n=n1;
k=k1;
}
intSP::power(intm,intn)
{
inti;
if(n==0)return1;
else
for(i=1;in;i++)
m*=m;
returnm;
}
intSP::fun( )
{
inty=0,x;
for(x=1;x=n;x++)
y+=power(x,k);
returny;
}
voidSP::show( )
{
cout前n项的和为:fun( )endl;
}
voidmain( )
{
intn1,k1;
cout输入n1和k1的值endl;
cinn1k1;
SPs(n1,k1);
( );
( );
}
运行结果:
3.成立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。
详细要求如下:
(1)私有数据成员
floatarray[20]:一维整型数组。
intn:数组中元素的个数。
(2)公有成员函数
MOVE(floatb[],intm):结构函数,初始化成员数据。
voidaverage( ):输出平均值,并将数组中
原创力文档


文档评论(0)