c++程序设计-实践报告

上传人:第*** 文档编号:32814987 上传时间:2018-02-12 格式:DOC 页数:13 大小:132KB
返回 下载 相关 举报
c++程序设计-实践报告_第1页
第1页 / 共13页
c++程序设计-实践报告_第2页
第2页 / 共13页
c++程序设计-实践报告_第3页
第3页 / 共13页
c++程序设计-实践报告_第4页
第4页 / 共13页
c++程序设计-实践报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c++程序设计-实践报告》由会员分享,可在线阅读,更多相关《c++程序设计-实践报告(13页珍藏版)》请在金锄头文库上搜索。

1、课程实践报告设计题目: 程序设计(VC+)实践设计时间 2013-1- 至 2013-1-学院(系): 计算机科学与工程学院2013年1月 2 / 13一 实践任务选择题目,创新性题目可只选择 1 题,仅选提高题应不少于 3 题,仅选基础题应不少于6 题,也可组合选题,还可自行选择感兴趣的题目(须经指导老师审定) 。对于提高题、创新题及游戏题可组成团队开发,但应制定详细的项目分工说明。二实验步骤及记录(题目,源程序代码及运行结果)1. 与学号对应的题(必做题):基础题 12题目:建立一个 STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不等长) 。例如将字符串“abcde” 交

2、叉插入字符串“ABCDEFG” 的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG” 。具体要求如下:(1 )私有数据成员char str160 :存放被插入的字符串。char str240 :存放待插入的字符串。char str3100 :存放插入后的字符串。(2 )公有成员函数STRING (char *s1, char *s2 ):构造函数,用 s1 和 s2 初始化 str1 和 str2。void process():将 str2 中的字符串插入到 str1 中,存放到 str3 中。void print():输出插入后的字符串。(3 )在主程序中定义 STRING 类

3、的对象 test 对该类进行测试。源程序代码:#include#includeclass STRINGchar str160;char str240;char str3100;public:STRING(char *s1,char *s2)strcpy(str1,s1);strcpy(str2,s2);void process()char *p1=str1,*p2=str2;for(int i=0;*p2;i=i+2)for(int k=strlen(str1);k=i;k-)str1k+1=str1k;*p1=*p2;p1=p1+2; 3 / 13p2+;void print()strcpy

4、(str3,str1);coutclass MOVEint *array;int n;public:MOVE(int b,int m) 4 / 13n=m;array=new intm;for(int i=0;i=bi)int temp=bi;bi=bj;bj=temp;int max=b0,min=bn-1;for(int p=0;pclass CMatrixint (*a)4;int w44;int m;public:CMatrix(int a4,int m)this-m=m;this-a=new intthis-m4;for(int i=0;im;i+)for(int j=0;jm;j+

5、)this-aij=aij; 6 / 13for(i=0;iclass SINprivate: int x; int n;public: SIN(int x, int n)this-x=x;this-n=n;int power(int q)int s=1;if(q1)s=s*q;q-;return s; 8 / 13int mi(int m, int n)int temp=1;for(int i=1;ix;coutn;SIN test(x,n);test.show();运行结果:5提高题 9题目:设计一个程序通过虚函数求长方形的面积和长方体的表面积,具体要求如下:(1)定义长方形类Rectan

6、gle保护的数据成员int l,w; /表示长方形的长和宽int s; /表示长方形的面积公有的构造函数Rectangle(int x,int y):初始化长方形的长和宽; 9 / 13公有的虚函数virtual void fun():求长方形的面积;virtual void show():输出长方形的长、宽和面积。(2)定义长方形类A 的公有派生类 Cuboid,表示长方体类私有的数据成员int h; /表示长方体的高公有的构造函数:Cuboid(int x,int y,int z):初始化长方体的长、宽和高。公有函数void fun():求长方体的表面积;void show():输出长方体

7、的长、宽、高和表面积。(3)在主函数中对定义的类进行测试,要求定义长方形对象a1(长为2,宽为3),长方体对象b1(长、宽、高分别为2,3,4),通过基类的指针p 分别求长方形的面积和长方体的表面积,输出数据成员,并体现运行的多态性。源程序代码:#includeclass Rectangleprotected:int l,w;int s;public:Rectangle(int x,int y)l=x;w=y;virtual void fun()s=l*w;virtual void show()coutfun();p-show();Cuboid b1(2,3,4);p=p-fun();p-sh

8、ow();运行结果:6.提高题 10题目:设计一个程序,查询2000 年1 月1 日(星期六)后的某天是星期几,具体要求如下:(1)定义函数int leap(int year):判断某年year 是否为润年。能够被400 整除,或者能够被4 整除但不能衩100 整除的年份是润年。(2)定义函数int f(int y,int m,int d,int *m1,int *m2):判断输入的日期是否合法,其中y、m、d 分别表示年、月、日, m1 表示非润年每月的天数, m2 表示润年每月的天数。(3)定义类date,表示日期私有数据成员int year,month,day; /分别表示某年某月某日公

9、有成员函数:date(int y,int m,int d):构造函数,用形参分别初始化数据成员;int get_year():访问私有成员year;int get_month():访问私有成员month;int get_day():访问私有成员day;void show():以指定格式输出数据成员。(4)定义类week,判断某天是星期几私有数据成员date d1; /日期类的对象,表示某日int m112;/存储非润年每月的天数31,28,31,30,31,30,31,31,30,31,30,31int m212;/存储润年每月的天数31,29,31,30,31,30,31,31,30,31,

10、30,31int w;/表示用0 表示星期天,1 表示星期一,以此类推6 表示星期六公有成员函数 11 / 13week(int y,int m,int d,int *p1,int *p2):构造函数,用y,m,d 初始化日期,用p1,p2 分别初始化m1,m2;int days():计算 d1 距2000 年1 月1 日的时间间隔(天数);void fun():根据days() 的计算结果判断d1 是星期几(求以06 表示w 的值);void print():输出判断结果。(5)在主函数中对定义的类进行测试。从键盘输入一个日期,并检查输入数据的合法性,然后用输入的数据和表示每月天数的数组初始

11、化week 类的对象w,调用相关成员函数,输出判断结果。程序运行结果如下:请输入要查询的日期(年月日):2009 9 152009/9/15,是星期二。源程序代码:#include int leap(int year)if(year%400=0 | year%100!=0 else return 0;int f(int y,int m,int d,int *m1,int *m2)if(m=1|m=3|m=5|m=7|m=8|m=10|m=12)else if(m=4|m=6|m=9|m=11)else return 1;while(leap(y)if(m=2else return 1;whil

12、e(!(leap(y)if(m=2else return 1; class dateint year,month,day;public:date(int y,int m,int d)year=y;month=m;day=d;int get_year()return year;int get_month()return month;int get_day()return day;void show()coutabc;coutendl;f(a,b,c,m1,m2);week w(a,b,c,m1,m2);date M(a,b,c);M.show();w.fun();w.print();运行结果:三实践小结1. 通过选择不同类型,不同难度层次的题目,有效地复习了一学期以来 C+的学习内容。2. 实践过程中通过个人思考及小组合作,对细节之处和难点进行了有效的分析,极大地提高了学习效率。3. 通过对题目的分析和理解,我发现自己在字符串处理,指针等方面基础较好,而在虚函数,友元函数等较琐碎的知识掌握得不太透彻,这是寒假期间我在准备等级考试所要留心的地方。4. 这次的课程实践在一定程度上是为即将到来的计算机二级考试打下良好的基础。5. 在最后一次的成果展示上,我发现自己的程序缺乏创新,追求实用性,却忽略了其潜在价值。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号