最新C++实践报告-1340502117.docx
《最新C++实践报告-1340502117.docx》由会员分享,可在线阅读,更多相关《最新C++实践报告-1340502117.docx(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+实践报告-1340502117C+实践报告-1340502117江苏科技大学 课程实践报告设计题目: 程序设计(VC+)实践 设计时间: 2015.3.9 至 2015.3.16 学 院: 数理学院 专业班级: 应用物理学1班 学生姓名: 吕利兵 学号 1340502117 指导老师: 华 伟 一实践任务任务一:1试建立一个类PP,求出下列多项式的前n项的值。 具
2、体要求如下:(1)私有数据成员lint n:前若干项的项数。ldouble x:存放x的值。ldouble *p:根据n的大小动态申请存放Pn(x) 前n项的数组空间。(2)公有成员函数lPP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。lPP():析构函数,释放p指向的动态内存空间。ldouble fun(int n1,double x):递归函数,用于求多项式 的第n1项。注意:将递归公式中的n用作函数参数。本函数供process函数调用。lvoid process( ):完成求前n项的工作,并将它们存放到p指向的动态数组中。lvoid
3、 show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。(3) 在主函数中完成对该类的测试。先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num项的值。任务二:4建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。具体要求如下:(1)私有数据成员lint *array:一维整型数组。lint n:数组中元素的个数。(2)公有成员函数lMOVE(int b,int m):构造函数,初始化成员数据。lvoid exchange():输出平均值,并将数组中的元素按要求重新放置。lv
4、oid print():输出一维数组。lMOVE():析构函数。(3)在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。任务三:5定义一个类Palindrome,实现绝对回文数。设计一个算法实现对任意整型数字判断是否为绝对回文数。所谓绝对回文数,是指十进制数和二进制数均对称的数。具体要求如下:(1)私有数据成员 lint n:整型数字。lint y: 标记是否为回文数。(2)公有成员函数lPalindrome (int x) :构造函数,根据x参数初始化数据成员n,y初始化为0。lvoid huiwen () :判断数n是否为绝对回文数。lvoid sh
5、ow( ) :若该数为回文数,则在屏幕显示。 (3)在主程序中定义int a,由键盘输入数字。定义一个Palindrome类对象p,用a初始化p,完成对该类的测试。任务四:8建立一个MATRIX,生成并显示一个螺旋方阵。螺旋方阵如下图所示,起始数置于方阵的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。 具体要求如下:(1)私有数据成员lint a20 20:二维整型数组存放螺旋方阵。lint startnum:螺旋方阵的起始数。lint n:存放方针的层数。(2)公有成员函数lMATRIX (int s, int m ):构造函数,初始化成员数据startnum和n。lv
6、oid process():生成起始数为startnum的n行螺旋方阵。lvoid print():输出螺旋方阵。(3)在主程序中定义MATRIX类的对象t对该类进行测试。任务五:17定义一个类SIN,求 具体要求如下:(1)私有成员数据。lint x:输入公式中x的值,求sin(x)。lint n:输入公式中n的值。(2)公有成员函数。lSIN(int x, int n ):构造函数,用于初始化x和n的值。lint power( int q):求q!的值。lint mi( int m,int n):求 的值。lint fun( ):用于求SIN(X)的值。lvoid show( ):输出求得
7、的结果。(3) 在主程序中定义对象test,对该类进行测试。任务六:24建立一个类NUM,并统计特定序列中相同的数字的个数。具体要求如下:(1)私有数据成员lint data25:随机生成25个在0-9之间的数字。lint num10:储存每个数字出现的个数。(2)公有数据成员lNUM(int data):构造函数,初始化数组data。lvoid process( ):统计数组data中每个数字出现的个数,并保存到数组num中。 lvoid print( ):输出每个数字出现的个数,每行输出5个 (3)在主程序中定义一个对象,对该类进行测试。二系统分析任务一:1. 系统分析:通过类PP的成员函
8、数fun()(过程中利用process函数调用函数fun )完成求第n项的任务,然后由show()函数完成输出,过程中析构函数主要完成释放动态变量p的动态空间。类的定义如下:class ppint n;double x;double *p;public:pp();pp();double fun();void process();void show();2. 算法设计(一) 先进行多项式的的输出 定义fun()函数(n1,x)通过n1大小的判定来确定多项式的大小,与此同时,利用函数process函数进行空间分配。如果n=0时返回1;如果n=1,返回x.如果n1,返回(2*n1-1)*x*fun(
9、n1-1,x)-(n1-1)*fun(n1-2,x),然后定义函数process函数通过在循环语句中调用fun函数,循环条件为(i=n),再有函数show完成输出。 3. 系统测试在主函数中初始化fun()的对象,调用process函数完成前n项的工作,然后调用show()函数完成输出。主函数定义如下:void main()int num;double x1;coutput in num and x1numx1;pp items();items.process();items.show();用以测试的是2,3预期输出的结果:1 3任务二:1. 系统分析:通过定义类MOVE的成员函数完成二维到一
10、维的转换,然后利用成员函数exchange求出数组的平均值,并完成最大值与最小值的位置交换,最后利用函数print()进行输出。类的定义如下:class MOVEint *array;int n;public:MOVE();void exchange();void print();MOVE();MOVE:MOVE()2. 算法设计(一) 成员函数的定义 定义类中的变量 你 n m,定义成员函数exchange(),定义 i,指针变量*p1,*p2,定义输出函数print();(二) 在成员函数exchange中用for 语句,in作为终止条件,求出平均值a。然后利用遍历的方法找出最大值与最小值
11、,i=*p1;*p1=*p2;*p2=i;进行交换处理。最后利用成员函数print进行输出。3. 系统测试在函数体中初始化b,利用成员函数exchange进行位置互换,然后利用函数print函数进行输出。主函数定义如下;void main()MOVE ff(b,n);ff.exchange();ff.print();用以测验的是:21,65,43,87,12,84,44,97,32,55预测结果是:21,65,43,87,97,84,4412,32,55任务四:1系统分析: 通过类中的构造函数完成初始化(对s m 进行赋值),成员函数process完成螺旋方阵的排列,利用函数print()函数
12、完成输出。类的定义如下class matrixint a;int starnum;int n;public:matrix();void process();void print();2 算法设计1) 利用构造函数完成初始化,通过键盘输入确定s,m2) 螺旋化输入定义st=sternum,y=n,利用for 语句以x(y-1)/2作为循环终止条件,利用嵌套循环以i=x,j=x,为语句一,以j(y-x-1)作为终止条件完成第一行的排列,同理利用嵌套循环以i( y-x-1)作为终止条件,完成第M列的排列,同理分别以jx,ix为终止条件完成其他的排列。3)输出。利用函数print输出。3 系统测试完成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 C+ 实践 报告 1340502117
限制150内