版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*大学课程实践报告设计题目:计算机程序设计实践(VC+)设计时间:2010-03-01至 2010-03-07学 院:*工程学院专业班级:*学生名字:* 学号: *指导老师:* 2010 年 3 月 一、 实践任务建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组边。具体要求如下:(1) 私有数据成员 float array20:一维整型数组。 int n:数组中元素的个数。(2) 公有成员函数 MOVE(float ,int m):构造数组,初始化成员数据。 void average():输出平均值,并将数组中的元素按要求重新放置。 void p
2、rint():输出一维数组。二、 系统测试系统测试主要通过主函数中定义的对象来完成。主函数定义如下:void main()float b=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3;MOVE Test(b,9);Test.average();Test.print();coutendl;三、 实践小结1、 对类的整体的格式要掌握;2、 指针的应用。四、 源程序清单#includeclass MOVEfloat array20;int n;public:MOVE(float b,int m);void average();void print();MOVE :MOVE(fl
3、oat b,int m)for (int i=0;im;i+)arrayi=bi;n=m;void MOVE:average()float s=0.0;float t;float *p;int i,j=0,x;x=n;p=new float n+1;for(i=0;in;i+)s+=arrayi;t=s/n;cout一维数组的平均值为:tendl;for(i=0;in;i+)if(arrayit) pj+=arrayi;elsep-x=arrayi;for(i=0;in;i+)arrayi=pi;delete p;void MOVE:print()for (int i=0;in;i+)cout
4、arrayit;void main()float b=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3;MOVE Test(b,9);Test.average();Test.print();coutendl;一、实践任务建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。具体要求如下:(1) 私有数据成员 int *array:一维整型数组。 int n:数组中元素的个数。(2) 公有成员数组 MOVE(int b,int m):构造函数,初始化成员数据。 void exchange():输出平均值,并将数组中元素按要求重新放置。 void print():输出一维数
5、组。 MOVE():析构函数。(3) 在主程序中用数据 21,65,43,87,12,84,44,97,32,55对该类进行测试。二、系统测试void main()int b=21,65,43,87,12,84,44,97,32,55;MOVE test(b,10);test.exchange();test.print();三、 实践小结1、关键是找到最大值与最小值的在原数组中所在的位置四、 源程序清单#includeclass MOVEint *array;int n;public:MOVE(int b,int m);void exchange();void print();MOVE();M
6、OVE:MOVE(int b,int m)array=new intm+1;for (int i=0;im;i+)arrayi=bi;n=m;void MOVE:exchange()int i,j,t,k,s;int *p;p=new intn+1;for(i=0;in;i+)pi=arrayi;for(i=0;in-1;i+)for(j=i+1;jpj)t=pi;pi=pj;pj=t;for(i=0;in;i+)if(arrayi=p0) k=i;if(arrayi=pn-1) s=i;t=arrayk;arrayk=arrays;arrays=t;deletep;void MOVE:pri
7、nt()for(int i=0;in;i+)coutarrayit;MOVE:MOVE()delete array;void main()int b=21,65,43,87,12,84,44,97,32,55;MOVE test(b,10);test.exchange();test.print();一、实践任务定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。具体要求如下:(1)私有数据成员 char *str; int y:标记是否为回文字符串。(2) 公有成员函数 String(char *s):构
8、造函数,用给定的参数s初始化数据成员str。Y初始化为0. void hunwen():判断str所指向的字符串是否为回文字符串. void show():在屏幕上显示字符串。(3) 在主程序中定义字符串 char s=” ababcedbaba”作为原始字符串。定义一个String 类对象test,用s初始化test,完成对该类的测试。二、系统测试void main()char *str=ababcedbaba;String test(str);test.huiwen();test.show();三、实践小结1、判断是否为回文数是这道题目的关键所在四、源程序清单#include#includ
9、e class Stringchar *str;int y;public:String(char*s)str=new charstrlen(s)+1;strcpy(str,s);y=0; void huiwen();void show();void String:huiwen() int n=strlen(str);char *p1=str,*p2=str;for(int i=0,j=n;in;i+)if(p1i!=p2-j) break;if(i=n) y=1;void String:show()if(y) coutstrendl;else cout此字符串不是回文字符串;void main
10、()char *str=ababcedbaba;String test(str);test.huiwen();test.show();一、实践任务建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。例如将字符串“abcde”交叉插入字符串“ABCDE”的结果为“aAbBcCdDeE”或“AaBbCcDdEe”。具体要求如下:(1)私有数据成员 char str180:存放被插入的字符。 char str240:存放待插入的字符。(2)公有成员数据 STRING (char *s1,char *s2):构造函数,用s1和s2初始化str1和str2。 void pro
11、cess():将str2中的字符串插入到str1。 void print():输出插入后的字符。二、系统测试void main ()char str180,str240;cin.getline(str1,9);cin.getline(str2,9);STRING test(str1,str2);cess();test.print();三、实践小结1、一个字符串插入一个字符串,主要在于,要另用一个数组存放新字符串四、源程序清单#include #include class STRINGchar str180;char str240;public:STRING (char *s1,
12、char *s2)for(int i=0;i=80;i+)str1i=s1i;for( i=0;i=40;i+) str2i=s2i;void process();void print();void STRING:process()char t40;int i=0,j=0;strcpy(t,str1);while(str2i)str1j+=str2i; str1j+=ti;i+;void STRING:print()for(int i=0;i10;i+)coutstr1i;void main ()char str180,str240;cin.getline(str1,9);cin.getlin
13、e(str2,9);STRING test(str1,str2);cess();test.print();一、实践任务建立一个类MOVE,对数组中元素进行循环换位,即每个元素后移三位,最后三个元素移到最前面。具体要求如下:(1)私有数据成员 int array20:一位整型数组。 int n:数组中元素的个数。(2)公有成员函数 MOVE(int b,int m):构造函数,初始化成员数据。 void change():进行循环换位。 void print():输出一维数组。(3)在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。二、系统
14、测试void main() int n;int array20=21,65,43,87,12,84,44,97,32,55;cout输入n的值:n;MOVE test(array,n);test.change();test.print();三、实践小结1、要将最后三位拉出来重新考虑四、源程序清单#include class MOVEint array20;int n;public:MOVE(int b,int m)for(int i=0;im;i+)arrayi=bi;n=m;void change();void print();void MOVE :change()int a,b,c;a=a
15、rrayn-3;b=arrayn-2;c=arrayn-1;for(int i=0;in-3;i+)arrayi+3=arrayi;array0=a; array1=b; array2=c;void MOVE:print()for(int i=0;in;i+)coutarrayit;void main()int n;int array20=21,65,43,87,12,84,44,97,32,55;cout输入n的值:n;MOVE test(array,n);test.change();test.print();一、实践任务建立一个类MOVE,实现将数组中大写字母元素放在小写字母元素的左边。具
16、体要求如下:(1)私有数据成员 char *array:一维字符数组。 int n:数组中元素的个数。(2)公有成员函数 MOVE(char b,int m):构造函数,初始化成员数据。 void change():进行排序换位。 void print():输出一维数组。 MOVE():析构函数。(3)在主程序中用数据“fdsUFfsTjfsKFEkWC”对该类进行测试。 二、系统测试void MOVE:print() for(int i=0;in;i+)coutarrayi;cout0;void main()char *array=fdsUFfsTjfsKFEkWC;MOVE test(array,17);test.change();test.print();三、实践小结1、判断大小写字母;2、存放新数组。四、源程序清单#include class MOVEchar *array;int n;public :MOVE (char b,int m)array=new charm+1;for(int i=0;im;i+)arrayi=bi;n=m;void change();void print();MOVE() delete array;void MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年厦门华厦学院单招职业倾向性测试题库及答案详解(各地真题)
- 2026年保定电力职业技术学院单招职业适应性考试题库附参考答案详解(a卷)
- 2026年内蒙古乌兰察布盟单招职业倾向性考试题库附答案详解(突破训练)
- 2026年内蒙古电子信息职业技术学院单招职业适应性测试题库附参考答案详解(达标题)
- 2026年内蒙古科技职业学院单招职业技能测试题库带答案详解(模拟题)
- 2026年南京视觉艺术职业学院单招职业技能考试题库含答案详解(巩固)
- 2026年环境影响评价评估要点试题
- 2026年中医药学基础理论知识测试题集
- 2026年国际商务谈判实务操作模拟试题
- 2025年高测普工入职笔试试题及答案
- 临床成人留置导尿护理及并发症处理-2025团体标准
- 镇江市人民医院术中神经电生理监测技术考核
- 全屋微水泥施工方案
- 西红柿栽培管理技术要点
- 《中国金融学》课件 第4章 信用形式与信用体系-课件
- 医用Mg-Zn-Mn合金:制备、强化工艺与性能的深度剖析
- 院长发现再审申请书范文
- 2024年湖南中烟考试真题及答案
- 超星尔雅《艺术鉴赏》课后答案彭吉象82045
- 国家教育事业发展“十五五”规划纲要
- 实验室设计方案
评论
0/150
提交评论