《面向对象程序设计》实验指导书1

合集下载

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

实验一熟悉Visual Basic集成开发环境一、实验目的1.了解Visual Basic语言的功能特点。

2.熟悉Visual Basic的开发环境。

3.掌握建立、编辑和运行一个简单的VB应用程序的全过程。

二、实验内容创建一个“标准EXE”类型的应用程序。

要求学生建立、编辑、调试、运行和保存简单的VB程序。

三、实验步骤1.熟悉Visual Basic的开发环境。

(1)定制第一个开发环境。

1)单击“工程窗口”、“属性窗口”、“窗体布局窗口”及“工具箱窗口”右上角的关闭按钮2)单击Form,将Form窗口放到最大。

(2)定制第二个开发环境。

1)选择“视图”菜单中的“工程资源管理器”选项,显示“工程资源管理器”窗口。

2)选择“视图”菜单中的“属性窗口”选项,显示“属性窗口”。

3)选择“视图”菜单中的“窗体布局窗口”选项,显示“窗体布局窗口”。

4)选择“视图”菜单中的“工具箱”选项,显示“工具箱”窗口。

5)将“工程资源管理器”、“属性窗口”、“窗体布局窗口”、“工具箱”四个窗口用鼠标拖动到合适的位置。

(3)增加窗体。

单击“工程”菜单中的“添加窗体”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个快捷菜单,选择“添加窗体”选项,将在Form1的基础上添加一个窗体Form2。

(4)增加标准模块。

单击“工程”菜单中的“添加模块”选项,可增加一个标准模块Module1,再单击一次增加第二个便准模块Module2;或者在“工程资源管理器”中的“工程”图标上单击右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加模块”选项,将在工程1种添加一个标准模块Module1,在选择“添加模块”选项,将在工程1种添加第二个标准模块Module2。

(5)增加类模块。

单击“工程”菜单中的“添加类模块”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加类模块”选项,将在工程1种添加一个类模块Class1。

《面向对象程序设计》实验指导书(选修)

《面向对象程序设计》实验指导书(选修)

《面向对象技术》实验指导专业:_________________学号:_________________姓名:_________________教师:_________________目录实验一类与对象 (4)一.实验目的 (4)二.实验内容 (4)三.提高练习 (6)四.程序清单 (7)实验二友元 (8)一.实验目的 (8)二.实验内容 (8)三.提高练习 (9)四.程序清单 (10)实验三模板 (11)一.实验目的 (11)二.实验内容 (11)三.提高练习 (12)四.程序清单 (13)实验四重载 (15)一.实验目的 (15)二.实验内容 (15)三.提高练习 (17)四.程序清单 (18)实验五继承性与派生类 (19)一.实验目的 (19)二.实验内容 (19)三.提高练习 (22)四.程序清单 (23)实验六多态性与虚函数 (25)一.实验目的 (25)二.实验内容 (25)三.提高练习 (28)四.程序清单 (29)实验七输入输出流、文件流与异常处理 (31)一.实验目的 (31)二.实验内容 (31)三.提高练习 (32)四.程序清单 (33)实验八面向对象分析、设计综合实验 (35)一.实验目的 (35)二.实验内容 (35)三.提高练习 (36)四.程序清单 (37)附录:课程设计题目 (39)第1题:设计一个学生学籍管理系统 (39)第2题:设计一个循环链表,用来表示大整数 (39)第3题:设计一个模拟电信计费程序 (39)第4题:设计一个保留字(或关键字)的统计程序 (40)第5题:设计一个文本行编辑程序 (40)第6题:设计一个数据文件处理程序 (40)第7题:设计一个超长整数类 (41)第8题:设计一个随机读写文件程序 (41)第9题:设计一个图形类体系 (41)第10题:设计一个简单生命仿真程序 (41)总结《面向对象方法》课程 (42)《面向对象方法》实验报告学号:姓名:实验一类与对象一.实验目的●学习类与对象的定义,声明和使用方法●数据成员与成员函数的访问权限●构造函数和析构函数的作用●重载成员函数●对象指针和对象数组●成员指针●静态数据成员和静态成员函数●嵌套类和子对象●常对象二.实验内容第Ⅰ题:基本练习1.定义一个矢量类Vector,其结构如下:●私有数据成员int x,y; 表示二维矢量的两个分量●构造函数实现初始化数据成员●输出数据成员函数void display( );●类外访问数据成员函数int getx( );int gety( );●功能成员函数实现矢量加、减、乘运算Vector Add(const Vector &ob2 );Vector Sub(const Vector &ob2 );int Mult(const Vector &ob2 );2.在Vector 类的基础上,定义矩阵类Matrix(2*2阶),其结构如下:●私有数据成员Vector lefttop,righttop,leftbottom,rightbottom; 表示2*2阶矩阵的四个元素。

面向对象程序设计实验指导书1

面向对象程序设计实验指导书1

《面向对象程序设计》实验指导书2013.11.13目录实验1 VC++ 6.0开发环境应用入门实验2 C++简单程序设计实验3 函数的应用实验1 VC++ 6.0开发环境应用入门一、实验目的(1)了解Visual C++ 6.0的特点。

(2)熟悉Visual C++ 6.0的开发环境。

(3)学习用Visual C++ 6.0编写标准的C++控制台程序。

二、实验任务使用Visual C++ 6.0建立一个非图形化的标准C++程序,编译、运行以下程序:#include <iostream>using namespace std;int main(){cout<<"Hello! \n";cout<<"Welcome to C++! \n";}三、实验步骤1. 启动Visual C++ 6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual C++ 6.0| Microsoft Visual C++ 6.0,显示Visual C++ 6.0开发环境主窗口。

2. 创建一个项目单击File菜单中的New选项显示New(新建)对话框。

单击Projects标签,在Projects(项目)选项卡中,选择Win32 Console Application(Win32控制台应用程序)。

在Location(位置)文本框中指定一个路径,在Project Name(项目名称)文本框中为项目输入一个名字“lab1_1”,单击OK(确定)按钮。

在弹出Win32 Console Application-Step 1 of 1对话框中选择An empty project单选项,然后单击Finish(完成)按钮。

最后在New Project Information 对话框中单击OK按钮,完成项目的建立。

3. 建立C++源程序文件选择菜单命令Project | Add to Project | New对话框。

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

《面向对象程序设计》实验指导书 (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)删除中间的节点,再顺序输出学生信息。

《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比: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.计算机。

(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。

面向对象程序设计实验指导书

面向对象程序设计实验指导书
问题一:上述程序的输出结果是什么? 答: x1=6
x2=4 d1=5.6 d2=12 问题二:①处调用的是哪个函数? 答:调用的是 int max_def(int x, int y, int z) { int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } 问题三:②处的输出结果为什么是 d2=12,而不是 d2=12.3? 答:因为①处调用的是整型函数,d2 在此函数中被转换为整型,小数点后面被删除。 2.理解下面的程序并运行,然后回答问题。
7
} private:
int month; };
int day;
int year;
void main() {
CDate a; --------------------------.Set(10,15,2007) ; a.Print(); }
1.2 实验内容
1.2.1 程序阅读
1.理解下面的程序并运行,然后回答问题。
#include <iostream.h>
int max_def(int x, int y) {
return (x>y?x:y); } int max_def(int x, int y, int z) {
int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } double max_def(double x, double y) { return (x>y?x:y); } int main() { int x1 = 0;
试设计一个复数类该类有实部和虚部两个成员数据数据成员采用私有访问权限同时该类有两个公有成员函数分别用来设定数据成员的值和输出数据成员的值在主函数中分别采用对象方式指针方式和引用方式来调用该类的公有函数并设置和输出数据成员的值

#《面向对象程序设计》(C++)实验指导书

#《面向对象程序设计》(C++)实验指导书

实验 1 类和对象1.1实验目的和要求(1) 理解类和对象的概念,掌握声明类和定义对象的方法。

(2) 掌握构造函数和析构函数的实现方法。

(3) 初步掌握使用类和对象编制C++程序。

(4) 掌握对象数组、对象指针和string类的使用方法。

(5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。

(6) 掌握类对象作为成员的使用方法。

(7) 掌握静态数据成员和静态成员函数的使用方法。

(8) 理解友元的概念和掌握友元的使用方法。

1.2实验内容和步骤1.输入下列程序//test4-1.cpp#include<iostream>using namespace std;class Coordinate{ public:Coordinate(int x1,int y1){ x=x1;y=y1;}Coordinate(Coordinate &p);~Coordinate(){ cout<<”Destructor is calleded\n”;}int getx(){return x;}int gety(){return y;}private:int x,y;};Coordinate::Coordinate(Coordinate &p){ x=p.x;y=p.y;cout<<”copy-initialization Constructou is called\n”;}int main(){ Coordinate p1(3,4);Coordinate p2(p1);Coordinate p3=p2;cout<<”p3=(“<<p3.getx()<<”,”<<p3.gety()<<”)\n”;return(0);}(1)写出程序的运行结果。

(2)将Coordinate类中带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<”Constructor is called.\n”;写出程序的运行结果,并解释输出结果。

面向对象程序设计实验一指导书

面向对象程序设计实验一指导书

数理学院信息与计算科学专业面向对象程序设计实验指导书姓名:信技一班9号毛棱箭实验日期:2014年10月10号交报告日期:2014年10月31号信息与计算科学教研室实验一实验内容✧程序运行效果示例:✧程序源代码package STU;public class people{private String name;private int age;static int count;people(){name = "张三";age = 13;System.out.println("姓名:"+name);System.out.println("年龄:"+age);}people(String name,int age){ = name;this.age = age;System.out.println("姓名:"+name);System.out.println("年龄:"+age);}static void minus(){int num1 = 56;int num2 =72;int t = 0;int r = 0;System.out.println("数:"+num1+"数:"+num2);if(num1 < num2){t = num1 ; num1 = num2 ; num2 = t;}r = num1 % num2;if(r == 0){System.out.println("这两个数的最大公约数是:"+num2);}while(r != 0){num1 = num2;num2 = r;r = num1 % num2;}System.out.println("这两个数的最大公约数是:"+num2);}static int fun(int n){if(n == 0 || n == 1)return 1;elsereturn n*fun(n-1);}static int fibonacci(int n){ if(n <= 1)return 1;return fibonacci(n-1)+fibonacci(n-2);}public static void main(String[] args){for(int i = 1;i <= 3; i++){ssf a = new ssf();ssf.count++;System.out.println("看这是类变量:"+ssf.count);}ssf b = new ssf("李四",22);ssf.count++;System.out.println("看这是类变量:"+ssf.count);ssf.minus();int number = 4 ;int number1;number1 = ssf.fun(number);System.out.println(number+"的阶乘是:"+number1);int nums =ssf.fibonacci(20);System.out.println("斐波那契数列的第20个数是:"+nums);}} }【注意事项】①实验报告要求每组提交一份,包括实验名称、班级、姓名、试验日期、交报告日期等。

《面向对象程序设计实践》课程实验指导书

《面向对象程序设计实践》课程实验指导书

《面向对象程序设计》课程实验指导书实验一简单电阻电路的计算一、实验目的:能编制第一个程序。

熟悉IDE的使用方法,掌握项目的建立,文件编辑,编译运行和调试的过程和方法。

二、实验环境:Visual C++ 2005。

三、实验内容:1.编制一个程序计算简单电阻电路的电流值。

电路示意图如下:R2.程序能接收用户输入的电压E与电阻值R。

3.程序能判断输入值是否正确,不正确时能进行正确处理。

数据不正确的情况包括:电阻为0 或为负值。

4.输出计算的电流值结果I。

四、实验要求:1. 根据实验内容编程。

2. 上机,建立新项目,录入源代码,编辑,编译,运行,调试直至得出正确的运行结果。

五、实验学时:4学时六、实验步骤:1.根据课堂讲授内容,编制能计算电阻电路电流的程序。

2.进入编程环境,建立一新项目proj1(文件→新建→项目→Visual C++→常规→空项目);3.在新项目中建立一个新文件main.cpp(项目→添加新项→代码→C++文件(*.cpp))。

4.向main.cpp中录入编制的程序。

5.编译(生成→生产proj1)和运行程序(调试→启动调试)。

6.如果编译或运行有错,修改错误或调试直至程序能给出正确的运行结果。

七、选作实验1.上机运行第二章习题7。

2.上机运行第三章习题2、13、18。

实验二阶梯型电阻电路的计算程序一、实验目的:1.能利用条件判断、循环和数组实现较复杂的程序。

2.能利用函数封装单一的功能实现。

3.能实现文件的分别编译。

二、实验内容:1.编制一个程序计算阶梯型电阻电路的电流值。

电路示意图如下:I2nR2n2.能接收用户输入的电压源电势E和所有电阻的电阻值。

3.程序能判断输入值是否正确,不正确时能进行正确处理。

输入数据不正确的情况包括:电阻输入0或负值,输入电阻的数目为奇数。

4.输出计算结果:每个电阻上的电压和电流。

三、实验要求:1. 根据实验内容编程。

2. 上机,建立新项目,录入源代码,编辑,编译,运行,调试直至得出正确的运行结果。

(修正版)《面向对象》实验指导书

(修正版)《面向对象》实验指导书

《面向对象程序设计》实验指导书林煜明应用科技学院实验一简单C++程序的设计1、实验目的熟悉VC6.0的运行环境,通过编写简单的C++程序,学会在VC6.0中编辑、编译、运行和调试程序。

2、实验内容以下内容(1)和(2)必做,(3)可根据具体情况选做。

(1)编写程序,实现输入两个整数,计算并输出其结果,要求显示相应的交互信息。

(2)将(1)中的功能使用函数实现,并在main函数中要求由用户确定是否继续。

提示:每计算完一次,提示用户输入Y/N,输入Y则继续调用,输入N则推出程序。

(3)编写一个有助于小学生学习乘法的程序,利用rand函数生成两个一位的正整数。

随后,函数输入如下所示的问题:How much is 6×7?然后学生输入答案。

由程序检查学生的答案。

如果正确,就打印“Very good!”;如果答案错误,就打印“Error!Please try again。

”让学生再次输入答案,直到正确为止。

注:rand函数包含在stdlib.h头文件中。

3、实验要求(1)独立完成实验。

(2)实验前需先完成预习报告,报告中应预先编写好源程序。

(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。

(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。

要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。

实验二函数模板和带有缺省参数的函数1、实验目的掌握函数模板和带有缺省参数的函数的定义,理解函数模板的作用,此外还应注意对带有缺省参数的函数进行调用时的具体情况。

2、实验内容以下内容中可根据具体情况(1)和(2)选一,(3)和(4)选一。

(1)设计一个函数模板,它返回三个值中的较大值,并用int、char、double 型的值进行验证。

(2)编写程序,在主函数中输入两个值,然后将这两个值交换。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书郭⽟柱⼴东商学院信息学院⼆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的对象,修改该对象的年龄,并输出该对象的年龄。

《面向对象程序设计》实训指导书

《面向对象程序设计》实训指导书

《面向对象程序设计》实训一、实训目的:1、学生进一步巩固《面向对象程序设计》课程中所学到的知识,熟练掌握C++语言程序设计,增强实际编程能力。

同时,加强对VC++编程环境的使用能力,掌握VC++编程环境中的调试功能。

从而达到用C++语言进行中等难度程序开发的目标。

2、学生掌握面向对象设计开发的基本思想和方法,培养学生在已有的知识基础上进一步获取新知识的能力,提高分析问题和解决问题的能力。

3、培养和提高学生的逻辑思维、抽象思维和统筹规划能力,培养学生独立完成程序设计开发的工作能力。

为今后从事专业性软件开发工作打下基础。

二、实训环境:1、操作系统平台:Windows 98 / Windows 2000 / Windows XP2、软件开发平台:Visual C++ 6.04、其它应用软件:Microsoft Access / SQL Server ,Word等三、实训的基本要求1、实训选题要求实训题目可以是学生自选题目或教师指定题目。

学生自选题目必须写出开题报告,经教师审核通过后方可作为正式选题。

2、课题规模要求(1)题目涉及的自定义基础类应不少于3个、必须有派生类。

(2)题目涉及的主要功能模块应不少于6个。

(3)数据的存储可以使用数组,使用文件,也可以使用数据库。

(4)用户界面最好采用图形界面,界面个数不少于3个。

3、分工与合作要求每个题目由3个学生共同完成,每组的人数视题目规模由教师规定。

每组组员之间必须要有明确的分工,并独立完成各自的设计任务,最后组内联调、共同整理项目文档。

4、所创建的程序名、类名、文件名要求必须加上本人的姓名拼音。

5、实训内容要求在一周内完成。

晚交者扣3~5分,超过截止日期的实训成绩计为零分。

6、实训报告的具体要求请见后面的“实训报告格式要求”。

四、实训内容:实训题目一、模拟银行储蓄存取款系统请实现一个简单的银行储蓄系统,完成活期用户的存款和取款业务。

要求如下:1.实现描述银行的类,记录系统中现有哪些储户(提示:可用数组实现,但须注意判断数组越界的情况),该类中要求包含三个函数:(1)生成新储户的函数(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的⼆维数组。

C++面向对象程序设计实验指导书[1]

C++面向对象程序设计实验指导书[1]

C++面向对象程序设计实验指导书(v1.0)刘恒洋谭智编重庆工学院计算机学院2007年9月目录绪论 (1)0.1 写本书的目的 (1)0.2 本书的结构安排 (1)0.3 如何使用本书 (2)实验一C++基础 (3)1.1 实验目的 (3)1.2 实验内容 (3)1.2.1 程序阅读 (3)1.2.2 程序设计 (6)1.3 思考题 (7)实验二类和对象—类的构建 (8)2.1 实验目的 (8)2.2 实验内容 (8)2.2.1程序阅读 (8)2.2.2 程序设计 (10)2.3思考题 (10)实验三类和对象—构造函数与析构函数 (11)3.1 实验目的 (11)3.2 实验内容 (11)3.2.1程序阅读 (11)3.2.2 程序设计 (12)3.3思考题 (13)实验四类和对象—对象传递与静态成员 (14)4.1 实验目的 (14)4.2 实验内容 (14)4.2.1程序阅读 (14)4.2.2 程序设计 (17)实验五派生与继承—单重派生 (18)5.1 实验目的 (18)5.2 实验内容 (18)5.2.1程序阅读 (18)5.2.2 程序设计 (20)实验六派生与继承—多重派生 (21)6.1 实验目的 (21)6.2 实验内容 (21)6.2.1程序阅读 (21)6.2.2 程序设计 (24)6.3思考题 (24)实验七多态性—函数与运算符重载 (25)7.1 实验目的 (25)7.2 实验内容 (25)7.2.1程序阅读 (25)7.3思考题 (28)实验八多态性—类型转换与虚函数 (29)8.1 实验目的 (29)8.2 实验内容 (29)8.2.1程序阅读 (29)8.2.2 程序设计 (31)8.3思考题 (31)实验九模板类的构造 (32)9.1 实验目的 (32)9.2 实验内容 (32)9.2.1程序阅读 (32)9.2.2 程序设计 (34)9.3思考题 (34)实验十C++的I/O流类库 (35)10.1 实验目的 (35)10.2 实验内容 (35)10.2.1程序阅读 (35)10.2.2 程序设计 (36)10.3思考题 (36)实验十一C++程序、Windows程序和MFC程序 (38)11.1 实验目的 (38)11.2 实验内容 (38)11.2.1 实验描述 (38)11.2.2 实验步骤 (39)11.2.3 实验结果分析 (45)11.3思考题 (47)实验十二简单单文档MFC程序设计 (48)12.1 实验目的 (48)12.2 实验内容 (48)12.2.1 实验描述 (48)12.2.2 实验步骤 (49)12.2.3 实验结果 (54)12.3思考题 (55)实验十三简单对话框程序设计 (56)13.1 实验目的 (56)13.2 实验内容 (56)13.2.1 实验描述 (56)13.2.2 实验步骤 (56)13.2.3 实验结果 (63)13.3思考题 (63)实验十四简单数据库程序设计 (65)14.1 实验目的 (65)14.2 实验内容 (65)14.2.2 实验步骤 (66)14.2.3 实验结果 (73)14.3思考题 (74)综合练习 (75)总结 (76)参考书目 (77)绪论0.1 写本书的目的面向对象程序设计语言是现今最流行的编程语言之一,C++语言是作为最早最流行的面向对象编程语言之一而发展起来的。

面向对象程序设计实验指导书

面向对象程序设计实验指导书

⾯向对象程序设计实验指导书⾯向对象程序设计实验指导书厦门⼯学院电⼦信息⼯程系2013.8⽬录实验⼀:Microsoft Visual Studio 2008开发环境熟悉 (3)实验⼆:C++的类和对象 (6)实验三:C++的派⽣类与继承 (9)实验四:C++的多态性 (12)实验⼀:Microsoft Visual Studio 2008开发环境熟悉⼀、实验⽬的和要求1、熟悉Microsoft Visual Studio 2008开发环境;2、学会使⽤Microsoft Visual Studio 2008开发环境编辑、编译、链接和运⾏C++⽂件;3、初步了解C++源程序的基本结构,学会使⽤简单的输⼊输出操作;⼆、实验内容和步骤1、熟悉Microsoft Visual Studio 2008开发环境;(1)创建新项⽬:创建⽅法如图2.1所⽰:图2.1 创建新项⽬(2)选择Win32控制台应⽤程序,如图2.2所⽰:(3)在主cpp⽂件中编辑源程序,如图2.3所⽰:(4)进⾏C++⽂件的编译、链接和整个⼯程的运⾏;2、简单C++源程序的编写(1)输⼊以下程序,进⾏编译,如果有错误,则修改程序,直到没有错误为⽌,然后进⾏链接和运⾏,并分析运⾏结果;/*************************experiment 1-2-1.cpp*******************************/ #include "stdafx.h"#includeusing namespace std;int main(){void fun(int ,int&);int x,y;fun(4,y);cout<<”x+y=<return 0;}void fun(int m,int &n){n=m*5}/****************************************************************************/(2)编写C++编程风格程序experiment 1-2-2.cpp:计算将100元⼈民币兑换成1、2、5元的⼈民币,有多少种换法?(3)编写C++编程风格程序experiment 1-2-3.cpp:计算并输出两个整数、三个整数、两个双精度数、三个双精度数的最⼤值(使⽤函数重载);三、实验思考题1、列出experiment 1-2-1.cpp中出现的错误,对实验结果进⾏分析,讨论在函数参数中传递变量、传递引⽤及传递指针有何区别?2、附录完整的源程序experiment 1-2-2.cpp及其运⾏结果;要求源程序格式整齐,并对关键代码进⾏说明;3、附录完整的源程序experiment 1-2-3.cpp及其运⾏结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》课程实验指导书实验一 Java开发环境的安装与配置一、实验目的:1. 掌握JDK、Eclipse的安装步骤。

2. 理解环境变量PATH, CLASSPATH的作用,以及Eclipse的配置。

3. 熟悉Eclipse的编辑、编译与调试环境,编写简单的Application程序编译执行并完成调试。

二、实验内容:熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序 (能输出一条简单的问候信息);三、实验要求:1. 能正确地安装JDK2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境3. 调试程序、编译,运行后得到正确的结果四、实验步骤:1.从/technetwork/java/index.html上下载最新版本的JDK,并安装。

2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。

3.在Eclipse环境下编写一个HelloWorld.java程序,(1)在主方法static public void main(String[ ] args)中调用System.out.println()方法,使程序输出一条问候信息;(2) 编译运行程序,观察运行情况和输出结果。

(使用JDK环境,调用javac.exe和java.exe编译和执行程序)实验二 Java语言基础一、实验目的:熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。

二、实验内容:1.编写Java Application程序,输出1900年到2000年之间的所有润年。

(闰年的判断条件:能被4整除且不能被100整除,或能被400整除);2.金字塔:Pyramid.java在屏幕上显示一个由星型符号“*”组成的金字塔图案,示例如下:****************要求:金字塔高度h,可以由用户设置。

三、实验要求:1. 正确使用Java语言的选择语句,循环语句;2. 调试程序、编译,运行后得到正确的结果3.写出实验报告。

要求记录编译和执行Java程序当中的系统错误信息提成示,并给出解决办法。

四、实验步骤:1.编写主类;2.在static public void main(String[ ] args)方法中加入实现要求功能的代码,主要步骤如下:(第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。

(第二题)允许用户设置金字塔高度。

4. 编译运行程序,观察输出结果是否正确。

实验三 Java数组、字符串及常用类应用一、实验目的:掌握数组的定义和使用方法;熟悉数组的排序、查找等算法。

掌握字符串的使用方法。

二、实验内容:1.编写Application程序,从命令行参数输入10个整数并保存在数组中,求数组中最大、最小、数据的和、平均值。

2.将命令行第一个参数每个字符放入一字符数组,然后逆序输出3.编写Application程序,接受用户输入一段英文文字后,输出其中的字符数、单词数和句子数(设句子以“?”、“!”、“.”结束)。

4.打印杨辉三角的前10层。

三、实验要求:1.熟练对象数组及创建初始化和未初始化的数组的方法;2. 熟悉从命令行参数的使用;3. 熟悉String 和StringBuffer的使用方法4. 熟悉常用类库的使用;四、实验步骤:1(第1题).从命令行输入10个数到数组,用循环语句分别求最大、最小、数据的和、平均值。

2. (第2题)利用String类的各种方法,分别判断字符是否为“?”、“!”、“.”,用3个计数器分别计数。

3(第3题)将命令行第一个参数字符串中的每个字符作为数组元素放入一字符数组,再循环语句逆序数组元素。

4.(第4题)定义一个二维数组,第一维的长度为所打印杨辉三角的层数(即10),第二维为每一层的数据个数(也就是其所在的层数)。

实验四类和对象一、实验目的:掌握Java类的结构、类的定义、方法和属性的定义以及对象的实现;掌握类及其成员修饰符的使用;掌握构造函数的使用;方法的参数传递和返回值的用法;掌握类变量与实例变量,以及类方法与实例方法的区别。

三、实验内容:1.定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。

2.定义一个复数(z=x+iy)类Complex,包含:两个属性:实部x和虚部y默认构造函数 Complex(),设置x=0,y=0构造函数:Complex(int i,int j)显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式。

求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2)求两个复数的差的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex subComp(Complex C1,Complex C2)求两个复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象,新复数实部=两复数实部乘积-两复数虚部乘积,新复数虚部=两复数实部与虚部交叉乘积之和,)public Complex multiComp(Complex C1,Complex C2)比较两个复数是否相等的方法(参数是两个复数类对象,返回值是boolean 类型)public boolean equalComp(Complex C1,Complex C2)在Application中测试该类的方法,实部x和虚部y可由main方法参数提供输入。

三、实验要求:1. 正确地定义类、方法和属性;2. 学会方法的参数传递和返回值的用法;3. 熟练使用类及其成员修饰符4.使用构造函数创建类的对象;5.类变量与实例变量,以及类方法与实例方法的使用6.程序应包括各个被调用方法的执行结果的显示。

7.写出实验报告。

要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。

四、实验步骤:1. (第1题) 定义类Point及它的属性、方法和构造函数,定义主类和main(),在main()方法中创建两个坐标对象,,并通过对象调用getMiddle 方法后得到一个新的点坐标,调用show()显示该对象的坐标值。

2. (第2题)定义一个复数(z=x+iy)类Complex,及它的属性、方法和构造函数;定义主类和main()方法,在main()方法中创建两个复数类Complex 对象,并通过复数类对象调用它们的属性和方法,输出方法执行结果。

实验五继承与多态一、实验目的:掌握继承、多态的概念与实现方法;掌握包和接口的定义和使用方法;了解JA VA语言实现多继承的途径;二、实验内容:1.定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。

定义接口DiagArea,其中包含方法double getDiagonal()求对角线长, double getArea()求面积,定义一个矩形类,实现此接口,并自行扩充成员变量和方法,定义一个正方形类继承矩形类(如矩形有长w和宽h,正方形有边x,并有相应的构造函数,有一个方法中一次直接显示边长、面积和对角线长),在另一类中的主方法里使用测试该类。

三、实验要求:1. 能实现类的继承关系;2. 用多种方法创建各个类的对象;3. 程序应包括各个调用方法的执行结果的显示。

4. 写出实验报告。

要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。

四、实验步骤:1.(第1题)定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 Circle,和各自的属性。

定义主类、主方法,在main方法中构造3个对象,调用showArea方法;定义接口DiagArea,其中包含方法double getDiagonal(),在主main方法中输出方法执行结果。

实验六 Java的异常处理一、实验目的:理解 java 语言中独特的异常处理机制;掌握异常处理方法;正确地使用捕获异常和声明抛弃异常的两种异常处理的方法;了解自定义异常类的使用;理解抛出异常和声明抛出异常的区别与联系;二、实验内容:1.从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。

2.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

3.自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。

在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。

三、实验要求:1. 通过实验掌握捕获异常和声明抛弃异常的两种异常处理的方法;2. 程序必须能够捕获Integer.parseInt()产生的异常并作相应的处理;3. 程序必须能够将处理的相应的信息输出出来;4. 写出实验报告。

要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。

(附运行界面、源代码)。

四、实验步骤:1. (第1题) 使用try…..catch…. finally语句对Integer.parseInt()产生的异常进行捕获处理;2. (第2题) 定义方法void sanjiao(int a,int b,int c)中,不符合条件则抛出异常(if a+b<=c(或a+c<=b,b+c<=a) then throw new IllegalArgumentException(),),再定义main方法,调用此方法,用try…..catch…. finally语句并捕获异常;3. (第3题) 定义三角形类及相应的方法, 在定义的方法中对不符合条件则抛出异常(如上题) ,再定义main方法,对正确的数据输出正确信息,否则捕获异常;实验七输入输出流一、实验目的:熟悉Java的文件读写机制,练习输入输出流的使用。

相关文档
最新文档