欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新C++实践报告-1340502117.docx

    • 资源ID:34716874       资源大小:296.16KB        全文页数:68页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新C++实践报告-1340502117.docx

    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项的值。 具体要求如下:(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 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():输出平均值,并将数组中的元素按要求重新放置。lvoid 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 show( ) :若该数为回文数,则在屏幕显示。 (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。lvoid 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( ):输出求得的结果。(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的成员函数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.如果n>1,返回(2*n1-1)*x*fun(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;cout<<"put in num and x1"<<endl;cin>>num>>x1;pp items();items.process();items.show();用以测试的是2,3预期输出的结果:1 3任务二:1. 系统分析:通过定义类MOVE的成员函数完成二维到一维的转换,然后利用成员函数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 语句,i<n作为终止条件,求出平均值a。然后利用遍历的方法找出最大值与最小值,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()函数完成输出。类的定义如下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列的排列,同理分别以j<x,i<x为终止条件完成其他的排列。3)输出。利用函数print输出。3 系统测试完成初始化后,利用函数process完成螺旋的排列,利用函数print完成输出。主函数的定义如下:void main()int s,m;cout<<" "<<endl;cin>>s>>m;matrix pp(s,m);pp.process();pp.print();用来测试的是1 3 预测结果为1 2 3 8 9 47 6 5三.实践小结在为期不到两周的课程设计中,我体会颇多,学到很多东西。我懂得了如何用MFC编写可视化界面的应用程序,我加强了对C+的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对Microsoft Visual C+ 6.0又有了更深入的认识!在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让 我从理论变成了能做一些小型程序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。特别是学会了在Visual C+ 集成开发环境中如何调试程序的方法。当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中所有辅导老师对我的关心和帮助,诚心诚意感谢老师对我的鼓励与教导,是老师在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此也十分感谢本次课程设计中同学们对我的帮助,尽管本次不是团队合作,但是他们也给了我不少的提示和帮助,我们相互沟通、共同进步。  四.参考文献1郑振杰.C+程序设计 北京:人民邮电出版社,20052柴欣,C/C+程序设计 河北大学出版社,20023余苏宁、王明福,C+程序设计 北京:高等教育出版社,20034 吕凤翥.C+语言程序设计(第2版).电子工业出版社,2007.25 李云清、杨庆红、揭安全.数据结构M.人民邮电大学出版社,2004.6五.源程序清单:任务一:#include<iostream.h>class ppint 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 doublenum+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);items.process();items.show();运行结果任务二:#include<iostream.h>class MOVEint *array;int n;public:MOVE(int b,int m);void exchange();void print();MOVE();MOVE:MOVE(int b,int m)n=m;array=new intn;for(int x=0;x<n;x+)arrayx=bx;void MOVE:exchange()float a=0;int i,*p1,*p2;for(i=0;i<n;i+)a+=arrayi;a/=n;cout<<"The average of the number is:"<<a<<endl;p1=p2=&array0;for(i=0;i<n;i+)if(arrayi<*p1)p1=&arrayi;if(arrayi>*p2)p2=&arrayi;i=*p1;*p1=*p2;*p2=i;void MOVE:print()int i,num=1;for(i=0;i<n;i+)cout<<arrayi<<'t'if(num%5=0)cout<<'n'num+;MOVE:MOVE()delete array;void main()int b=21,65,43,87,12,84,44,97,32,55,n=10;MOVE ff(b,n);ff.exchange();ff.print();运行结果任务三:#include<iostream.h>class palindromeint n;int y;public:palindrome(int x);void huiwen();void show();palindrome:palindrome(int x)n=x;y=0;void palindrome:huiwen()int b20,c50,m,i,p=0,t1=1,t2=1;m=n;for(i=0;m>0;m/=10)p+;bi=m%10;i+;for(i=0;i<p;i+)if(bi!=bp-i-1)t1=0;break; for(i=0,m=n,p=0;m>0;m/=2)p+;ci=m%2;i+;for(i=0;i<p;i+)if(ci!=cp-i-1)t2=0;break;if(t1&&t2)y=1;void palindrome:show()if(y=0)cout<<"该数不是回文数!"<<endl;else cout<<"该回文数是:"<<n<<endl;void main()int a;cout<<"输入a的值"<<endl;cin>>a;palindrome p(a);p.huiwen();p.show();运行结果:任务四:#include<iostream.h>#include<iomanip.h>class matrixint a2020;int starnum;int n;public:matrix(int s,int m);void process();void print();matrix:matrix(int s,int m)starnum=s;n=m;void matrix:process()int st=starnum;int i,j,x=0,y=n;for(;x<=(y-1)/2;x+) for(i=x,j=x;j<(y-x-1);j+)aij=st;st+; for(;i<(y-x-1);i+)aij=st;st+; for(;j>x;j-)aij=st;st+; for(;i>x;i-)aij=st;st+;if(x=(y-1)/2)aij=st;void matrix:print()int i,j;for(i=0;i<n;i+)for(j=0;j<n;j+)cout<<setw(8)<<aij;cout<<'n'void main()int s,m;cout<<"输入s和m的值"<<endl;cin>>s>>m;matrix pp(s,m);pp.process();pp.print();运行结果任务五:#include<iostream.h>class sinint x;int n;public:sin(int x,int n);int power(int q);int mi(int m,int n);int fun();void show();sin:sin(int x,int n)this->x=x;this->n=n;int sin:power(int q)for(int i=1;i<=q;i+)q*=i;return q;int sin:mi(int m,int n)for(int i=1;i<n;i+)m*=m;return m;int sin:fun()float s=0;for(int i=1;i<=n;i+)s+=mi(-1,i+1)*mi(x,2*i-1)/power(2*i-1);return s;void sin:show()cout<<"sin("<<x<<")="<<fun()<<endl;void main()int x,n;cout<<"输入x和n的值"<<endl;cin>>x>>n;sin test(x,n);test.show();任务六:#include<iostream.h>#include<stdlib.h>#include<time.h>class Numint data25;int num10;public:Num();void process();void print();Num:Num()srand(time(0);for(int i=0;i<25;i+)datai=rand()%9;void Num:process()int i,x=0;for(i=0;i<10;i+)for(int m=0,n=0;m<25;m+)if(datam=i) n+;numx+=n;void Num:print()cout<<"随机数为:"<<endl;for(int j=0;j<25;j+)cout<<dataj<<'t'cout<<endl<<"010数字出现的次数分别为:"<<endl;for(int i=0;i<10;i+)cout<<numi<<'t'if(i+1)%5=0)cout<<endl;void main()Num test;test.process();test.print();今天我主要有两个主题,第一承接,第二发展。毋庸置疑,我们正是在上一届主席团的带领之下,才能够将学生会带出,同时也正是上一届主席团的不懈坚持与努力才取的啦现在这样的成绩, 这里我表示对主席团各成员的敬意。承接,我们这届应该从上一届主席团成员身上学到什么,同时我们也应该把他们当成我们下一届领导是的一面镜子,-

    注意事项

    本文(最新C++实践报告-1340502117.docx)为本站会员(1595****071)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开