




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上江苏科技大学 课程实践报告 设计题目: 程序设计(VC+)实践 设计时间 至 学院(系): 专业班级: 学生姓名: 学号 指导老师: 2013年12月 任务一一、实践任务2试建立一个类SP,求,另有辅助函数power(m,n)用于求。二、详细设计1、类的描述与定义(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( ):输出求得的结果。2、主要函数
2、设计在主程序中定义对象s,对该类进行测试。三、源程序清单#include <iostream.h>class SPint n,k;public:SP(int n1,int k1)n=n1;k=k1;int power(int m,int n)int p=1;for (int i=1;i<n+1;i+)p*=m;return p;int fun()int s=0;for (int i=1;i<n+1;i+)s+=power(i,k);return s;void A()cout<<"n="<<n<<",k=&
3、quot;<<k<<",f(n,k)="<<fun()<<endl;void main()SP a(3,3);a.power(3,3);a.fun();a.A();四、实践小结掌握用循环语句求mn,和m!,熟练掌握函数的调用。五、运行结果任务二一、实践任务3建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。二、详细设计1、类的描述与定义(1)私有数据成员l float array20:一维整型数组。l int n:数组中元素的个数。(2)公有成员函数l MOVE(float
4、 b,int m):构造函数,初始化成员数据。l void average():输出平均值,并将数组中的元素按要求重新放置。l void print():输出一维数组。2、主要函数设计在主程序中用数据1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3对该类进行测试。三、源程序清单#include<iostream.h>class MOVEfloat array20;int n;public:MOVE(float b,int m)n=m;for(int i=0;i<m;i+)arrayi=bi;void average()float t=0;for(int i=
5、0;i<n;i+)t+=arrayi;float D=(t/n);cout<<"平均值为:"<<D<<endl;int j=n-1;for(i=0;i<j;i+,j-)while(arrayi<=D)i+;while(arrayj>D)j-;t=arrayi;arrayi=arrayj;arrayj=t;void print()for(int i=0;i<n;i+)cout<<arrayi<<'t'cout<<endl;void main()float b1
6、=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3;int num;num=sizeof(b1)/sizeof(float);MOVE s(b1,num);s.average();s.print();四、实践小结应熟练掌握数组与指针的应用。五、运行结果任务三一、实践任务4建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。二、详细设计1、类的描述与定义(1)私有数据成员l int *array:一维整型数组。l int n:数组中元素的个数。(2)公有成员函数l MOVE(int b,int m):构造函数,初始化成员数据。l void exchange():输出平均
7、值,并将数组中的元素按要求重新放置。l void print():输出一维数组。l MOVE():析构函数。2、主要函数设计在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。三、源程序清单#include <iostream.h> class MOVE int *array; int n; public: MOVE(int b,int m) n=m; array=new intn; for(int i=0;i<n;i+) arrayi=bi; void exchange() int s=0,max,min,x,y; float ave;
8、 max=min=array0; for(int i=0;i<n;i+) s+=arrayi; if(arrayi>max)max=arrayi;x=i; if(arrayi<min)min=arrayi;y=i; ave=s/n; cout<<"平均值为:"<<ave<<endl; arrayy=max;arrayx=min; void print() for(int i=0;i<n;i+) cout<<arrayi<<" " MOVE() delete array;
9、; void main() int B=21,65,43,87,12,84,44,97,32,55; MOVE test(B,10); test.exchange(); test.print(); 四、实践小结学会求数组中最大元素与最小元素方法,并实现交换。五、运行结果任务四一、实践任务6定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“”是回文字符串。二、详细设计1、类的描述与定义(1)私有数据成员l char *str; l int y:标记是否为回文字符串。(2)公有成员函数l String (char *s) :构造函数,
10、用给定的参数s初始化数据成员str。y初始化为0。l void huiwen () :判断str所指向的字符串是否为回文字符串。l void show( ) :在屏幕上显示字符串。2、主要函数设计在主程序中定义字符串char s=”ababcedbaba”作为原始字符串。定义一个String类对象test,用s初始化test,完成对该类的测试。三、源程序清单#include<iostream.h>#include<string.h>class Stringchar *str;int y;public:String(char *s)str=new charstrlen(s
11、)+1;strcpy(str,s);y=0;void huiwen()char *p1=str,*p2=str;while(*p2)p2+;p2-;for(;p1<p2;p1+,p2-)if(*p1!=*p2)y=1;break;void show()if(y)cout<<str<<"不是回文字符串"<<'n'else cout<<str<<"是回文字符串"<<'n'void main()String A("");A.huiw
12、en();A.show();四、实践小结掌握判断回文字符串的一般形式。五、运行结果任务五一、实践任务11建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。例如将字符串“abcde” 交叉插入字符串“ABCDE”的结果为“aAbBcCdDeE”或“AaBbCcDdEe”。二、详细设计1、类的描述与定义(1)私有数据成员l char str180 :存放被插入的字符串。l char str240 :存放待插入的字符串。(2)公有成员函数l STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。l void proce
13、ss():将str2中的字符串插入到str1中。l void print():输出插入后的字符串。2、主要函数设计在主程序中定义STRING类的对象test对该类进行测试。三、源程序清单#include<iostream.h>#include <string.h> class STRING char str180,str240; public: STRING(char *s1,char *s2) strcpy(str1,s1); strcpy(str2,s2); void process() int i=0,j=0; char t80; strcpy(t,str1);
14、while(str2j) str1i+=tj; str1i+=str2j; j+; str1i='0' void print() cout<<str1<<endl; ; void main() char s180,s240; cout<<"请输入被插入字符串"<<endl; cin.getline(s1,79); cout<<"请输入待插入字符串"<<endl;cin.getline(s2,39); STRING test(s1,s2); cess()
15、; test.print(); 四、实践小结发现字符插入的规律,再依次放入相应字符位置。五、运行结果任务六一、实践任务14建立一个类MOVE,实现将数组中大字字母元素放在小写字母元素的左边。二、详细设计1、类的描述与定义(1)私有数据成员l char *array:一维字符数组。l int n:数组中元素的个数。(2)公有成员函数l MOVE(char b,int m):构造函数,初始化成员数据。l void change():进行排序换位。l void print():输出一维数组。l MOVE():析构函数。2、主要函数设计在主程序中用数据"fdsUFfsTjfsKFEkWC&q
16、uot;对该类进行测试。三、源程序清单#include<iostream.h>class MOVEchar*array;int n;public:MOVE(char b,int m)n=m;array=new charn;for(int i=0;i<n;i+)arrayi=bi;void change()char a;for(int i=1;i<n/2;i+)if(arrayi-1>='a'&&arrayi-1<='z')a=arrayi-1;for(int j=i-1;j<n;j+)arrayj=arrayj+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥面系及附属工程施工方案
- 隧道工程洞口段施工方案
- 监控量测管理工作流程图
- 施工现场安全风险告知书
- 湖北省武汉市部分重点高中2022-2023学年高二下学期期末质量检测化学试题(含答案)
- 2025年安全生产月活动实施方案-连接线
- 汽车传感器与检测技术电子教案:其他位置传感器的检测与维修
- 物理中考二轮复习教案 7实验专题2(热学)
- 从事会展活动方案
- 仓储活动策划方案
- 中国现代文学三十年(第二编-第二个十年1928-1937-年-6-月)
- 配电室上墙的十项制度(一)
- 通用量具讲义课件
- 国家开放大学电大本科网络课《数学思想与方法》机考网考形考题库及答案
- 孕前口腔检查精讲课件
- 白描课件讲义整理
- 人教版九年级英语第七单元Unit7 SectionB第二课时
- 石油化工建设工程项目监理规范SH/T3902017附录A和B表格中文版
- 华联学院日语能力考试N5试题二及参考答案
- 尊法、学法、守法、用法分析
- Q∕GDW 12075-2020 架空输电线路防鸟装置技术规范
评论
0/150
提交评论