ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:133.32KB ,
资源ID:26564996      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26564996.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++课程实践.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++课程实践.docx

1、c+课程实践江苏科技大学课程实践报告设计题目: 计算机程序设计实践(VC+) 设计时间 20011-3-6 至 2011-3-13 学院(系): 机械工程 专业班级: 机制3班 学生姓名: 郑杰 学号 0940202329 指导老师: 石亮 2011年03月任务一一、实践任务3建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。二、系统设计1、类的描述与定义(1)私有数据成员 float array20:一维整型数组。 int n:数组中元素的个数。(2)公有成员函数 MOVE(float b,int m):构造函数,初始化成员数据。 voi

2、d average():输出平均值,并将数组中的元素按要求重新放置。 void print():输出一维数组。2、主要函数设计在主程序中用数据1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3对该类进行测试。三、系统测试 void main() float b1=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();四、实践小结 通过本题我学会了平均值的求法以及一组数的排序。五、参考文献1齐志昌。软件工程。北

3、京:高等教育出版社,20042钱雪忠。数据库与SQL Sever 2005 教程。北京:清华大学出版社,20073张荣梅,梁晓林等。Visual C+实用教程。北京:中国铁道出版社,20084张岳新。Visual C+ 程序设计。苏州:苏州大学出版社,20075祁云嵩,刘永良,华伟。Visual C+ 程序设计解析与训练。华东理工大学出版社,2006六、源程序清单#includeclass MOVEprivate: float array20; int n;public: MOVE(float b,int m) for(int i=0;im;i+) arrayi=bi; n=m; void a

4、verage(); void print(); MOVE() ;void MOVE:average() float ave=0; int i,j; for(i=0;in;i+) ave+=arrayi; ave/=n; coutaveendl; float turn20; j=0; for(i=0;in;i+) if(arrayi=ave) turnj=arrayi; j+; j=0; for(i=0;iave) turnn-1-j=arrayi; j+; for(i=0;in;i+) arrayi=turni; void MOVE:print()for(int i=0;in;i+) cout

5、arrayi ;void main() float b1=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();任务二一、实践任务6定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。二、详细设计1、类的描述与定义(1)私有数据成员 char *str; int y:标记是否为回文字符串。(2)公有成员函数 String (char *

6、s) :构造函数,用给定的参数s初始化数据成员str。y初始化为0。 void huiwen () :判断str所指向的字符串是否为回文字符串。 void show( ) :在屏幕上显示字符串。2、主要函数设计在主程序中定义字符串char s=”ababcedbaba”作为原始字符串。定义一个String类对象test,用s初始化test,完成对该类的测试。三、系统测试 void main()/测试; char s=ababcedbaba; String test(s); test.huiwen(); test.show();四、实践小结 掌握判断回文字符串的一般形式。五、参考文献1齐志昌。软

7、件工程。北京:高等教育出版社,20042钱雪忠。数据库与SQL Sever 2005 教程。北京:清华大学出版社,20073张荣梅,梁晓林等。Visual C+实用教程。北京:中国铁道出版社,20084张岳新。Visual C+ 程序设计。苏州:苏州大学出版社,20075祁云嵩,刘永良,华伟。Visual C+ 程序设计解析与训练。华东理工大学出版社,2006六、源程序清单#include#includeclass Stringprivate: char*str; int y;public: String(char*s) int n=strlen(s); str=new charn+1; st

8、rcpy(str,s); y=0; void huiwen(); void show(); String() if(str) delete str;void String:huiwen()/判断str所指向的字符串是否为回文字符串; int n,judge=0; n=strlen(str); for(int i=0;i(n/2);i+) if(stri=strn-1-i) judge+; if(judge=i) y=1;void String:show()/输出; if(y=1) couty=1,该字符串是回文数strendl; else couty=0,该字符串不是回文数strendl;vo

9、id main()/测试; char s=ababcedbaba; String test(s); test.huiwen(); test.show();任务三一、实践任务7建立一个类PHALANX,生成并显示一个折叠方阵。折叠方阵如下图所示。折叠方阵的生成过程为:起始数置于方阵的左上角,然后从起始数开始递增,依次折叠构成方阵。二、详细设计1、类的描述与定义(1)私有数据成员 int (*p)20:指向按照折叠规律存放方阵的二维整型数组。 int startnum:折叠方阵的起始数。 int n:存放方针的层数。(2)公有成员函数 PHALANX (int s, int m ):构造函数,初始

10、化成员数据。 void process():生成起始数为startnum的n行方阵。 void print():输出折叠方阵。 PHALANX( ):析构函数。2、主要函数设计在主程序中对该类进行测试。三、系统测试 void main() int s1,m1; couts1m1; PHALANX test(s1,m1); test.process(); test.print();四、实践小结根据折叠方阵的产生方式进行相应的逻辑循环实现。五、参考文献1齐志昌。软件工程。北京:高等教育出版社,20042钱雪忠。数据库与SQL Sever 2005 教程。北京:清华大学出版社,20073张荣梅,梁晓

11、林等。Visual C+实用教程。北京:中国铁道出版社,20084张岳新。Visual C+ 程序设计。苏州:苏州大学出版社,20075祁云嵩,刘永良,华伟。Visual C+ 程序设计解析与训练。华东理工大学出版社,2006六、源程序清单#includeclass PHALANXprivate: int(*p)20; int startnum; int n;public: PHALANX(int s,int m) startnum=s; n=m; p=new intm20; void process(); void print(); PHALANX() if(p) deletep;void

12、PHALANX:process()/生成起始数为stratnum的n行螺旋方阵; int turn; turn=p00=startnum; int i,j; for(int k=n-2;k=0;k-)/按照折叠方阵的生成过程进行赋值; for(i=0,j=n-k-1;i=0;j-) pij=+turn; void PHALANX:print() for(int i=0;in;i+) for(int j=0;jn;j+) coutpijt; coutendl; void main() int s1,m1; couts1m1; PHALANX test(s1,m1); test.process()

13、; test.print();任务四一、实践任务11建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。例如将字符串“abcde” 交叉插入字符串“ABCDE”的结果为“aAbBcCdDeE”或“AaBbCcDdEe”。二、详细设计1、类的描述与定义(1)私有数据成员 char str180 :存放被插入的字符串。 char str240 :存放待插入的字符串。(2)公有成员函数 STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。 void process():将str2中的字符串插入到str1中。 void

14、print():输出插入后的字符串。2、主要函数设计在主程序中定义STRING类的对象test对该类进行测试。三、系统测试 void main()/测试 STRING test(ABCDE,abcde); test.process(); test.print();四、实践小结 发现字符插入的规律,再依次放入相应字符位置。五、参考文献1齐志昌。软件工程。北京:高等教育出版社,20042钱雪忠。数据库与SQL Sever 2005 教程。北京:清华大学出版社,20073张荣梅,梁晓林等。Visual C+实用教程。北京:中国铁道出版社,20084张岳新。Visual C+ 程序设计。苏州:苏州大学

15、出版社,20075祁云嵩,刘永良,华伟。Visual C+ 程序设计解析与训练。华东理工大学出版社,2006六、源程序清单#include#includeclass STRINGprivate: char str180;/存放被插入的字符串; char str240;/存放待插入的字符串;public: STRING(char*s1,char*s2) strcpy(str1,s1); strcpy(str2,s2); void process(); void print();void STRING:process() int i,j; int n=strlen(str1); if(strlen

16、(str2)strlen(str1) /当待插入的字符串ABCDEFG比被插入的字符串abcde长或相等时,逻辑算法:abcde-a b c d e-空格处依次插入ABCDEFG-aAbBcCdDeEFG; for(i=n-1;i0;i-) str1i+i=str1i;/被插入的字符串由最后一位开始各位向后移动i位; for(i=1,j=0;i2*n;i+=2,j+) str1i=str2j;/在空出的位置处依次插入字符串; i-; for(;jA B C D E FG-空格处插入abcde-AaBbCcDdEeFG; for(i=n;istrlen(str2)-1;i-) str1i+str

17、len(str2)=str1i;/比待插入的字符串长的部分均向后移strlen(str2)位; for(i=strlen(str2)-1;i0;i-) str1i+i=str1i;/之前的部分均向后移i位; for(i=1,j=0;i2*strlen(str2);i+=2,j+) str1i=str2j;/将待插入的字符串插入空格处,完成插入; void STRING:print()/输出插入后的字符串 cout插入后的字符串为:str1endl;void main()/测试 STRING test(ABCDE,abcde); test.process(); test.print();任务五一

18、、实践任务27建立一个类NUM,求指定数据范围内的所有素数(质数)。提示:素数定义是“只能被1和它本身整除的整数”,即质数。二、详细设计1、类的描述与定义(1)私有数据成员 int data10:依次存放原始数据。 int prime10:存放指定数据内所求出的所有素数。 int num:存放素数个数。(2)公有成员函数 NUM(int n ):构造函数,用参数n初始化data,同时初始化num为0。 int isprime (int x ):判断x是否为素数。若是素数,返回1,否则,返回0。 void process( ):求指定data数组中的所有素数,把它们依次存放在数组prime中,并

19、将求出的素数个数赋给num。 void print( ):输出求出的素数个数及所有素数,每行输出4个素数。2、主要函数设计在主函数中完成对该类的测试。定义NUM类对象test,通过test调用成员函数完成求素数及输出素数的工作。原始数据为4,5,9,11,36,29,31,101,56,199。三、系统测试 void main() int n=4,5,9,11,36,29,31,101,56,199; NUM test(n); test.process(); test.print(); 四、实践小结 应熟练掌握质数的判断方法五、参考文献1齐志昌。软件工程。北京:高等教育出版社,20042钱雪忠

20、。数据库与SQL Sever 2005 教程。北京:清华大学出版社,20073张荣梅,梁晓林等。Visual C+实用教程。北京:中国铁道出版社,20084张岳新。Visual C+ 程序设计。苏州:苏州大学出版社,20075祁云嵩,刘永良,华伟。Visual C+ 程序设计解析与训练。华东理工大学出版社,2006六、源程序清单#include#includeclass NUMprivate: int data10; int prime10; int num;public: NUM(int n) for(int i=0;i1) if(x=2|x=3) return 1; else for(in

21、t i=2;isqrt(x) return 1; else return 0;void NUM:process()/求指定data数组中的所有素数,把它们依次存放在数组prime中,并将求出的素数个数赋给num; for(int i=0,j=0;i10;i+) if(isprime(datai) primej=datai;/存放指定数据内所求出的所有素数; j+; num+;/存放素数个数; void NUM:print()/输出求出的素数个数及所有素数,把它们依次存放在数组prime中,并将求出的素数个数赋给num; cout素数个数为:numendl; for(int i=0;inum;i

22、+) coutprimeit; if(i+1)%4=0) coutendl; coutendl;void main() int n=4,5,9,11,36,29,31,101,56,199; NUM test(n); test.process(); test.print();任务六一、实践任务32建立一个类SUM,使用二维数组输入“Follow me”,“BASIC”,“Great wall”,“Fortran”,“Pascal”,将它们按从小到大的顺序排列后输出。二、详细设计1、类的描述与定义(1)私有数据成员 int *p5:存放二维数组每行的字符串的地址。(2)公有成员函数 SUM(in

23、t d55):构造函数,初始化成员数据。 void process1():对二维数组中存放的字符串进行排序。 void print():输出二维数组中排好序的字符串。2、主要函数设计在主程序中对该类进行测试。三、系统测试 void main() /每个字符串的值为该字符串的首元素地址,故将每个地址值转换为整型数值保存在整型数组中; Int d55=int(Follow me),int(BASIC),int(Great wall),int(Fortran),int(Pascal); SUM test(d); cout原字符串为:endl; test.print(); test.process1(

24、); cout排好序的字符串为:endl; test.print();四、实践小结掌握各数据类型之间的转化。五、参考文献1齐志昌。软件工程。北京:高等教育出版社,20042钱雪忠。数据库与SQL Sever 2005 教程。北京:清华大学出版社,20073张荣梅,梁晓林等。Visual C+实用教程。北京:中国铁道出版社,20084张岳新。Visual C+ 程序设计。苏州:苏州大学出版社,20075祁云嵩,刘永良,华伟。Visual C+ 程序设计解析与训练。华东理工大学出版社,2006六、源程序清单#include#includeclass SUMprivate: int*p5;/存放二维数组每行的字符串的地址;public: SUM(int d55) for(int i=0;i5;i+) pi=(int*)di0;/整型数组每行第0列保存字符串的地址(为int类型),故在赋值时需要转换为int*类型; void process1(); void print();void SUM:process1()/对二维数组中存放的字符串进行排序; int*t; for(int i=0;i5;i+) for(int j=i+1;j0)/将int*类型数据转换为char*类型,才可利用strcmp()函数对该地址值上的字符串比较,排序; t=pi; pi=pj; pj=t;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1