VC++课程实践报告.docx

上传人:rrsccc 文档编号:10422810 上传时间:2021-05-15 格式:DOCX 页数:14 大小:81.36KB
返回 下载 相关 举报
VC++课程实践报告.docx_第1页
第1页 / 共14页
VC++课程实践报告.docx_第2页
第2页 / 共14页
VC++课程实践报告.docx_第3页
第3页 / 共14页
VC++课程实践报告.docx_第4页
第4页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VC++课程实践报告.docx》由会员分享,可在线阅读,更多相关《VC++课程实践报告.docx(14页珍藏版)》请在三一文库上搜索。

1、*大学课程实践报告设计题目:计算机程序设计实践(VC+)设计时间: 2010-03-01 至 2010-03-07学院: *工程学院专业班级: *学生名字: *学号:*指导老师: *2010年3月一、实践任务建立一个类 MOVE ,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组边。具体要求如下:(1)私有数据成员float array20:一维整型数组。 int n :数组中元素的个数。( 2) 公有成员函数 MOVE(float , int m ) : 构造数组,初始化成员数据。 void average ():输出平均值,并将数组中的元素按要求重新放置。 vo

2、id print ():输出一维数组。二、系统测试系统测试主要通过主函数中定义的对象来完成。主函数定义如下: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(

3、float 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+)c

4、outarrayit;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 p

5、rint ():输出一维数组。 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;MOVEtest(b,10);test.exchange();test.print();三、实践小结1、关键是找到最大值与最小值的在原数组中所在的位置四、源程序清单#includeclass MOVEint *array;int n;public:MOVE(int b,int m);void exchange();void p

6、rint();MOVE();MOVE: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;delete

7、p;void MOVE:print()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;MOVEtest(b,10);test.exchange();test.print();一、实践任务定义一个字符串类 String ,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“ 123321 ”是回文字符串。具体要求如下:( 1)私有数据成员 char *str; int y:标记是否为回文字符串。( 2) 公有成员

8、函数 String( char *s):构造函数,用给定的参数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、判断是否

9、为回文数是这道题目的关键所在四、源程序清单#include#include 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) coutstre

10、ndl;else cout 此字符串不是回文字符串;void main()char *str=ababcedbaba;String test(str);test.huiwen();test.show();一、实践任务建立一个STRING ,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。例如将字符串 “ abcde”交叉插入字符串 “ ABCDE ”的结果为 “ aAbBcCdDeE ”或“ AaBbCcDdEe ”。具体要求如下:( 1)私有数据成员 char str180:存放被插入的字符。 char str240:存放待插入的字符。( 2)公有成员数据 STRING ( cha

11、r *s1,char *s2): 构造函数,用s1 和 s2 初始化 str1和 str2 。 void process():将 str2中的字符串插入到str1 。 void print():输出插入后的字符。二、系统测试void main ()char str180,str240;cin.getline(str1,9);cin.getline(str2,9);STRING test(str1,str2);test.process();test.print();三、实践小结1、一个字符串插入一个字符串,主要在于,要另用一个数组存放新字符串四、源程序清单#include #include cl

12、ass STRINGchar str180;char str240;public:STRING (char *s1,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

13、main ()char str180,str240;cin.getline(str1,9);cin.getline(str2,9);STRING test(str1,str2);test.process();test.print();一、实践任务建立一个类 MOVE,对数组中元素进行循环换位,即每个元素后移三位,最后三个元素移到最前面。具体要求如下:( 1)私有数据成员 int array20:一位整型数组。 int n :数组中元素的个数。( 2)公有成员函数 MOVE( int b,int m):构造函数,初始化成员数据。 void change() :进行循环换位。 void print

14、():输出一维数组。( 3)在主程序中用数据 21 ,65, 43,87, 12,84, 44,97, 32, 55 对该类进行测试。二、系统测试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

15、;i+)arrayi=bi;n=m;void change();void print();void MOVE :change()int a,b,c;a=arrayn-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 tes

16、t(array,n);test.change();test.print();一、实践任务建立一个类MOVE,实现将数组中大写字母元素放在小写字母元素的左边。具体要求如下:( 1)私有数据成员 char *array :一维字符数组。 int n :数组中元素的个数。( 2)公有成员函数 MOVE( char b,int m):构造函数,初始化成员数据。 void change() :进行排序换位。 void print():输出一维数组。 MOVE():析构函数。( 3)在主程序中用数据“ fdsUFfsTjfsKFEkWC ”对该类进行测试。二、系统测试void MOVE:print()fo

17、r(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 MOVE:change()int x=0;int y=n;char *p;p=new charn+1;for(int i=0;i=A & arrayi=a & arrayi=z)p-y=arrayi;for(i=0;in;i+)arrayi=pi;void MOVE:print()for(int i=0;in;i+)coutarrayi;cout0;void main()char *array=fdsUFfsTjfsKFEkWC;MOVE test(array,17);test.change();test.print();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1