面向对象程序设计实验任务和指导(1)
《面向对象程序设计》课程设计任务及指导书
《面向对象程序设计》课程设计任务与指导书绍兴文理学院计算机系《面向对象程序设计》课程设计指导书设计任务与目的《面向对象程序设计》是一门实践性较强的软件基础课程,在理论课的基础上,通过《面向对象程序设计》的课程设计,使学生学会在.net平台开发环境下编写综合型、设计型的程序;巩固学生的的基础知识;培养学生采用面向对象的方法设计并调试较大型程序的动手能力,并更好地理解和消化课本所学的知识,为今后的实际应用打下良好的基础,课程设计侧重培养一下几方面的能力:(1)培养对问题中分析以及归纳和抽象到数据结构的能力;⑵培养选择和应用数据存储结构的能力;⑶培养数据组织的能力和抽象数据类型设计的能力;⑷培养算法设计、程序设计和调试的能力;⑸培养综合知识、方法、技能的应用能力;⑹培养编制较综合性程序的能力。
设计内容与基本要求课程设计的题目应以综合性的题目为主,选择与实际应用结合较紧密的较综合性的题目,难度应大于课程实验的题目。
本次设计的主要内容是(1)开发一个简单的教务管理系统,基本功能如下:通过提供控制台的图形界面,允许用户以3种不同的身份登陆教务系统,分别进行相关的操作:(1)系统管理员:管理现有课程、学期课程、教师及学生信息等(2)教师:管理本人的学期课程,查询选修所任课程的学生列表,并给学生打分等(3)学生:查询学期课程情况,选课/退课,查询已修课程成绩等要求学生用面向对象的思想对系统进行分析,设计所需类并实现,调试通过,基本数据信息均存放在文件中。
(2)使用Windows Form开发简单的游戏,实现基本的连连看功能(也可以是类似的别的小游戏),要求采用面向对象思想,实现算法逻辑与界面分离.时间及指导教师安排备注:(1)指导教师:戴振中(2)上机地点:理工楼303(理论课地点另定)(3)周二(2-9周)下午1:30~4:30考核课程设计的成绩分为:优秀、良好、中等、及格,不及格五个等级,不及格者不得取得相应学分。
《 面向对象程序设计》课程设计实验报告
《面向对象程序设计》课程设计实验报告指导教师小组成员:专业班级: 2010级计算机科学与技术专业开设时间:2011-2012(一)目录1.任务1 (2)1.1 任务介绍 (2)1.2 小组成员任务分配 (2)1.3.1设计思想及主要流程图 (2)1.3.1主要程序清单 (2)1.3.1 运行结果及分析 (4)1.3.2设计思想及主要流程图 (2)1.3.2主要程序清单 (2)1.3.2 运行结果及分析 (4)1.3.3设计思想及主要流程图 (2)1.3.3主要程序清单 (2)1.3.3 运行结果及分析 (4)2.任务2 (2)2.1 任务介绍 (2)2.2 小组成员任务分配 (2)2.3设计思想及主要流程图 (2)2.3主要程序清单 (2)2.3 运行结果及分析 (4)3收获、体会和建议 (4)任务1.按照要求设计类 1.根据输出设计类设计类就是根据数据封装的要求,抽象出适合的类。
有如下测试程序和测试程序的输出结果,要求设计类Welcome 。
void main() { Welcome we; Welcome you(we); you.Display();you.Set(“Thank you.”);cout<<you.Get()<<endl; you.talk(); you.Display();}测试程序的输出结果如右: 设计类Welcome 的原则 1)在头文件Cpp1.h 中声明类 2)在Cpp1.cpp 中实现类3)使用内联函数定义Display()函数2.使用类改写程序编写一个求方程02=++c bx ax 的根的程序,用三个函数分别求当ac b 42+大于零、等于零和小于零时方程的根。
要求从主函数输入a 、b 、c 的值并输出结果。
使用面向过程的解法一般是把变量设为double 型,适用库函数cmath 进行计算。
请注意:使用面向对象的方法解决这个问题,首先要从解一元二次方程出发,抽象一个代表一元二次方程的类。
面向对象程序设计(Java)实验指导书
10 信息管理与信息系统 专业
雷金娥编 2012 年 9 月
目录
实验一 Java Application 程序的编辑、编译和运行 ..................................... 2 实验二 Java 程序设计基础.................................................................................. 4 实验三 类的封装 ................................................................................................... 5 实验四 类的继承 ..................................................................................................... 6 实验五 类的多态 ..................................................................................................... 8 实验六 接口与实现接口的类 ............................................................................. 12 实验七 图形用户界面设计 ................................................................................. 14 实验八 线程设计 ................................................................................................. 16 实验九 输入/输出流与文件操作......................................................................... 18 实验十 数据库应用设计 ..................................................................................... 20
面向对象程序设计实验报告1
实验一
实验名称:实验一Visual C++环境
实验目的:
⒈熟悉VC++的集成开发环境,学习运行一个C++程序的步骤。
y=fun(x);
if(y==0)
cout<<"they input num is sushu"<<endl;
else
cout<<"they input num is not sushu"<iostream.h>
#include<math.h>
float fun(float a,float b,float c,float d)
return 0;
3. #include<iostream.h>
void main()
{inta,b,c,d,e;
double score;
a=b=c=d=0;
cin>>score;
while(score>=0)
{
if(score>=90)
a++;
else
if(score>=80)
b++;
else
if(score>=70)
do{
*p=*(--p);
}while( p>s+n);
(*p)=c;
}
return s;
}
int main()
C++面向对象程序设计》实验报告
《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。
(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。
(3)掌握简单C++程序的编写和调试方法。
(4)掌握重载函数的定义方法。
(5)能正确使用引用型变量。
2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。
②在自己指定的子目录中建立一个名为test.cpp的新文件。
③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。
观察和分析编译信息。
⑤根据编译信息指出的错误, 修改程序。
再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。
⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。
⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。
观察屏幕的变化。
在输出窗口应显示程序运行结果。
⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。
改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。
《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点
面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。
(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。
实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。
要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。
(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。
要求:使用递归函数。
主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。
链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。
程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。
C++面向对象程序设计实验指导
C++面向对象程序设计实验指导书(第三版)(适用于理工科)学号:姓名:班级:指导老师:计算机系2019年7月实验1 C++程序的运行环境和运行C++程序的方法一、实验目的和要求1.熟悉VS2015的集成开发环境;2.学会使用VS2015编辑、编译、连接和运行C++程序;3.通过运行简单的C++程序,初步了解C++源程序的结构和特点;4.学会使用简单的输入输出操作。
二、实验内容1.编辑、编译、连接和运行以下的C++程序#include<iostream>using namespace std;int main(){cout<<"Hello!\n";cout<<"This is a program."<<endl;return 0;}2.编译下列程序,改正所出现的错误信息,并写出输出结果。
(1)#include<iostream>using namespace std;int main(){cin>>a;int b=3*a;cout<<"b=<<b<<\n";return 0;}(2)int main(){cout<<"Hello!\n";cout<<"Welcome to C++!";}(3)#include<iostream>using namespace std;int main(){int x,y;x=5;y=6;int z=x*y;cout<<"x*y="<<z<<endl;return 0;}3.请填空完成以下程序,并上机调试正确,写出运行结果。
#include<iostream>using namespace std;int add(int a,int b);int main(){int x,y,sum;cout<<"Enter two numbers:”<<’\n’;//在下划线处填上语句,完成用cin读入x和y__________________________________________sum=add(x,y);cout<<”The sum is:”<<sum<<’\n’;return 0;}int add(int a,int b){//在下划线处填上语句,完成计算a与b的和并返回之_________________________}实验2 C++简单程序设计练习一、实验目的和要求1.进一步熟悉VS2015的集成开发环境。
面向对象程序设计实验报告
《面向对象程序设计实验》实验一、Java实验环境的建立(2学时)1、目的要求(1)掌握Java编程环境的搭建过程;(2)掌握Jcreator pro软件的使用方法;(3)能使用Java doc文档。
2、实验内容(1)下载并安装JDK1.6,配置JDK环境变量;(2)下载Javadoc压缩包并解压在JDK安装路径下;(3)下载Jcreator pro 4.0并安装和配置使用环境;(4)使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。
①Java application程序代码如下:public class HelloJava{public static void main(String args[]){ System.out.println("Hello Java!"); }}②Java applet程序代码如下:import java.awt.*;public class Hello extends java.applet.Applet{public void paint(Graphics g){ g.drawString("Hello!",30,30); }}3、仪器与材料:计算机实验二、Java语言程序设计训练(2学时)1、目的要求(1)输入、输出操作实现原理和方法;(2)掌握程序流程控制的实现方法;(3)掌握数组的定义和操作方法。
2、实验内容(1)计算Result=1!+2!+3!+...+10!。
public class Test3 {public static void main(String[] args) {int sum = 0, fact, n, i;for (n = 1; n <= 10; n++) {fact = 1;for (i = 1; i <= n; i++)fact *= i;sum += fact;}System.out.println("sum=" + sum);}}(2)计算1---50之间所有素数的和。
《面向对象程序设计》实验指导书(新)
《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。
能够使用面向对象编程语言进行相应的程序设计和开发。
理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。
掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。
通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。
四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。
掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。
2.编程求所有的3位数素数,且该数是对称的。
所谓“对称”是指一个数,倒过来还是该数。
例如,375不是对称数,因为倒过来变成了573。
实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。
2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。
实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。
面向对象程序设计实验任务和指导(1)
文档发表日期:2012-04-14最近修改日期:2014-09-01《面向对象程序设计》实验任务及指导目录一、实验1:熟悉实验环境二、实验2:数据抽象三、实验3:继承与多态性三、实验4:重载和I/O流及面向对象程序设计一、实验1:熟悉实验环境【实验目的】●熟悉Visual C++6.0开发环境。
●掌握多文件结构程序项目的建立过程。
●初步掌握面向对象程序的多文件结构项目的开发运行步骤。
【实验内容】1、学习多文件结构程序项目的建立过程,观看、体会演示。
2、下面的程序在编译时会出错,请修改程序,使之能正确运行。
#include<iostream>//#include "iostream " 或#include "iostream.h"//#include"文件名":使用<>表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找;使用双引号””则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。
一般使用双引号””. .h是引用C语言库.using namespace std;class MyClass{public:MyClass() { x=0;y=0; }MyClass(int a = 0, b = 0);Print();private:int x, y;};MyClass::MyClass(int a = 0, int b =0){x = a;y = b;}void MyClass::Print(){cout << "x = " << x << endl;cout << "y = " << y << endl;}int main(){MyClass obj1,obj2(5,8);obj1.x =1;obj1.y =3;obj1.Print();obj2.Print();return 0;}3、将任务2得到的正确程序分成3个文件。
面向对象程序设计课程实习任务书
面向对象程序设计课程实习任务书一、课程实习目的:面向对象程序设计课程实习是集中实践性环节之一, 是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。
要求学生达到熟练掌握C++语言的基本知识和技能; 基本掌握面向对象程序设计的思想和方法; 能够利用所学的基本知识和技能, 解决简单的面向对象程序设计问题, 从而提高动手编程解决实际问题的能力。
二、课程实习题目1) 高校人事管理系统2) 图书管理系统3) 高校工资管理系统4) 公司人员管理系统5) 高校学籍管理系统三、课程实习要求:⑴选题: 每位同学根据自己学号除以5所得的余数选择相应题号的课题, 余数为0则选择第5题。
换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作: ①完成系统需求分析: 包括系统设计目的与意义; 系统功能需求( 系统流程图) ;输入输出的要求。
②完成系统总体设计: 包括系统功能分析; 系统功能模块划分与设计( 系统功能模块图) 。
③完成系统详细设计: 包括数据库需求分析; 类层次图; 界面设计与各功能模块实现。
④系统实现: 系统运行后的测试及使用说明。
⑶按规定格式完成课程实习报告, 将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭她人程序、课程实习报告, 每个人应体现自己的个性设计。
四、实习时间实习时间一周( 第12周) , 周一到周四调试程序, 周五集中检查。
五、考核方式与标准采用实习表现情况、程序质量、实习报告相结合的考核形式:1、实习表现( 20%)实习出勤情况及实习态度2、程序质量与创新能力( 50%)最终完成的程序设计的工作量、质量、难易程度。
3、课程实习报告( 30%)报告的格式与内容。
六、课程实习报告内容:封面内容摘要目录文档正文1、系统需求分析2、总体设计包括系统功能分析; 系统功能模块划分与设计( 系统功能模块图) 。
3、详细设计类层次图; 各功能模块实现等4、系统实现系统运行后的测试及使用说明。
5、实习总结与体会6、附录: 源程序清单参考资料实习报告封面附后格式要求:1、纸张: 用A4纸张, 页边距一律为上、下2.5cm, 左2.5cm、右1.5cm, 装订线在左0.5cm, 行间距取固定值20磅, 字符间距为默认值。
面向对象程序设计实验报告
面向对象程序设计实验报告实验报告(1)2015.6【实验作者】学号:姓名:班级:教学站:【实验名称】实验一:熟悉C++程序的风格和C++程序的上机全过程【实验目的】1.熟悉C++程序的风格,熟悉实验环境。
2.练习C++程序的输入、修改、编译、连接与运行的全过程。
3.本实验有4个程序【实验内容】1. 习题2.2下面是一个C程序,改写它,使它采用C++风格的I/O语句。
(1)该程序做什么工作?输入两个整数,求两个整数的大于1 的最小公约数[(另外请教下毛老师:如果最小公约数与最小数相等时,我觉得也有可能这个数是两个数的大于1 的最小公约数)即7与14的公约数为1,7按题意的话,要大于1,那么7也是这两个数的最小公约数,但程序不认为它们具有公约数]。
(2)该程序中那几个数是由键盘输入的?那几个数是输出的?那几个数是临时变量?a与b 由键盘输入;d 是输出的;a,b,d,min 都是临时变量。
(3)用C++风格的I/O语句是什么?#include <iostream.h> cout<<与cin>>(4)写出该程序的算法(用流程图表示)框图1:(5)该程序你有否上机编译、连接、运行通过。
有上机编译连接并运行通过,但有些疑问!2. 习题 2.20分析下面程序的输出结果:(1)该程序做什么工作?利用引用函数改变一个变量的值。
(2)该程序有几个函数?其中f函数是什么函数?其功能是什么?一个函数,F函数是一个引用返回值的函数,并且该函数参数也为一个引用,函数功能是送入一个对变量引用,将变量+10后送回。
成为对返回值的引用。
(3)写出该程序的算法(用流程图表示)框图2:(4)该程序你有否上机编译、连接、运行通过。
该程序有上机编译并连接运行通过。
3. 习题2.23 建立一个被称为sroot( )的函数,返回其参数的二次根。
重载sroot( )三次,让它分别返回整数、长整数与双精度数的二次根(为了实际计算二次根,可以使用标准库函数sqrt( ))。
《面向对象程序设计》实验指导书
《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书郭⽟柱⼴东商学院信息学院⼆0⼀0 年⼗⼆⽉⽬录实验⼀ Java基础实验实验⼆ Java⾯向对象特性试验--Java中的类、对象和⽅法实验三类的继承、多态、接⼝、访问控制符与修饰符实验四 Java资源及其利⽤实验五 Java 语⾔的异常处理实验六输⼊输出流实验七图形⽤户界⾯设计实验⼋ Java Applet及多线程试验附录1 实验报告格式实验⼀ Java 基础实验⼀、实验⽬的与要求1. 学习编写简单的Java 程序。
2. 学习掌握Java 基本数据类型及其基本运算。
3. 学习掌握Java 的基本流程控制语句。
⼆、相关知识1. 了解JDK 的⼯作环境,以及如何使⽤JDK 进⾏编程。
2. 熟悉集成软件 eclipse3.5及其使⽤。
⼆、实验内容1. 编写Hello.java 程序并运⾏。
2. ⽤Java 语⾔编写⼀个应⽤程序在屏幕上输出1000之内的素数。
3. ⼀个数如果恰好等于它的因⼦之和,这个数就称为“完数”,⽐如28=1+2+4+7+14。
编写⼀个应⽤程序在屏幕上输出1000之内的完数。
4. 求满⾜1!+2!+3!+ …+n!≤9999的最⼤整数n 。
5. ⼀个三位的整数如果它的各位数字的⽴⽅之和等于这个三位数,就称此数为⽔仙花数,⽐如 333173371++=,编写⼀个应⽤程序在屏幕上输出所有⽔仙花数。
6. 下⾯程序的输出结果是什么?实验⼆ Java⾯向对象特性试验-Java中的类、对象和⽅法⼀、实验⽬的与要求1. 掌握类的定义和使⽤。
2. 掌握对象的声明、创建和使⽤。
3. 掌握构造⽅法的定义和使⽤。
4. 掌握类⽅法(静态⽅法)和⾮类⽅法(⾮静态⽅法)的区别和使⽤。
5. 掌握成员变量和局部变量的区别和使⽤。
⼆、实验内容1. 编写⼀个Java程序,定义⼀个表⽰学⽣的类,类名Student,其成员变量有:学号、班级姓名、性别、年龄;成员⽅法:(1)获得班号(2)获得姓名(3)获得年龄(4)修改年龄;创建⼀个Student的对象,修改该对象的年龄,并输出该对象的年龄。
java面向对象程序设计实验指导与习题解
java面向对象程序设计实验指导与习题解
1、Java面向对象程序设计实验指导:
(1)理解Java面向对象程序设计的基本概念,如类、对象、封装、
继承、多态等;
(2)熟悉Java常用API的使用,比如String、Random等;
(3)掌握Java多线程编程及技术;
(4)学会使用Java GUI编程;
(5)熟悉Java网络编程及Java数据库技术;
(6)理解面向对象编程的设计原则及过程;
(7)熟练使用UML实现面向对象程序;
(8)能够设计出更强大、更高效的Java程序;
(9)夯实基础,熟练掌握和运用带实例的实验指导,学会把它们运
用到自己的实际应用中。
2、Java面向对象程序设计习题解:
(1)《Java编程思想》中的实例:
从《Java编程思想》一书的示例中学习,包括图形化编程,多线程,网络协议和数据库;
(2)面向对象设计思维:
熟练掌握设计模式的概念,并能够设计出更加优秀的类和对象;
(3)增强实现能力:
举出实际应用场景,结合实际应用,夯实基础,运用实验指导解决实际问题。
《面向对象程序设计》实验指导书
《面向对象程序设计》实验指导书第一部分实验教学大纲课程名称:面向对象程序设计实验一、课程简介及基本要求面向对象的程序设计是一门实践性很强的课程,每个学生必须完成一定数量的上机作业。
通过上机作业进一步加深对课程基本内容的理解。
同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。
由于学生编程和上机的熟悉程度往往差别较大,本大纲所要求的实验为每个学生必须完成的实验,即最低要求。
其它上机内容由学生在教师指导下自选,内容可以是习题中编写的程序,也可以是学生解决实际问题中所编写的程序。
二、实验课程目的与要求实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
本课程使学生熟悉C++的语法特性,了解C与C++的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性—类;掌握用C++编写面向对象程序的一般方法;了解VC++编程环境。
三、主要仪器设备PC机器一台。
装有C++builder 或Visual C++或其他的C++编译软件。
四、实验方式与基本要求要求把每次实验的程序文本和运行结果通过邮件方式发送给实验指导老师.五.考核与报告本课程实验考试方式是考查,按一般课程考试方式进行,主要内容包括实验操作和实验报告,实验成绩占该课程形成性考核成绩的30%。
实验报告的规范:实验完成后填写统一的实验报告,给出实验内容题目、年级、姓名、学号、指导教师、完成日期,并详细填写:实验目的、实验程序、实验结果及分析、存在的问题。
实验0、C++开发环境应用(课外实验 2学时)1、实验目的(1)了解C++开发工具的特点(2)熟悉C++开发环境(2)学习用C++编写标准的C++程序2、实验任务使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序:#include <iostream.h>void main(void){cout<<”Hello!\n”;cout<<”Welcome to C++!\n”;}3、实验步骤(1)启动Visual C++开发环境(2)创建一个项目a.单击File菜单中的New选项,显示示新建对话框b.选择Win32 Console Application(VC++)。
《面向对象程序设计》实验指导书
《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书实验⼀ Java开发环境⼀、实验⽬的:1、熟悉JAVA开发环境(JBUILDER/JDK)2、认识Java程序结构。
⼆、实验内容:1、配置JDK,编译调试HelloWorld程序。
2、熟悉JAVA开发⼯具,编译调试HelloWorld程序。
三、实验要求:1、HelloWorld程序输出⼀条简单的问候信息;2、实验报告中对程序结构做出详细的解释;3、实验报告中给出配置JDK的步骤。
四、实验学时、性质:2学时、验证性五、实验步骤:1、进⼊Java编程环境;2、新建⼀个Java⽂件,命名为HelloWorld.java;3、定义主⽅法public static void main(String[ ] args);调⽤System.out.println()⽅法,使程序输出⼀条问候信息;4、编译运⾏程序,观察运⾏情况和输出结果。
(如果使⽤JDK环境,调⽤javac.exe和java.exe编译和执⾏程序)实验⼆类与对象⼀、实验⽬的:1、掌握类的定义与成员的封装。
2、掌握对象的创建,对象属性的访问和⽅法的调⽤。
3、掌握包的使⽤。
⼆、实验内容:1、⾃定义⼀个学⽣类。
2、导⼊并访问其他同学定义的学⽣类。
三、实验要求:2、实验报告中记录访问不同属性时编译器的反馈并分析原因。
四、实验学时、性质:3学时、验证性五、实验步骤:1、创建⼀个Java包,以⾃⼰的英⽂名字命名。
2、定义⼀个学⽣类,包含三个属性学号、姓名和性别,访问修饰符分别是private、⽆修饰符和public修饰符。
3、在另⼀个类中创建学⽣类的对象,分别设置三个属性的值,观察实验结果。
4、导⼊同学定义的学⽣类。
分别访问三个属性,观察实验结果。
实验三数据类型与数组⼀、实验⽬的:1、掌握数据类型与数组的定义、初始化与使⽤。
⼆、实验内容:1、查看⾃⼰名字的UNICODE编码。
2、转置⼆维矩阵。
三、实验要求:1、使⽤已知给定的数值初始化⼀个5X5的⼆维数组。
面向对象程序设计实验报告
namespace _1
{
class Program
{
static void Main(string[] args)
{
int[][] jagArray=new int[2][]{new int[5],new int[3]};
for (int i = 0; i < jagArray.GetLength(0); i++)
(2)在代码编辑窗口内的Main()方法中添加如下代码:
using System;
namess HelloWorld
{
public static void Main()
{
Console.WriteLine("Hello world!");
}
}
}
(1)选择“调试” “启动调试”命令,或按【F5】键,或单击工具栏上的 按钮,运行程序,查看运行结果。
}
for (int i = 0; i < 5; i++)
{
for (int j = 0; j <= i;j++ )
Console.WriteLine("{0}\t", a[i, j]);
Console.WriteLine();
}
Console.Read();
}
}
}
(10)分析程序,写出程序的运行结果,并上机进行验证。
Console.Write("{0,-3}",jagArray[k][m]);
Console.WriteLine();
}
Console.Read();
}
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档发表日期:2012-04-14最近修改日期:2014-09-01《面向对象程序设计》实验任务及指导目录一、实验1:熟悉实验环境二、实验2:数据抽象三、实验3:继承与多态性三、实验4:重载和I/O流及面向对象程序设计一、实验1:熟悉实验环境【实验目的】●熟悉Visual C++6.0开发环境。
●掌握多文件结构程序项目的建立过程。
●初步掌握面向对象程序的多文件结构项目的开发运行步骤。
【实验内容】1、学习多文件结构程序项目的建立过程,观看、体会演示。
2、下面的程序在编译时会出错,请修改程序,使之能正确运行。
#include<iostream>//#include "iostream " 或#include "iostream.h"//#include"文件名":使用<>表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找;使用双引号””则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。
一般使用双引号””. .h是引用C语言库.using namespace std;class MyClass{public:MyClass() { x=0;y=0; }MyClass(int a = 0, b = 0);Print();private:int x, y;};MyClass::MyClass(int a = 0, int b =0){x = a;y = b;}void MyClass::Print(){cout << "x = " << x << endl;cout << "y = " << y << endl;}int main(){MyClass obj1,obj2(5,8);obj1.x =1;obj1.y =3;obj1.Print();obj2.Print();return 0;}3、将任务2得到的正确程序分成3个文件。
文件MyClass.h包括类的定义,文件MyClass.cpp包括类成员函数的实现,文件App.cpp包括类的使用。
调试、运行该程序,使之获得正确结果。
4.已知两个矩形的长和宽,用面向对象的概念编程求它们的面积和周长。
假设矩形1 的长和宽分别为20 和50;矩形 2 的长和宽分别为 3.6 和 4.5。
(先定义矩形类再实例化两个对象)5. 将教材7.1.3例题改造成面向对象的C++程序。
使用单链表来存储集合元素。
定义node类和Set类。
【实验指导】1、头文件中通常包含常量、类型、函数原型的定义。
类是用户定义的类型,故将类的定义放在头文件中。
函数的定义即函数的实现应放在实现文件.cpp文件中。
这样的安排体现了信息隐藏和模块化。
将类成员函数的实现和类的使用放在不同的cpp文件中,可将类的实现与类的使用分离,体现了对接口编程的思想。
2、文件MyClass.h中的结构#include<iostream>using namespace std;// MyClass的定义文件MyClass.cpp中的结构#include “MyClass.h”// MyClass成员函数的定义文件App.cpp中的结构#include “MyClass.h”// main函数的定义3、避免头文件内容被重复引入。
头文件内容被重复引入会导致标识符重复定义的错误。
用预编译条件指令来限制头文件内容的引入。
例如:#ifndef MYCLASS#define MYCLASS// MyClass.h头文件的内容#endif说明:#ifndef <标识> //如果没有定义<标识>#define <标识> //定义<标识>............#endif<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。
标识的命名规则一般是头文件名全大写,前后加下划线,这样如果有两个地方都包含这个头文件,就不会出现两次包含的情况。
因为在第二次包含时<标识已经有定义了,所以就不再include了.二、实验2:数据抽象【实验目的】●掌握类的定义和使用以及类对象的声明和使用方法,理解具有不同访问属性的成员的访问方式。
●掌握构造函数和析构函数的作用和编写方法。
●了解并掌握静态成员、常成员的使用。
【实验内容】1、下面程序中定义了一个整型动态数组,编写了3个构造函数。
#include<iostream>using namespace std;class IntArray {public:IntArray(int sz); // 数组初始化为sz个元素,初值全为0IntArray( int *array, int sz ) ; // 用静态数组array的前sz个元素初始化新数组IntArray( const IntArray &rhs ) ; // 拷贝构造函数void printAll();private:int *ia;int size;};IntArray::IntArray( int sz ) {size = sz; // 设置数据成员ia = new int[ size ];for ( int ix=0; ix < size; ++ix )ia[ix] = 0; // 初始化数组元素}IntArray:: IntArray( int *array, int sz ) {size = sz; // 设置数据成员ia = new int[ size ];for ( int ix=0; ix < size; ++ix )ia[ix ] = array[ ix ]; // 拷贝数据成员}IntArray:: IntArray( const IntArray &rhs ){size = rhs.size;ia = new int[ size ];for (int ix = 0; ix < size; ix++ )ia[ ix ] = rhs.ia[ ix ];}void IntArray::printAll(){for ( int ix=0; ix < size; ++ix )cout<<ia[ix]<<" ";cout<<endl;}int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};IntArray arr1(10), arr2(a,5),arr3(arr2);arr1.printAll();arr2.printAll();arr3.printAll();return 0;}(1)为IntArray加上析构函数并编译运行程序,体会类的构造函数和析构函数的作用。
(2)程序中,类IntArray的三个构造函数都是以相似的方式来实现的。
一般来说,当两个或多个函数重复相同的代码时,可将这部分代码抽取出来,形成独立的函数,以便共享。
以后如果需要改变这些实现,则只需改变一次,而且这种实现的共享本质更容易为大家所理解。
怎样把构造函数中的代码抽取出来形成独立的共享函数呢?请给出一种可能的实现。
按你给出的实现方法修改程序并重新编译运行。
2、设有一个点myPoint类的定义如下:class myPoint {public:myPoint(double x0=0.0,double y0=0.0):x(x0),y(y0) {}myPoint(myPoint &np):x(np.x),y(np.y) {}double GetX() { return x;}double GetY() {return y;}void SetX(double x0) {x=x0;}void SetY(double y0) {x=y0;}void SetPoint(double x0,double y0) {x=x0;y=y0;}void SetPoint(myPoint &np) { x=np.x; y=np.y;}double GetLength(myPoint p) {return sqrt((x-p.x)*(x-p.x) +(y-p.y)*(y-p.y));}void Printit() { cout<<" ("<<x<<","<<y<<") ";}private:double x ,y;};试定义一个三角形Triangle类,在Triangle类中以点myPoint类的3个对象p1、p2、p3作为数据成员,表示三角形的三个顶点。
Triangle类具有计算三角形的周长和面积的功能。
请编写程序上机调试并运行。
3. 编写栈类stack,要求栈类可以进行入栈和出栈操作,还可以查看栈顶元素的值。
栈类中的每个节点为一个类node对象。
Node类含有两个成员:int data,node *prev。
【实验指导】1、(1)可参考教材第192页关于“浅复制”和“深复制”的示例来实现析构函数的定义。
(2)在类中将构造函数的代码抽取出来形成独立的函数,然后在构造函数中调用执行,注意函数参数的设置和定义。
2、由于在Triangle类中需要定义myPoint类的对象,因此需要在Triangle类的构造方法的成员初始化列表中实现对成员对象的初始化。
三、实验3:继承与多态性【实验目的】●掌握继承的概念,能够定义和使用类的继承关系。
●了解在派生类中如何使用基类的成员以及基类成员在派生类中的访问控制特性。
●理解虚基类在解决二义性问题中的作用。
●理解静态多态性和动态动态性的含义。
掌握使用虚函数和继承实现动态多态性的方法。
【实验内容】1、有如下的程序:#include <iostream>using namespace std;class Base{public :Base(int p1, int p2) { data1 = p1; data2 = p2; }int Inc1( ) { return ++data1; }int Inc2( ) { return ++data2; }void Display(){ cout<<"data1 = "<< data1 << " data2 = " << data2 << endl; }protected:int data1, data2;};class D1 : public Base {public :D1(int p1, int p2, int p3) : Base(p1, p2) { data3 = p3; }int Inc1( ) { return Base::Inc1( ); }int Inc3( ) { return ++data3; }void Display( ){cout<<"data1 = "<< data1 << " data2 = " << data2 << " data3 = " << data3 <<endl;cout<<"Base::Display() ----";Base::Display( );}protected:int data3;};class D2 : public Base {public :D2(int p1, int p2, int p4) : Base(p1, p2) { data4 = p4; }int Inc1(){Base::Inc1( ); Base::Inc2( );return Base::Inc1( );}int Inc4( ) { return ++data4; }void Display( ){cout<<"data1 = "<< data1 << " data2 = " << data2 << " data4 = " << data4 <<endl;cout<<"Base::Display() ----";Base::Display( );}protected:int data4;};class D12 : public D1, public D2 {public :D12(int p11,int p12,int p13,int p21,int p22,int p23,int p): D1(p11, p12, p13), D2(p21, p22, p23) { data5 = p; }int Inc1( ){ D1::Inc1(); D2::Inc1( );return D1::Inc1( );}int Inc5( ) { return ++data5; }void Display( ){cout<<"data1 = "<< data1 << " data2 = " << data2 <<endl; // ①cout <<" data3 = " << data3 <<"data4 = "<< data4 << " data5 = " << data5 <<endl;cout << "D1::Display( )----";D1::Display( );cout << "D2::Display( )----";D2::Display( );}private:int data5;};int main(){D12 d(1, 2, 3, 4, 5, 6, 7);d. Display( );cout << endl;d.Inc1();d.Inc2(); // ②d.Inc3();d.Inc4();d.Inc5();d.D12::Inc1();d.Display();return 0;}(1)这个程序在编译时会出现错误,请根据出错提示信息找出出错的原因。