c++程序设计实践报告.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《c++程序设计实践报告.doc》由会员分享,可在线阅读,更多相关《c++程序设计实践报告.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、江苏科技大学课程实践报告设计题目: 程序设计(VC+)实践 设计时间 2014-3-1 至 2014-4-1 学院(系): 船舶与海洋工程 专业班级: 船海一班 学生姓名: 程尉 学号 指导老师: 张晓如 实践任务一(第1题)一、程序设计基本题试建立一个类PP,求出下列多项式的前n项的值。1 n=0Pn(x) = x n=1 (2n-1)xPn-1(x)-(n-1)P n-2 (x) n1具体要求如下:(1) 私有数据成员l int n:前若干项的项数。l double x:存放x的值。l double *p:根据n的大小动态申请存放Pn(x)前n项的数组空间。(2) 共有成员函数l PP(i
2、nt num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数据空间。l PP( ):析构函数,释放p指向的动态内存空间。l double fun(int n1,double x):递归函数,用于求多项式Pn(x)的第n1项。注意:将递归公式中的n用作函数参数。本函数供process函数调用。l void process( ):完成求前n项的工作,并将它们存放发到p指向的动态数组中。l void show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。(3) 在主函数中完成对该类的测试。先输入num和x1,并定义一个PP类的对象items,用num和x1
3、初始化items的成员n和x,调用items的成员函数,并输出多项式前num项的值。二、系统设计1、概要设计 通过类PP的成员函数process( )来求多项式Pn(x)的前n项的值,其中用fun( )函数来求第n项的值,根据n的大小来给数据成员p分配动态空间,程序结束前释放为items分配的动态空间。2、详细设计类的定义如下:class PPint n;double x;double *p;public:PP(int num,double x1)void process( )void show( );类的主要成员函数的设计double fun(int n1,double x) /设计函数来求
4、Pn(x)if(n1=0) return 1;else if(n1=1)return x; return (2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x)/n1;三、系统测试用以测试的数据为:3 4预期的输出结果为:n=3 x=41 4 23.5 154四、实践小结这道题主要是把题目看懂,其实只是一些简单的函数定义而已。五、参考文献1潘克勤,华伟,Visual C+程序设计 北京:中国铁道出版社 2008六、源程序清单#include class PPint n;double x;double *p;public:PP(int num,double x1)n=
5、num;x=x1;p=new doublen+1;PP()if(p)deletep;double fun(int n1,double x)if(n1=0)return 1;else if(n1=1)return x; return (2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x)/n1;void process()for(int i=0;in+1;i+)pi=fun(i,x);void show()coutn=ntx=xn;for(int i=0;in+1;i+)coutpit;if(i+1)%4=0)coutnumx1;PP items(num,x1);it
6、ems.fun(num,x1);items.process();items.show();实践任务二(第2题)一、程序设计基本题试建立一个类SP,求f(n,k)=1k +2k+3k+nk ,另有辅助函数power(m,n)用于求mn 。 具体要求如下: (1)私有成员函数。l int n,k:存放公式中n和k的值; (2)公有成员函数。l SP(int n1,int k1):构造函数,初始化成员数据n和k。l int power(int m,int n):求mn 。l int fun( ):求公式的累加和。l void show( ):输出求得的结果。 (3)在主程序中定义对象s,对该类进行测
7、试。二、系统设计1、概要设计通过类SP的成员函数power()求出m的n次方的值,再通过成员函数fun( )调用power( )函数求出f(n,k)的值。2、详细设计类的定义如下:class SP int n,k;public: SP(int n1,int k1) int power(int m,int n) int fun ( ) void show( );类的主要成员函数的设计int power(int m,int n)int p=1; /用for循环语句来实现求mn的值for(int i=1;in+1;i+)p=p*m;return p;int fun(int n,int k)s=0;
8、/用for循环语句来实现公式的累加和for(int j=1;j=n;j+)s+=power(j,k);return s;三、系统测试用以测试的数据为:2 3预期的输出结果为:9四、实践小结这道题值得注意的是在成员函数fun( )中调用了函数power( ),还有对for循环语句的熟练运用。五、参考文献 1张晓如,王芳,Visual C+程序设计解析与实训 北京:中国铁道出版社 2008六、源程序清单#includeclass SPint n,k,s;public:SP(int n1,int k1)n=n1;k=k1;int power(int m,int n)int p=1;for(int i
9、=1;in+1;i+)p=p*m;return p;int fun(int n,int k)s=0;for(int j=1;j=n;j+)s+=power(j,k);return s;void show()cout和为snk;SP s(n,k);s.power(n,k);s.fun(n,k);s.show();实践任务三(第3题)一、 程序设计基本题建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。 具体要求如下: (1)私有成员函数l int *array:一维整型数组。l int n:数组中元素的个数。 (2)公有成员函数l MOVE(int b ,int m):构造函数,初始化
10、成员数据。l void exchange():输出平均值,并将数组中的元素按要求重新放置。l void print():输出一维数组。l MOVE:析构函数。 (3)在主程序中用数据21,65,43,87,12,84,44,97,32,55对 该类进行测试。二、系统设计1、概要设计根据数组中元素的个数开辟一个动态数组空间array,通过类MOVE的成员函数exchange()输出一维数组的平均值,并把数组中最大元素和最小元素的位置相互交换,并把新的数组放在开辟的动态数组空间中。程序结束前释放为array分配的动态空间。2、详细设计类的定义如下:class MOVEint *array;int
11、n;public:MOVE(int b ,int m)void exchange( )void print( )MOVE( );类的主要成员函数的设计void exchange()float p,s=0;for(int i=0;in;i+)s+=arrayi;p=s/n; /求数组中所有元素之和的平均值 int a,b,min=array0,max=array0;cout平均值:pn;for(i=0;in;i+) if(maxarrayi) max=arrayi; a=i; /求所有元素中的最大值for(i=0;iarrayi)min=arrayi; b=i; /求所有元素中的最小值 arra
12、ya=min; arrayb=max;三、系统测试用以测试的数据为:21 65 43 87 12 84 44 97 32 55预期的输出结果为:平均值:5421 65 43 87 97 84 44 12 32 55四、实践小结这道题主要是求数组中所有元素的平均值以及元素中的最大值和最小值,同时还要注意析构函数的运用。五、参考文献1潘克勤,华伟,Visual C+程序设计 北京:中国铁道出版社 2008六、源程序清单#includeclass MOVEint *array;int n;public:MOVE(int b,int m)n=m;array=new intn;for(int i=0;i
13、n;i+)arrayi=bi;void exchange()float p,s=0;for(int i=0;in;i+)s+=arrayi;p=s/n; int a,b,min=array0,max=array0;cout平均值:pn;for(i=0;in;i+) if(maxarrayi) max=arrayi; a=i; for(i=0;iarrayi)min=arrayi; b=i; arraya=min; arrayb=max;void print()for(int i=0;in;i+)coutarrayit;coutn;MOVE()if(array)deletearray;void
14、main()int s=21,65,43,87,12,84,44,97,32,55;MOVE move(s,10);move.exchange();move.print();实践任务四(第6题)一、 程序设计基本题 定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文 字符串,是指该字符串左右对称。例如字符串“”是回文字符串。 具体要求如下: (1)私有成员函数l char*str;l int y:标记是否为回文字符串。 (2)公有成员函数l String(char*s):构造函数,用给定的参数s初始化数据成员str。 Y初始化为0。l void huiwen():判断st
15、r所指向的字符串是否为回文字符串。l void show():在屏幕上显示字符串。 (3)在主程序中定义字符串char s=“ababcedbaba”作为原始字符串。定 义一个String类对象test,用s初始化test,完成对该类的测试。二、系统设计1、概要设计通过回文函数来进行判断,然后将函数判断结果进行输出。2、详细设计类的定义如下:class Stringchar *str;int b;public:String(char *s)void huiwen( )void show( )String( );类的主要成员函数的设计void huiwen()char *p1=str,*p2=s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序设计 实践 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内