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

合集下载

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

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

实验一熟悉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。

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

《面向对象程序设计》实验指导书(实.doc
{ int i;float sum=0;
m=n;
①;
aver=sum/m;
}
void score::set_score(float x[],int n) //提供成绩
{ int i;float sum=0;
m=n;
②;
aver=sum/m;
}
void score::print_score(void) //输出成绩、平均成绩
score(void); //无参构造函数
score(float x[],int n); //构造函数重载——初始化成绩
void set_score(float x[],int n); //提供成绩
float get_score(int i) //得到第i科成绩
{return sc[i];}
float get_aver(void) //得到平均成绩
③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。
④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。
⑤不能象普通成员函数一样单独调用。
2.析构函数
⑴析构函数的定义
格式:
~类名(void)
③默认拷贝构造函数是一种浅拷贝,当在类中定义有指针数据成员,用new分配内存空间时,通常应显示定义相应的拷贝构造函数。
㈡对象数组与对象指针
1.对象数组
⑴可以定义对象数组处理多个对象。
⑵可以用缺省参数构造函数为对象数组赋初值。
2.对象指针
可以使用指针来使用对象或对象数组。方法:
⑴定义对象指针;
⑵将指针指向某一对象(或对象数组);

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

《面向对象程序设计》实验指导书(实验二)
}
void main()
{ Myclass ob(10,10);
cout<<"main: ";ob.print();
cout<<"调用func1:"<<endl;
func1(ob);
cout<<"调用func2:"<<endl;
func2(&ob);
cout<<"调用func3:"<<endl;
func3(ob);
{ cout<<"a="<<a<<" b="<<b<<endl;}
};
void main()
{ A ob1(20,30),ob;
A ob2(ob1);
ob2.print();
// ob=ob1;
// ob.print();
}
问题:
⑺运行该程序的输出结果为:
拷贝构造函数被调用!
a=20 b=30
Press any key to continue
~person(void); //析构函数声明
person(const person &ob);//拷贝构造函数声明
char *get_name(void)
{ return name;}
void print_name(void);
};
①::person(char *pn) //定义构造函数,为name提供值
③默认拷贝构造函数是一种浅拷贝,当在类中定义有指针数据成员,用new分配内存空间时,通常应显示定义相应的拷贝构造函数。

面向对象程序设计实验(二)2024

面向对象程序设计实验(二)2024

面向对象程序设计实验(二)引言概述:本文档旨在介绍面向对象程序设计实验(二)的相关内容。

实验(二)主要涉及面向对象程序设计中的基本概念和实践技巧。

通过本次实验,学生可以进一步巩固对于面向对象程序设计的理解和应用能力。

正文内容:1. 类与对象1.1 定义类和对象的基本概念1.2 区分类和对象的特点和属性1.3 类的成员变量与成员函数的关系1.4 类的继承与派生的用法和作用1.5 类型转换和类型检查的重要性和技巧2. 封装和继承2.1 封装的原则和目的2.2 不同类型的访问控制修饰符的应用与实践2.3 继承的基本概念和实现方法2.4 多态性的应用与实例解析2.5 接口与抽象类的定义和使用3. 异常处理3.1 异常处理的基本原则和作用3.2 异常的分类与处理方式3.3 异常处理的语法和使用方法3.4 异常处理的常见问题和解决策略3.5 异常处理的最佳实践和注意事项4. 面向对象设计的思想和原则4.1 面向对象设计的核心概念和思维方式4.2 SOLID设计原则的介绍和实践应用4.3 设计模式的分类和使用场景4.4 常用设计模式的详细介绍和实例应用4.5 面向对象设计的常见问题和解决策略5. 实践与案例分析5.1 针对实验要求的代码设计与实现5.2 对实验结果的分析和评价5.3 面向对象程序设计思想在实验中的运用和效果5.4 实际项目中的面向对象设计相关问题的解决方法5.5 实验总结和下一步改进计划总结:通过本次面向对象程序设计实验(二),学生能够更好地理解和应用面向对象的基本概念和设计原则,并能够灵活运用相关技巧进行程序开发和问题解决。

实验的实践部分更加加深了对面向对象程序设计的理解和实际应用能力的培养。

这些知识和技能对于学生未来的软件开发和项目管理工作具有重要意义。

Java面向对象程序设计语言课程设计指导书(精选5篇)

Java面向对象程序设计语言课程设计指导书(精选5篇)

Java面向对象程序设计语言课程设计指导书(精选5篇)第一篇:Java面向对象程序设计语言课程设计指导书山东建筑大学商学院电子商务专业《Java面向对象程序设计语言》课程设计(实验)指导书一、对学生的基本要求:1、理论联系实际、严肃认真、实事求是的科学态度和勇于探索的创新精神。

2、运用所学基础理论与专业知识分析和解决实际问题,培养独立思考完成任务的能力。

3、运用Java面向对象程序设计方法、标准与规范开发小型应用软件系统。

二、设计的要求及内容及要求:应用Java面向对象程序设计语言开发小型应用软件系统。

可以从给定的选题中选择一个课题或自拟课题(自拟课题需经指导教师批准),完成系统分析、设计和开发。

具体要求如下:(1)针对你所选择的系统进行需求分析,写出系统的功能要求,设计的应用程序应具有的功能要素。

(2)程序代码应符合教学中应该具有的规范要求,类名、方法名,属性名称应与设计中实际的应用含义相符,程序中具有相应的注释。

(3)程序的界面要合理、美观。

(4)每人最终提交一个可行的应用软件程序和规范的课程设计说明书。

说明书应严格按照说明书的要求,格式清晰、规整。

并提交所设计程序的电子文档。

三、设计进度:1、17周周一~周二:选题,系统的需求分析。

分析并规划你所设计的系统应达到的功能,满足什么样的要求。

2、17周周二~周四:系统设计。

分析要达到你所要求的功能需要编写什么类,规划类的层次结构,设定好类明、方法名、属性名;规划你所设计的系统应具有什么样的界面布局。

查阅资料帮助自己规划好你的系统。

3、17周周五~18周周二:程序设计。

根据自己所规划的程序进行具体代码设计,代码设计要符合程序设计的规范要求,注意程序的编写格式。

4、18周周三:程序测试。

对自己所规划的程序进行测试,看是否有异常及程序Bug出现,并进行调试修正程序代码。

5、18周周三:编写课程设计说明书。

按照本指导书要求格式编写程序设计报告(见附件)。

11427-C++面向对象程序设计-实验指导书

11427-C++面向对象程序设计-实验指导书

11427-C++面向对象程序设计-实验指导书实验1 环境熟悉和类与对象1.实验目的(1)熟悉上机环境,了解编译过程中常见的错误与解决办法。

(2)学会编写简单的C++程序并会用debug调试程序。

(3)观察构造函数和析构函数的执行过程。

(4)掌握动态内存分配的两个运算符的使用(5)掌握函数参数的三种传递方式。

(6)学习利用友元求解问题。

2.实验内容(1)定义一个学生类,学生信息有学号、姓名和成绩。

成绩包括计算机、英语、数学成绩和平均分。

要求利用队列实现学生的入队、出队和显示等功能。

算法思路:定义一个类Student,数据成员有:学生信息,进行入队、出队和显示操作的front(队头)、rear(队尾)和num(统计队列中元素的个数),其中学生信息定义成结构体类型的数组;成员函数有学生的入队操作、出队操作和显示操作,通过构造函数对学生信息进行初始化。

(2)定义一个图书类,图书信息有图书名称、作者、出版社、价格。

要求利用栈实现图书的入库、出库和显示等功能。

算法思路:定义一个类Stack,数据成员有:图书信息,进行入库、出库和显示操作的top(栈顶指针),其中图书信息定义成结构体类型的数组;成员函数有图书的入库、出库和显示操作,通过构造函数对图书信息进行初始化。

(3)有Distance类和Point类,将Distance类定义为Point类的友元类来实现计算两点之间距离。

实验2 函数重载与内联函数1.实验目的(1)掌握函数重载的应用。

(2)理解内联函数的作用,掌握内联函数的应用。

2.实验内容(1)利用重载求两个整数、三个整数和四个整数的最小值。

(2)利用重载计算长方形、正方形、圆、梯形的面积。

(3)利用重载编写求整数绝对值和求实数绝对值。

(4)利用重载实现对10个整数和10个实数的排序。

(5)判断一个字符是否为数字字符,要求用内联函数实现。

实验3 常量与引用1.实验目的(1)理解常量的含义与#define的区别。

面向对象实验指导书2

面向对象实验指导书2

毛伟汪祥段晓娟编著《面向对象程序设计》实验指导书长沙学院计算机科学与技术系前言本教材由四个实训项目组成,每个实验项目又包含1~3个实验,可供教师授课时选用或让学生自学。

希望读者能独立完成实验,多思考,多实践,唯有实践才是学好一门计算机语言的不二法门。

由于计算机科学技术发展迅速,计算机学科知识更新很快,加之编者水平和时间有限,书中不妥之处在所难免,敬请批评指正。

一、实验目的和要求1、实验目的力图通过本实践课程的学习,使学生掌握编写、调试和运行Java程序的基本技巧,熟悉面向对象技术的主要原则和思维方法,借助Java把这些原则和特点融入具体的程序中,包括类库、GUI、异常、I/O流、数据库接口的编程,建立由感性到理性的深入认识,提高解决实际问题的能力。

2、实验要求实验的编排本着循序渐近、由浅入深的原则,基本覆盖了Java程序设计的主要方面,要求学生实验前认真准备,实验后提供实验报告,给出详细设计结果以及设计依据。

实验报告的格式应采用统一封面,统一的实验报告纸。

封面应包括:课程名称、实验序号、名称、专业、班级、姓名、同组实验者、实验时间。

实验报告内容应包括:实验名称、目的、内容、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。

二、实验环境介绍1、硬件设备要求PC及其联网环境2、软件设备要求Windows xp操作系统;Eclipse3.2 或者MyEclipse6.5集成开发工具;三、实验内容和学时分配注:1、实验类型分演示、验证、综合、设计、研究创新;实训类型为实训。

2、实验(实训)要求分必开、选开。

3、每组人数一般基础课1-2人、专业课2-4人、上机1人。

4、以上实验(实训)根据课程性质,只选取其中一种。

四、实验前准备在D盘建立以自己姓名的拼音首字母为名称的文件夹,以便保存实验数据。

实训项目一:面向对象特征的应用实验一:Java开发环境J2SE1.1实验目的1) 熟悉Java开发环境的搭建方法,掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。

实验2_流程控制与数组操作

实验2_流程控制与数组操作

四、实验任务
1.创建一个名为 Exp14BTV_1 的 java Application 程序,写出运行结果(验证性实验)。 2.创建一个名为 Exp14BTV_2 的 java Application 程序,写出运行结果(验证性实验)。 2.创建一个名为 Exp14BTV_3 的 java Application 程序,计算圆、矩形、三角形的周长 (设计性实验)。 3.创建一个名为 Exp14BTV_4 的 java Application 程序,计算数字对应的中文金额(设 计性实验)。 4.创建一个名为 Exp14BTV_5 的 java Application 程序,随机产生三组扑克(设计性实 验)。
♠> 。
3
♥>♡>
假设 1~13 为方块(diamond),14~26 为梅花(club),27~39 为红桃(heart),
40~52 为黑桃(spade),53 为小王(little joker),54 为大王(big joker)。 第 1 步:随机产生 18 张牌; 第 2 步:从其余 36 张牌随机选择 18 张牌; 第 3 步:剩余 18 张牌作为备牌; 第 4 步:输出第 1 次产生的 18 张牌; 第 5 步:输出第 2 次产生的 18 张牌; 第 6 步:最后输出备牌。 说明:以上三组牌不能有重复(设计性实验:使用数组和循环完成)。 自己通过 Java 程序实现。
五、实验报告要求
1. 实验目的和要求 2. 实验任务
1
3. 实验题目和源码 4. 实验结果截图粘贴到实验报告中或手抄实验结果 5. 实验中遇到的问题及解决方法(如果不能解决请说明您分析的原因) 6. 实验心得或体会 7. 实验报告必须手写 两条线: 验证性实验: 题目(实验要求)+源码+结果 设计性实验: 题目(实验要求)+源码+结果

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

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

实验指导书院系:数学与计算机专业:通信工程课程:面向对象程序设计编者:夏婷婷目录实验一 MATLAB的矩阵和数组的运算实验二二维平面图形的绘制与分割实验三特殊图形的设计实验四 MATLAB程序结构的应用和实现实验五线性预测谱估计的仿真实验一 MATLAB 的矩阵和数组的运算一、实验目的:1、学会矩阵和数组运算的基本规律2、会进行编程运算来检验结果二、实验内容:(1)产生6阶单位矩阵、4阶全1阵,4阶全0阵(2)产生三阶随机均匀分布矩阵A,求A 的数值3次幂运算, A 的矩阵3次幂运算(3)计算[13-(17-5)×8]+34+5e 值(4)产生三阶魔方阵A,对A 矩阵上下翻转、左右翻转各求一次。

(5)矩阵A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1,23,1117,5,239,5,4,矩阵B=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡8,3,92,6,41,6,1,求A.*B,A*B 三、实验原理与方法:数组运算侧重数值之间的运算,在进行加、减时是数组中对应位置上数值进行加减,这与矩阵运算一致。

数组乘与矩阵乘意义完全不同。

矩阵乘遵循左侧矩阵的第一行与右侧矩阵第一列对应相乘然后相加,得到新矩阵里第一项,与此类推得到之后的项。

数组乘指对应位置的数值相乘。

特殊矩阵的产生通常有特定的函数指令,而这些指令通常是英文。

因此在运用时要牢记英文含义。

四、实验条件:计算机、MATLAB 软件、实验教材五、实验步骤:构思、分析、编译、调试、运行、数据记录六、 实验注意事项:注意数值运算与矩阵运算的物理意义和运算方法差别。

尤其是.*与*,.^与^的区别七、实验报告要求:格式工整,独立完成,注重分析,鼓励尝试实验二 二维平面图形的绘制与分割一、实验目的:1、了解二维平面图的绘制方法。

2、学会绘制不同色彩、线型的二维图。

3、掌握图形分割的方法。

多次叠绘图和多子图。

二、实验内容:(1)在0π2≤≤x 区间内,绘制曲线)2sin(25.0x e y x π-=,线型为星号,品红色。

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

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

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

实验 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”;写出程序的运行结果,并解释输出结果。

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

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

《面向对象程序设计》课程实验指导课程名称:面向对象程序设计专业:计算机科学与技术、信息工程、信息与计算科学、电子科学与技术、电子信息工程任务书一、课程设计题目多文档应用程序设计二、课程设计内容1、问题描述完成一个多文档应用程序,总和6-11章的内容,实现各章的知识点2、任务要求实验二:每组5-6个学生完成一个题目,要求如下:1)有三个以上文档;2)第一个文档基类是EditView3)在第二个文档中,画出一个图形(房子,树,鱼,动物等)4)在第三个文档中,实现动画画图,按下鼠标用画刷画图(圆、矩形、直线),从菜单中选择图形,多一图形加1分,最多加5分;5)在第四个文档中,单击菜单中的某一项可以打开对话框,要求有多个资源(菜单、对话框)多一加1分,最多加5分6)对话框中至少5种控件(实现计算,显示)。

多一控件加1分,最多加5分。

7)在第五个文档中,实现串行化,可以输入、保存并显示学生或员工信息。

以上基本的都实现后80分,最多加15分,满分95分三、进度安排1、初步设计:给出初步设计思路,分工到每位同学2、详细设计:3、测试分析4、报告撰写5、答辩考核验收四、具体要求1、各组按照要求独立设计,不要相互参考2、指导教师验收后设计结束3、课程设计报告要求图表清楚,工整4、要求各组组长完成实验任务后,不仅要交实验报告,还要给全班学生讲解,调程序时遇到的难题,如何解决的。

课程设计报告写法1、实验目的2、人员及分工3、实验过程4、测试及运行结果5、参考文献6、程序调试心得体会(困难及经验)7、致谢8、程序清单《面向对象程序设计》课程负责人:李忠哗厚德远志笃学创新课程设计报告课程名称:面向对象程序设计设计题目:学院:系别:专业:姓名:学号:指导老师:。

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

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

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

熟悉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. 上机,建立新项目,录入源代码,编辑,编译,运行,调试直至得出正确的运行结果。

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

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

《面向对象程序设计》实训一、实训目的: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++程序的设计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)编写程序,在主函数中输入两个值,然后将这两个值交换。

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

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

《面向对象程序设计》实验指导书第一部分实验教学大纲课程名称:面向对象程序设计实验一、课程简介及基本要求面向对象的程序设计是一门实践性很强的课程,每个学生必须完成一定数量的上机作业。

通过上机作业进一步加深对课程基本内容的理解。

同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。

由于学生编程和上机的熟悉程度往往差别较大,本大纲所要求的实验为每个学生必须完成的实验,即最低要求。

其它上机内容由学生在教师指导下自选,内容可以是习题中编写的程序,也可以是学生解决实际问题中所编写的程序。

二、实验课程目的与要求实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

本课程使学生熟悉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++)。

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

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

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

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

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

《面向对象程序设计》实验教学大纲一、大体信息二、实验安排三、实验目的、内容与要求实验一成立一个非图形化的C++程序(一)实验目的1.了解Visual C++的特点。

2.熟悉Visual C++的开发环境。

3.学习利用Visual C++编写标准的C++操纵台程序。

4.学会利用VC++开发环境中的debug调试功能。

(二)实验内容成立、编译和运行一个标准C++操纵台程序。

(三)实验要求1.成立一个标准C++操纵台程序。

2.学会编译、运行教材例2-1程序。

3.下课前完成实验内容,提交给教师检查。

实验二设计一个用于人事治理的People类(一)实验目的1.把握类的概念和利用;把握对象的声明和利用。

2.学会利用类的构造函数和析构函数。

3.学习类的组合利用方式。

(二)实验内容考虑到通用性,那个地址只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(诞生日期)、id(身份证号)等。

其中“诞生日期”概念为一个“日期”类内嵌子对象。

用成员函数实现人员信息的录入和显示。

(三)实验要求1.程序中应包括——构造函数和析构函数、拷贝构造函数、内联成员函数、类的组合。

2.下课前完成实验内容,提交给教师检查。

实验三实现Client类(一)实验目的1.学习并把握类的静态成员的利用。

2.学习多文件结构在C++程序中的利用。

(二)实验内容概念字符型静态数据成员ServerName,保留其效劳器名称;整型静态数据ClientNum,记录已概念的客户数量;概念静态函数成员ChangeServerName( )改变效劳器名称。

(三)实验要求1.在头文件中概念类。

2.文件中实现类的概念,再添加文件,在其中概念main( )函数,测试Client 类。

3.下课前完成实验内容,提交给教师检查。

实验四实现Employee类(一)实验目的1.学习字符串数据的组织和处置2.把握指针的利用方式3.利用字符数组和标准C++库练习处置字符串的方式(二)实验内容1.声明一个Employee类,其中包括表示姓名、街道地址、城市和邮政编码等属性,包括change_name( )和display( )等函数。

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

《面向对象程序设计》课程实验指导书合肥学院计算机系实验一 Java开发环境的安装与配置,熟悉Java程序结构一、实验目的:1. 掌握JDK的安装步骤。

2. 理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法。

3. 熟悉Editplus(或notePad,JCreator)编辑环境,编写简单的程序,并编译和执行。

二、实验内容:熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息);三、实验要求:1. 能正确地安装JDK2. 熟悉环境变量Path, Classpath设置方法,熟悉编辑环境3. 调试程序、编译,运行后得到正确的结果4. 写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。

四、实验步骤:1.从上下载最新版本的JDK,并安装。

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

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

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

二、实验内容:1.输出100以内的所有素数。

提示: 逐个判断小于a的每个正整数x,第二重循环针对x,判断其是否是质数。

2.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和三、实验要求:1. 正确使用Java语言的选择语句,循环语句;2. 调试程序、编译,运行后得到正确的结果3.写出实验报告。

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

四、实验步骤:1.编写主类;2.在static public void main(String[ ] args)方法中加入实现要求功能的代码。

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

五、自主实验(选1题完成实验报告)1. 将所输入之正整数,以二、八、十六进制表示出来。

提示: 可写三个方法分别计算输出二、八、十六进制表示。

2.用户输入的一个分数(分别输入分子和分母)进行约分,并且输出约分后的分数(分别输出分子和分母)。

例如输入分子为6并且分母为12,那么输出结果为1/2。

3.编程,计算e=1+1/1! +2/2! +……+n/n!。

要求e值精确到小数点第5位。

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

二、实验内容:1、定义一个学生类(Student),属性有private的名字(name), public的年龄(age),专业(specialty)和封装name属性的方法:setName(),getName(),getspecialty()编写Application,创建一个学生对象,设置name和age属性值,然后调用一个方法(此方法将对象作为参数传递,在方法中打印出学生的名字name和年龄age)。

(学生类仅包含静态成员变量和方法。

)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题)定义一个学生类(Student)及它的属性和方法;定义主类和main(),在main()方法中创建学生对象,并通过对象调用它的方法setName(),getName(),输出学生的名字name和年龄age。

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

五、自主实验(选1题完成实验报告)1.构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。

2.编写实现:有一个三角形类Triangle,成员变量有底边x和另一条边y,和两边的夹角a(0<a<180),a为静态成员,成员方法有两个:求面积s(无参数)和修改角度(参数为角度)。

3.编写实现: 构造函数为 Triangle(int xx,int yy,int aa) 参数分别为x,y,a赋值在main方法中构造两个对象,求出其面积,然后使用修改角度的方法,修改两边的夹角,再求出面积值。

(提示:求高的方法 h=y*Math.sin(a) ) 注意:构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。

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

实验四 java继承与多态一、实验目的:掌握继承、多态的概念与实现方法;掌握包和接口的定义和使用方法;掌握JA V A语言实现多继承的途径;二、实验内容:1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:(1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。

(2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。

(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。

(4)Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。

(5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。

2.定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。

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

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

4. 写出实验报告。

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

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

四、实验步骤:1.(第1题)定义Point2D,及定义它的属性和方法;定义子类Point3D,及定义它的属性和方法;在Point3D中的主函数main()中实例化两个Point2D的对象,并通过这两个对象调用它们的属性和方法,输出方法执行结果。

2.(第2题)定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 Circle,和各自的属性。

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

五、自主实验(选1题完成实验报告)1、定义一个描述人的基本类,该类包括人的性别和出生日期两个数据成员,以及设置和获取这些属性值的方法成员;再定义一个大学生类,使大学生类具有人的所有属性外,还具有姓名、学号,大学入学成绩,籍贯属性以及设置和获取这些属性值的方法成员;编写完整的程序,完成一个具有班级学生信息管理功能的程序。

相关文档
最新文档