面向对象实习报告
[实习名称] 面向对象程序设计实习
[实习地点] 长春大学理学院机房
[实习时间] 第18周-第19周
[系统环境] Windows XP
[所用机时] 40学时
[实习内容]
1 线性表的应用
1.1 问题概述
一堆猴子都有编号,编号是1,2,3 …m ,这群猴子(m个)按照从1到m的顺序围坐一圈,从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
1.2 基本要求
(1)利用单循环链表结构模拟此过程;
(2)输入数据:输入m,n m,n 为整数,n<m
(3)按照m个猴子,数n 个数的方法,输出为大王的猴子是几号,建立一个函数来实现此功能
1.3 基本思想
用数组记录猴子是否在圈内的状态:在圈内记为“1”,不在圈内记为“0”。并以累加数组元素值来模拟报数过程,这样就减少了一半判断猴子是否在圈内的操作,从而简易实现函数操作。
1.4 代码实现
1 |
|
1.5 数据测试
2 学生成绩管理
2.1问题概述
设计一个student(学生)类,并使student类具有以下特点:
2.2基本要求
(1) 该类具有学生姓名、学号、程序设计、信号处理、数据结构三门课程的成绩。
(2) 学生全部信息由键盘输入,以提高程序的适应性。
(3) 通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可求取平均成绩。
(4) 输出学生的各科成绩与平均成绩。
(5) 学生对象的定义采用对象数组实现。
(6) 统计不及格学生人数。
(7) 表格输出整齐美观。
(8) 能以最方便的方式实现对课程数量和学生人数的修改。
2.3 基本思想
先设计一个学生类,然后其中有数据成员,保存学生姓名;整型静态数据成员,记录班级的学生数量;浮点型数据成员,用于记录学生成绩,再统计平均成绩,静态成员函数返回该平均分、返回总人数,要求有构造函数,有能设置姓名和修改分数的函数,编写一个完整程序 测试所有功能。
2.4代码实现
1 |
|
2.5数据测试
3 类的应用
3.1问题概述
定义点Point 类作为基类,在此基础上派生出直线Line类与圆Circle类,在Circle类的基础上以不同的属性派生出圆柱Cylinder类和球Spheroid类。并要求基类和各派生类具有以下特点:
3.2 基本要求
(1)Line类含有计算直线长度和斜率的成员函数。
(2)Circle类含有计算圆面积的成员函数。
(3)Cylinder类含有计算圆柱表面积和体积的成员函数。
(4)Spheroid类含有计算球体表面积和体积的成员函数。
3.3 基本思想
将一些类所具有的公共属性和方法放到基类中,避免重复定义。
定义基类Shape,在类中定义两个函数getName()、getArea()。分别用来获得类名称和面积。将getArea()定义为一个纯虚函数。
3.4代码实现
1 |
|
3.5数据测试
[实习总结]
这次课程设计实习使我收获很多。通过这几天的实习,让我更加深刻了解到了面向对象的应用。这次的课程设计,虽然老师您的要求有很多条件,但是却是让我切实体会到了自己动手的快乐。
要我们自己设计一个管理系统,从定题目,到开始写代码,全部都是自己来。我在开始课程设计前的两周就开始考虑我课设的时候应该做什么内容,想做一般同学都能想到的学生管理系统,但是就怕会有类似的不敢做,冥思苦想了好久,最后才定下的备忘录管理系统,其实所有的管理系统的本质都是一样的, 删, 增, 改, 查,但是,这些东看似简单,做起来却难。
虽然一直在调试,但是始终出现的是主窗体,登陆窗体始终出不来,最后才想起来忘了这个小步骤,但是这也让我明白,上课的点滴小事,也是非常重要的,除了上课认真听讲之外,下课了还得很认真的看代码,把代码的意思弄明白,渐渐的,像数据库里的表怎么设计,怎么连接数据库,按钮怎么设置,还有很多我都能掌握,所以感觉这次课程设计带给我很多。课程设计不仅是检查一个人知识掌握了多少,其实更重要的是检测你的实践能力,以及看你是否细心、是否有缜密的思维,所以,我们要在课下的时候加强锻炼,磨练自己,使自己有更高的提高。
悠悠时光匆匆而逝,转眼间实习已经接近结束了。在实习期间里,我们在于枯燥的程序代码打交道的同时,也一定有一些自己的独特的不一样的收获。犹记得实习前,我在网上查找实习指导资料,一颗带着回家的渴望的心早已经乐开了花。然后是与实习一的接触,那是整个实习过程中第一次让我觉得自己很天真的时刻。实习一内容很少,只是简单地进行数字图像处理,然而实习一中的代码却很多,我并没有一双灵巧的手,于是实习一的代码加编译调试我做了好几天。
在其过程中,我们遇到了很多问题和困难,发现在之前的学习中,所学的东西不能完全掌握。这次实习,是我在学习上的一次考验,让我深深体会到了实训操作的重要性。虽然此次实习已结束,时间不长,但意义很大。它使我了解自己的短处,让我知道要从什么方面对自己进行补充,这对我今后的学习和工作将产生很大的影响。
参考文献
[1] 罗朝盛. C程序设计实用教程.人民邮电出版社,2005