面向对象程序设计实验报告(学生)

合集下载

面向对象编程实验报告

面向对象编程实验报告

面向对象编程实验报告一、实验目的本次实验旨在通过面向对象编程的方式,设计并实现一个简单的学生信息管理系统,加深对面向对象编程原理和概念的理解,并掌握面向对象编程的应用技巧。

二、实验内容1. 设计学生类(Student):包括学生的基本信息(学号、姓名、性别、年龄等)以及相关操作(添加信息、修改信息、删除信息等)。

2. 设计班级类(Class):包括班级的基本信息(班级编号、班级名称等)以及与学生类的关联关系(一个班级包含多个学生)。

3. 设计主程序类(Main):用于对学生信息进行管理和操作,包括添加学生、删除学生、修改学生信息、查询学生信息等功能。

4. 编写测试用例:对设计的学生信息管理系统进行测试,保证系统能够正常运行并实现预期功能。

三、实验步骤1. 设计学生类(Student):首先确定学生类的属性和方法,定义学生类的成员变量(学号、姓名、性别、年龄)以及成员方法(添加学生信息、修改学生信息、查询学生信息等)。

2. 设计班级类(Class):确定班级类的属性和方法,包括班级编号、班级名称以及一个包含学生信息的集合,设计班级类与学生类的关联关系。

3. 编写主程序类(Main):在主程序类中实现学生信息的管理功能,通过用户输入选择对学生信息的操作,调用学生类和班级类中的方法实现相应功能。

4. 编写测试用例:设计多个测试用例,分别测试添加学生、删除学生、修改学生信息等功能,确保系统能够正确运行并实现预期功能。

四、实验结果分析经过测试,学生信息管理系统能够正常运行并实现预期功能。

用户可以通过主程序类对学生信息进行添加、删除、修改和查询操作,操作界面友好,操作流程清晰,便于用户操作和管理学生信息。

五、实验总结通过本次实验,我深入理解了面向对象编程的原理和概念,掌握了面向对象编程的应用技巧,提升了对Java编程语言的熟练程度。

面向对象编程具有代码复用、维护方便和高扩展性等优点,是一种高效的编程思想。

在今后的学习和工作中,我将继续深入研究面向对象编程,不断提升自己的编程能力。

中南大学数学院大三年级面向对象实验报告

中南大学数学院大三年级面向对象实验报告

中南大学数学院大三年级面向对象实验报告C++面向对象程序设计实验报告姓名:班级:学号:实验一,画线在visual C++6.0里面文件->新建->工程里面的MFC Appwizard [EXE]除了第二步选单文档,基本上都是默认的。

建一个文件进行一下操作int m;CPoint p1,p2;在构造函数里面初使化m CZuoBiaoView::CZuoBiaoView(){// TODO: add construction code herem=0;}在资源文件Menu中的IDR_MAINFRAME中添加消息句柄OnLButtonDown,OnLButtonUp,OnMouseMove .再回到ZuoBiaoView.cpp中编译一下程序void CZuoBiaoView::OnLButtonDown(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultCClientDC dc(this);m=1;p1=point;CView::OnLButtonDown(nFlags, point);}void CZuoBiaoView::OnLButtonUp(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultp2=point;CClientDC dc(this);OnPrepareDC(&dc);dc.MoveTo(p1);dc.LineTo(p2);m=0;CView::OnLButtonUp(nFlags, point);}void CZuoBiaoView::OnMouseMove(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultstatic int n=0;switch(++n){case 1:p2=point;break;case 2:p1=p2;p2=point;n=0;break;}CClientDC dc(this);OnPrepareDC(&dc);if(m==1){dc.MoveTo(p1);dc.LineTo(p2);}CView::OnMouseMove(nFlags, point);}实验二,创建菜单用MFC创建菜单按钮具体的制作过程:首先,生成一个MFC AppWizard EXE 工程生成一个以CButton为基类的新类,名为CMenuButton,然后用ClassWizard 为其添加两个成员函数:DrawItem()和PreSubclassWidnow();手工为CMenuButton类添加BOOL类型m_bDrawFocusRect成员变量,用于决定是否在按钮上画焦点矩形,添加SetDrawFocusRect()函数用于设置这个标志,默认为画焦点矩形;添加两个枚举类型的变量m_ArrowType和m_PopupPos,用于决定所画的箭头的类型和菜单弹出的位置。

面向对象实验报告

面向对象实验报告

面向对象实验报告面向对象实验报告引言:面向对象编程是一种软件开发方法,它将现实世界中的事物抽象成对象,通过定义对象的属性和行为来描述其特征和功能。

本实验旨在通过实际操作,深入理解面向对象编程的概念和原则。

一、实验背景面向对象编程是计算机科学领域的重要概念之一,它具有封装、继承和多态等特性,可以提高代码的可重用性和可维护性。

在本实验中,我们将通过编写一个简单的学生管理系统来探索面向对象编程的实际应用。

二、实验目的1. 理解面向对象编程的基本概念和原则;2. 掌握类的定义、对象的创建和方法的调用;3. 熟悉封装、继承和多态的使用;4. 实践面向对象编程的思维方式和方法论。

三、实验过程1. 类的定义在学生管理系统中,我们首先需要定义一个学生类,包含学生的基本信息,如学号、姓名、年龄等。

通过封装这些属性和定义相应的方法,我们可以实现对学生对象的创建和操作。

2. 对象的创建在主程序中,我们可以通过实例化学生类来创建学生对象。

通过调用构造函数,为学生对象赋予具体的属性值。

例如,创建一个名为Tom的学生对象,可以使用以下代码:Student tom = new Student("001", "Tom", 18);3. 方法的调用定义了学生类后,我们可以为其添加一些方法,如获取学生信息、修改学生信息等。

通过调用这些方法,可以实现对学生对象的操作和管理。

例如,获取Tom的年龄可以使用以下代码:int age = tom.getAge();4. 继承的应用在学生管理系统中,我们可以将学生类作为基类,派生出一些特定类型的学生类,如研究生、本科生等。

通过继承,子类可以继承基类的属性和方法,并可以添加自己特有的属性和方法。

这样,我们可以更好地组织和管理不同类型的学生对象。

5. 多态的实现通过使用多态,我们可以在不同的上下文中使用同一个方法名,实现不同的功能。

例如,在学生管理系统中,我们可以定义一个统一的显示信息方法,然后在不同的学生类中重写该方法,以实现不同类型学生的信息展示。

面向对象程序设计实验报告1

面向对象程序设计实验报告1
看看这些字符的10进制ascii码哦ascii码一样同一种字符字符怎么参加了数学运算哦是字符对应的ascii码整数2006年级20061719号姓名同组姓名实验日期2010看看这个字符是什么
实验一
实验名称:实验一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++面向对象程序设计》实验报告

《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个正整数中的最大数。

《面向对象程序设计》实习报告

《面向对象程序设计》实习报告

《面向对象程序设计》实习报告班级:电子商务0801学号:姓名:XX指导老师:刘光苏建恭龙延秀娟实习时间:2010.1.4-2010.1.10一·实习目的经过一周的实习,让我再次复习了SQL和VB的相关知识,特别是亲自操作,更加熟悉和掌握其具体应用的方法,遇到难题时,经过查阅资料和同学间的探讨,也把许多以前不懂和不会的知识有所掌握。

在整个实习过程中,我清楚并掌握了SQL Server的集成环境、系统的菜单、工具栏、企业管理器、查询分析器的具体使用方法;同时在操作中掌握了创建数据库、数据表的方法;熟悉了数据表的操作命令以及T-SQL命令的使用。

在编写代码是,我熟悉了基本命令的使用方法,以及常用函数、表达式的使用方法,掌握了程序控制结构的使用和程序设计,同时清楚了变量的作用范围和自定义函数的使用。

特别在于VB连接的过程中,我熟悉了VB与数据库管理系统的连接方法,较熟练地掌握了利用向导、数据环境、数据控件等工具开发应用程序的基本操作界面。

同时还熟悉了常用的算法程序、常用统计程序、数据排序方法、简单数据加密和解密程序、矩阵基本操作程序的编写、调试和使用。

在整个实习过程中,受益匪浅。

此次实习,达到了很好的效果。

通过实践让我把书本上的知识更好的应用于实际操作,可以独立的做一些简单小程序,也感觉到SQL和VB的实际操作的重要性,在以后的学习过程中,更应该把这种方法融合,这样才可以真正的掌握所学的知识。

二·程序设计实验一 Sql Server基本操作1·在Stu177数据库中创建下列数据表:学生情况表117:课程情况表117:选课情况表117:实验二 SQLServer 与程序设计语言连接1·利用VB数据窗体向导生成学生情况表117的录入界面如下: 单记录:网格:2·利用VB数据窗体向导生成课程情况表117的录入界面如下:单记录:网格:3·利用VB数据窗体向导生成选课情况表117的录入界面如下:单记录:网格:4·利用VB数据窗体向导生成学生情况表117(主从)的录入界面如下:5·利用VB数据窗体向导生成课程情况表117(主从)的录入界面如下:实验三基本算法练习1·求素数2.对任意偶数进行素数分解(哥德巴赫猜想)3·百钱百鸡问题实验四常用统计练习1·成绩统计2·字符统计实验五常用排序方法1·选择排序法2·冒泡排序法实验六综合设计1·程序封面设计2·系统集成界面设计三·实习总结经过一周的实习,我对SQL和VB的综合运用能力有所提高,特别是经过实际操作,能够很好的将书本知识转化为实践能力。

实验模板

实验模板

《面向对象程序设计(C#)》实验报告实验名称:实验七、Windows程序界面设计报告人:陈族鑫学号:14190121 班级:141一、实验内容1.P260 第(1)题,可以参考书本的步骤,但所有的标识符的取名必须按规范重新命名。

2.实现如图复数运算功能,单击“计算”按钮,将复数1和复数的运算(什么运算由选择的运算符确定)结果显示在结果文本框中。

要求:(1)复数的运算通过编写一个复数(Complex)类及它的加(Add),减(Minus)和乘(Multiply)方法完成,复数的显示通过复数类的Display()方法完成(参考实验五及上课例子)。

(2)编写一个类(Helper),有一个方法public Complex GetComplexFromString(string str)实现从一个字符串复数返回一个Complex对象。

提示:此题主要是要大家了解界面与业务逻辑分离的原则,复数的运算由复数类完成,界面只是获得用户输入的数据,并将运算结果显示给用户。

二、解决方案思路第1个实验,直接按照书上所给出的步骤编写即可。

第2个实验,先在窗体界面上将所需要的控件全部放好并且命名。

然后定义一个复数类,在类里面写好加、减和乘以及display()的方法。

然后在定义一个helper类,将字符串形式的复数转化为复数类的对象。

然后在button的代码下面,进行编写和计算。

三、疑难点分析在复数类输入的时候,是以字符串的形式输入的,所以需要用helper将字符串转化为复数类的对象,最后输出的时候又要以字符串的形式输出。

四、实验体会Windows窗体里面有各种控件,对于控件的使用常常要在代码处进行编写。

报告完成日期2016年 4月 8 日。

面向对象程序设计实验报告

面向对象程序设计实验报告

《面向对象程序设计实验》实验一、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之间所有素数的和。

《面向对象程序设计_C++》实验报告

《面向对象程序设计_C++》实验报告

C++实验报告实验一 Visual C++6.0开发环境应用入门(验证性实验2学时)1.目的要求:了解Visual C++6.0的特点,熟悉了解Visual C++6.0的开发环境,学习使用Visual C++6.0编写标准的C++控制台应用程序。

2.实验内容:使用Visual C++来建立一个非图形化的标准C++程序,编译、运行教材中的例3-3,用公式法求解PI的数值,并尝试利用其他方法求解并获得相同的结果。

π=16arctan(1/5)-4arctan(1/239)arctan(x)=x-x³/3+x5/5-x7/7+…求π=?(1)源代码和说明:#include<iostream>using namespace std;double arctan(double x){double sqr=x*x;double e=x;double r=0;int i;while(e/i>1e-15){double f=e/i;r=(i%4==1)?r+f:r-f;e=e*sqr;i+=2;}return r;}int main(){double a=16.0*arctan(1/5.0);double b=4.0*arctan(1/239.0);cout<<"PI="<<a-b<<endl;return 0;}2)运行结果:1实验二 C++简单程序设计实验(验证性实验4学时)1.目的要求:会编写简单的C++程序;复习基本数据类型变量和常量的应用;复习运算符与表达式的应用;复习结构化程序设计基本控制结构的应用;复习自定义数据类型的应用;练习使用简单的输入输出;观察头文件的作用;学会使用VC6.0开发环境中的debug调试功能;熟练程序设计中的技巧;2.实验内容:1)给定一个字符变量输出其二进制形式。

例如char a=’a’;其二进制为00100001。

面向对象编程实验报告

面向对象编程实验报告

WORD格式甘肃政法学院本科学生实验报告(一)姓名:学院:计算机科学学院专业:计算机科学与技术班级:实验课程名称:JAVA开发与语言基础试验时间2011年9月28日指导教师及职称实验成绩:开课时间2011学年第一学期甘肃政法学院实验管理中心印制实验题目面向对象编程小组合作否姓名唐晓梅班级2011级专升本班学号201181210126一、实验目的:1、熟悉Java面向对象程序设计的基本思想。

2、掌握类与对象的定义及使用方法。

3、掌握package语句与import语句的用法。

4、掌握java继承中父类及其子类的定义方法。

5、掌握子类重写父类同名方法的方法。

6、掌握用法。

二、实验环境:装有JDK1.6,Eclipse的的计算机一台三、实验内容与步骤:(1)Java程序开发环境配置:1、下载并安装JDK1.6,过程可参考教材P4-6。

2、配置环境变量:SDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于Java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。

对于Windows2000、Windows2003、WindowsXP,用鼠标右键点击“我的电脑”,弹出菜单,然后选择属性,弹出“系统特性”对话框,再单击该对话框中的高级选项,然后点击按钮“环境变量”,添加如下图所示的系统环境变量:J2SDK的安装目录的jre文件夹中包含着Java应用程序运行时所需要的Java类库,这些类库被包含在jre\lib目录下的压缩文件rt.jar 中。

因此,再添加如下图所示环境变量。

3、下载Eclipse3.4或以上版本,将其解压到某一目录下。

使用时只需双击eclipse图标即可。

4、在记事本中编写简单的Application程序,运用JDK命令方式在屏幕上打印输出“你好,很高兴学习Java”。

5、在记事本中编写简单的Applet程序,运用JDK命令方式在JavaApplet中绘制一行文字:“这是一个JavaApplet程序”。

实验二 面向对象编程实验报告

实验二 面向对象编程实验报告

实验二面向对象编程实验报告一、实验目的本次实验旨在深入理解和掌握面向对象编程的基本概念和方法,通过实际编程操作,提高运用面向对象思想解决问题的能力,熟悉面向对象编程的开发流程和技巧,培养良好的编程习惯和代码规范。

二、实验环境本次实验使用的编程环境为具体编程环境名称及版本,操作系统为操作系统名称及版本。

三、实验内容(一)问题描述设计一个简单的学生管理系统,能够实现对学生信息(包括姓名、学号、年龄、成绩等)的录入、查询、修改和删除操作。

(二)类的设计1、设计一个`Student` 类,用于表示学生对象。

该类包含以下属性:`name`(姓名)、`student_id`(学号)、`age`(年龄)、`score`(成绩)。

2、为`Student` 类添加构造函数,用于初始化学生对象的属性。

3、为`Student` 类添加`get` 和`set` 方法,用于获取和设置学生对象的属性值。

(三)功能实现1、录入功能:实现用户输入学生信息,并创建`Student` 对象进行存储。

2、查询功能:根据学号或姓名查询学生信息,并输出查询结果。

3、修改功能:根据学号或姓名找到对应的学生对象,修改其属性值。

4、删除功能:根据学号或姓名删除对应的学生对象。

四、实验步骤(一)类的实现```javapublic class Student {private String name;private String studentId;private int age;private double score;public Student(String name, String studentId, int age, double score) {thisname = name;thisstudentId = studentId;thisage = age;thisscore = score;}public String getName(){return name;}public void setName(String name) {thisname = name;}public String getStudentId(){return studentId;}public void setStudentId(String studentId) {thisstudentId = studentId;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}public double getScore(){return score;}public void setScore(double score) {thisscore = score;}}```(二)主函数实现```javaimport javautilArrayList;import javautilScanner;public class StudentManagementSystem {private ArrayList<Student> students;public StudentManagementSystem(){students = new ArrayList<>();}public static void main(String args) {StudentManagementSystem system = new StudentManagementSystem();Scanner scanner = new Scanner(Systemin);while (true) {Systemoutprintln("1、录入学生信息");Systemoutprintln("2、查询学生信息");Systemoutprintln("3、修改学生信息");Systemoutprintln("4、删除学生信息");Systemoutprintln("5、退出系统");int choice = scannernextInt();switch (choice) {case 1:systemaddStudent(scanner);break;case 2:systemqueryStudent(scanner);break;case 3:systemmodifyStudent(scanner);break;case 4:systemdeleteStudent(scanner);break;case 5:Systemoutprintln("感谢使用,再见!");Systemexit(0);default:Systemoutprintln("输入有误,请重新输入!");}}}//录入学生信息public void addStudent(Scanner scanner) {Systemoutprintln("请输入学生姓名:");String name = scannernext();Systemoutprintln("请输入学生学号:");String studentId = scannernext();Systemoutprintln("请输入学生年龄:");int age = scannernextInt();Systemoutprintln("请输入学生成绩:");double score = scannernextDouble();Student student = new Student(name, studentId, age, score);studentsadd(student);Systemoutprintln("学生信息录入成功!");}//查询学生信息public void queryStudent(Scanner scanner) {Systemoutprintln("请输入查询方式(1、按学号查询 2、按姓名查询):");int queryType = scannernextInt();if (queryType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){Systemoutprintln("姓名:"+ studentgetName());Systemoutprintln("学号:"+ studentgetStudentId());Systemoutprintln("年龄:"+ studentgetAge());Systemoutprintln("成绩:"+ studentgetScore());return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (queryType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){Systemoutprintln("姓名:"+ studentgetName());Systemoutprintln("学号:"+ studentgetStudentId());Systemoutprintln("年龄:"+ studentgetAge());Systemoutprintln("成绩:"+ studentgetScore());return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}//修改学生信息public void modifyStudent(Scanner scanner) {Systemoutprintln("请输入修改方式(1、按学号修改 2、按姓名修改):");int modifyType = scannernextInt();if (modifyType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){Systemoutprintln("请输入新姓名:");String newName = scannernext();Systemoutprintln("请输入新年龄:");int newAge = scannernextInt();Systemoutprintln("请输入新成绩:");double newScore = scannernextDouble();studentsetName(newName);studentsetAge(newAge);studentsetScore(newScore);Systemoutprintln("学生信息修改成功!");return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (modifyType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){Systemoutprintln("请输入新学号:");String newStudentId = scannernext();Systemoutprintln("请输入新年龄:");int newAge = scannernextInt();Systemoutprintln("请输入新成绩:");double newScore = scannernextDouble();studentsetStudentId(newStudentId);studentsetAge(newAge);studentsetScore(newScore);Systemoutprintln("学生信息修改成功!");return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}//删除学生信息public void deleteStudent(Scanner scanner) {Systemoutprintln("请输入删除方式(1、按学号删除 2、按姓名删除):");int deleteType = scannernextInt();if (deleteType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){studentsremove(student);Systemoutprintln("学生信息删除成功!");return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (deleteType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){studentsremove(student);Systemoutprintln("学生信息删除成功!");return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}}```五、实验结果通过对程序的运行和测试,能够成功实现学生信息的录入、查询、修改和删除功能。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告实验报告(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( ))。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告【实验报告】面向对象程序设计一、引言面向对象程序设计是一种以对象为基础的软件开发方法,它将现实世界中的事物抽象成对象,并通过对象之间的交互来实现程序的功能。

本次实验旨在通过实践,加深对面向对象程序设计的理解,并掌握面向对象程序设计的基本原理和技巧。

二、实验目的1. 熟悉面向对象程序设计的基本概念和术语;2. 掌握面向对象程序设计的基本原理和技巧;3. 能够运用面向对象程序设计的思想解决实际问题。

三、实验内容1. 设计一个简单的图书管理系统;2. 实现图书的增删改查功能;3. 设计并实现图书管理系统的类结构;4. 编写测试代码,验证图书管理系统的功能。

四、实验步骤1. 设计图书管理系统的类结构:a. 创建一个Book类,包含图书的属性(书名、作者、出版社等)和方法(借阅、归还等);b. 创建一个Library类,用于管理图书馆的图书,包含添加图书、删除图书、查找图书等方法;c. 创建一个User类,用于表示图书馆的用户,包含借书、还书等方法;d. 创建一个Main类,作为程序的入口,用于测试图书管理系统的功能。

2. 实现图书的增删改查功能:a. 在Book类中实现图书的增删改查方法;b. 在Library类中调用Book类的方法,实现图书的增删改查功能。

3. 设计并实现图书管理系统的类结构:a. 根据实验要求,设计图书管理系统的类结构,包括Book、Library和User 类;b. 在每个类中定义相应的属性和方法,实现图书管理系统的功能。

4. 编写测试代码,验证图书管理系统的功能:a. 在Main类中创建图书馆和用户对象;b. 调用相应的方法,测试图书管理系统的功能;c. 检查输出结果,确保图书管理系统的功能正常运行。

五、实验结果与分析经过实验,成功设计并实现了一个简单的图书管理系统。

该系统具备图书的增删改查功能,用户可以通过借书和还书操作实现对图书的借阅和归还。

经过多次测试,系统运行稳定,功能正常。

java面向对象编程实验报告

java面向对象编程实验报告

java面向对象编程实验报告篇一:java面向对象编程实验报告信息工程学院Java程序设计实验/实习报告学院:信息工程学院班级:信息112 姓名:吴连梅学号:XX013305 成绩:A实验二面向对象编程1.实验目的(1)掌握类与对象基本知识;(2)Java中的继承机制及包(package)、接口(interface)等的设计方法;(3)掌握static、this、super等关键字的使用;(4)掌握Java中两种比较器的用法。

2.实验内容实验题 1 定义一个类Book,包含两个属性:一个是private的String类型的属性title、一个是private的float类型的属性listPrice,封装这两个属性的四个方法setTitle()和getTitle()、setListPrice( )和geListPrice ()。

基本要求:(1)设计类Book及类BookManagement,在类BookManagement中输出Book类的对象的两个private属性;(2)重写父类的toString()方法,实现Book类实例的两个属性的输出。

实验过程:新建工程后,在工程下面建立一个包Book,在包下再建立一个Book类,类中包含两个属性,一个是private的String类型的属性title、一个是private的float类型的属性listPrice,之后是封装这两个属性的四个方法,用快捷键Alt+Shift+S选择gennerate Getters and Setters,再实验报告的内容与格式按任课教师的要求书写。

然后就是重写父类的toString()方法,用快捷键Alt+Shift+S选择gennerate toString,快捷重写。

这段程序写完是这样的:接下来便是BookManagement类,在包book下新建一个类BookManagement,写完的程序是这样的:BookManagement类中创建了书的对象,在主方法中调用output函数,赋值,输出。

学生信息管理系统实验报告

学生信息管理系统实验报告

面向对象程序设计大作业------学生信息管理系统学院名称信息科学与工程学院专业班级数学大类2011级2班学生姓名魏仿学号 201101051324指导教师孙红梅完成时间:2013年 5 月29 日ﻬ学生信息管理系统1、编程目的为方便学生信息的管理,特编写这个程序方便操作学生信息管理系统。

实现对学生姓名、学号、性别、成绩等信息的管理,可以实现学生的增加、删、查等多种功能的操作。

2、系统简介本系统实现学生信息的管理,以动态链表、结构体数据类型来实现数据的存储与加工,利用链表来实现学生信息的插入、删除、查找功能。

主要分7个模块:模块一:结构体的定义,定义struct student{};structdate{};结构体struct student{};数据成员包括:intstudentId; char name[20]; char sex[5];struct date birthday; int score; struct student *next; 其中 stru ct date birthday;又借用struct date{};结构体的成员:int year; int month; int day;以此来实现学生学号、姓名、性别、出生日期、成绩等信息的存储于处理。

模块二:ListCreate函数,函数类型为:struct student 形参:struct student *head struct student *p 返回值:head指针。

实现链表的建立功能。

模块三:ListInsert函数,函数类型为:struct student 形参:struct student *head structstudent *p返回值:head指针。

实现链表节点的插入功能。

模块四:ListDelete函数, 函数类型为:struct student 形参:struct student*head struct student *p 返回值:head指针。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告面向对象程序设计实验报告一、引言面向对象程序设计(Object-Oriented Programming,简称OOP)是一种广泛应用于软件开发的编程范式。

本实验旨在通过实践,加深对面向对象程序设计的理解,并掌握其基本概念和技巧。

二、实验目的1. 理解面向对象程序设计的基本概念和思想;2. 掌握类、对象、继承、封装、多态等面向对象的核心概念;3. 运用面向对象的思想设计和实现一个简单的程序。

三、实验过程1. 设计类和对象在本次实验中,我们选择实现一个简单的学生管理系统。

首先,我们需要设计一个学生类(Student),包括学生的姓名、年龄、学号等属性,并定义相关的方法,如获取学生信息、修改学生信息等。

然后,我们创建多个学生对象,模拟学生管理系统中的多个学生。

2. 继承和多态为了进一步理解继承和多态的概念,我们可以设计一个教师类(Teacher),继承自学生类。

教师类除了继承学生类的属性和方法外,还可以定义自己特有的属性和方法。

通过创建教师对象,我们可以看到继承和多态的效果。

3. 封装和访问控制在面向对象程序设计中,封装是一个重要的概念。

我们可以将学生类的属性设置为私有(private),并通过公有(public)的方法来访问和修改属性。

这样做的好处是可以保护属性的安全性,同时提供统一的接口供外部使用。

四、实验结果通过实验,我们成功地实现了一个简单的学生管理系统。

我们可以创建学生对象,并通过调用相关方法来获取和修改学生的信息。

同时,我们还实现了教师类,通过继承和多态的特性,我们可以灵活地使用学生和教师对象。

五、实验总结通过本次实验,我们深入了解了面向对象程序设计的基本概念和思想。

通过设计和实现一个简单的程序,我们掌握了类、对象、继承、封装、多态等核心概念,并学会了如何运用这些概念来设计和实现面向对象的程序。

面向对象程序设计具有很多优点,如代码的可重用性、可维护性、可扩展性等。

通过合理地设计类和对象,我们可以更好地组织和管理代码,提高开发效率和代码质量。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告实验一C++基础1.1实验目的1.了解并熟悉开发环境,学会调试程序;2.熟悉C++中简单的标准输入输出函数的使用方法;3.理解const修饰符的作用并学会应用;4.理解内联函数的优缺点并学会其使用场合;5.理解并学会函数重载;6.理解并熟练掌握使用new和delete来分配内存;7.理解并熟练掌握引用的使用方法。

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;int x2=0;double d1=0.0;double d2=0.0;x1=max_def(5,6);x2=max_def(2,3,4);d1=max_def(2.1,5.6);d2=max_def(12.3,3.4,7.8);-------------------------------------------------------①cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;cout<<"d1="<<d1<<endl;cout<<"d2="<<d2<<endl;--------------------------------------------------------②return 1;}问题一:上述程序的输出结果是什么?答:输出结果为问题二:①处调用的是哪个函数?答:①处调用的是double max_def(double x,double y)函数问题三:②处的输出结果为什么是d2=12,而不是d2=12.3?答:因为调用的int max_def(int x,int y,int z)函数返回值为整型。

实验报告-数据库编程

实验报告-数据库编程

《面向对象程序设计》实验报告合肥院学院计算机科学与技术系实验名称____Java与数据库连接_________日期______12.14________姓名/学号张慧 / 1304091018 专业/班级软件工程(1)班指导老师吴晓琴成绩_______________________________一、实验目的:(详见指导书,宋体小四)熟悉SQL命令集。

学会编写加载数据库驱动和连接数据库的Java程序。

应用Java.sql包中的类和接口编写操作数据库的应用程序二、实验要求:(详见指导书,宋体小四)1. 通过实验掌握SQL命令的使用;2. 使用J2SDK中提供的JDBC-ODBC桥连接数据库;3. 使用的数据库系统不受限制。

4.调试运行程序,观察输出结果。

5.写出实验报告。

三、实验内容及过程:(宋体小四)实验内容:完成学生信息管理系统:编程实现如下功能:在数据库中建立一个表,表名为学生,其结构为:编号、姓名、性别、年龄、JAVA语言、数据结构、微机原理、总分。

在表中输入多条记录。

将表每条记录按照总分大到小的顺序显示在屏幕上。

要求有增加、删除、查找等功能(要求图形界面)实验步骤:1、首先设计一个图形界面2、首先建立一个数据库,在此基础上通过编程实现一下功能:在数据库中建立一个表,表名为职工,其结构为:编号、姓名、性别、年龄、JAVA语言、数据结构、微机原理、总分。

1)在表中输入多条记录。

2)将每条记录按照总分大到小的顺序显示在屏幕上。

3)查找并显示姓名为“张三”的记录四、实验总结:(简单、准确的总结本次实验的主要内容,个人收获)通过本次试验,我对于数据库编程的体会更加深刻了。

原来都只是理论上的学习,操作的时候还真无从下手。

实验做完,还是有很多不懂得地方,希望能够尽快把问题解决好。

六、源代码及运行结果1、package java_sqlserver_TextWeb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Student_select {public static void main(String[] args) throwsClassNotFoundException,ClassCastException, SQLException {// TODO Auto-generated method stub//创建空连接Connection conn=null;//加载数据库驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//建立数据库连接conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;Database Name=Student_Demo", "sa", "123456");//创建数据库语句String str=" select * from Student";//执行语句Statement stmt = (Statement) conn.createStatement();ResultSet rs = ((java.sql.Statement) stmt).executeQuery(str);//遍历结果集while(rs.next()){int id=rs.getInt(1);String name=rs.getString(2);String sex=rs.getString(3);int age=rs.getInt(4);String course=rs.getString(5);int score=rs.getInt(6);System.out.println(id+"\t"+name+"\t"+sex+"\t"+age+"\t"+course+"\t"+score);}//关闭数据库连接if(conn!=null){stmt.close();conn.close();}}}2、package java_sqlserver_TextWeb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Student_insert {public static void main(String[] args) {// TODO Auto-generated method stubStudent_insert myJdbc=new Student_insert();myJdbc.StatementExecSQLInsertUpdateDB();}void StatementExecSQLInsertUpdateDB(){try{Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=Student_Demo";Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection con=DriverManager.getConnection(url,"sa","123456"); Statement stmt=con.createStatement();System.out.print("InsertDateBase----StateMent.executeUpdate()\n");//int RecordRowNum=stmt.executeUpdate("insert intoStudent(id,name,email) values(1304091006,'李金鸣','lijinming@')");int RecordRowNum=stmt.executeUpdate("insert intoStudent(id,name,sex,age,course,score) values(1304091006,'李金鸣','男',21,'java',67)");System.out.println("The Record Row Num Is "+RecordRowNum);ResultSet rs=stmt.executeQuery("select * from student");while(rs.next()){int id=rs.getInt("id");String name=rs.getString("name");String email=rs.getString(3);System.out.println(id+"\t"+name+"\t"+email);}stmt.close(); //must closecon.close();}catch(SQLException e){System.out.println("SQLState:"+e.getSQLState());System.out.println("Message:"+e.getMessage());System.out.println("Vendor:"+e.getErrorCode());}catch(ClassNotFoundException e){System.out.println(e);} }}3、package java_sqlserver_TextWeb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Student_update {public static void main(String[] args){// TODO Auto-generated method stubStudent_update myJdbc=new Student_update();myJdbc.StatementExecSQLUpdateDBRecord();}void StatementExecSQLUpdateDBRecord(){try{//加载数据库驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//建立数据库连接Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=Student_Demo";Connection con=DriverManager.getConnection(url,"sa","123456");//执行语句Statement stmt=con.createStatement();// 第29行易出错 executeUpdate 是 int 类型String sql="update Student set name='钱五' where id=1304091001";int RecordRowNum=stmt.executeUpdate(sql);ResultSet rs=stmt.executeQuery("select * from Student");//遍历结果集while(rs.next()){int id=rs.getInt("id");String name=rs.getString("name");String email=rs.getString(3);System.out.println(id+"\t"+name+"\t"+email);/* int id=rs.getInt(1);String name=rs.getString(2);String sex=rs.getString(3);int age=rs.getInt(4);String course=rs.getString(5);int score=rs.getInt(6);System.out.println(id+"\t"+name+"\t"+sex+"\t"+age+"\t"+course+"\t"+score); */}stmt.close(); //must close;con.close();}catch(SQLException e){System.out.println("SQLState:"+e.getSQLState());System.out.println("Message:"+e.getMessage());System.out.println("Vendor:"+e.getErrorCode());}catch(ClassNotFoundException e){System.out.println(e);}}}4.package java_sqlserver_TextWeb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Student_delete {public static void main(String[] args) {// TODO Auto-generated method stubS tudent_delete myJdbc=new Student_delete();myJdbc.StatementExecSQLInsertUpdateDB();}void StatementExecSQLInsertUpdateDB(){try{String url="jdbc:sqlserver://localhost:1433;DatabaseName=Student_Demo"; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection con=DriverManager.getConnection(url,"sa","123456");Statement stmt=con.createStatement();System.out.print("Insert DateBase----StateMent.executeUpdate()\n");int RecordRowNum=stmt.executeUpdate("delete from Student where name='钱五'");System.out.println("The Record Row Num Is "+RecordRowNum);ResultSet rs=stmt.executeQuery("select * from student");while(rs.next()){int id=rs.getInt("id");String name=rs.getString("name");String email=rs.getString(3);System.out.println(id+"\t"+name+"\t"+email);package java_sqlserver_TextWeb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Student_update {public static void main(String[] args){// TODO Auto-generated method stubStudent_update myJdbc=new Student_update();myJdbc.StatementExecSQLUpdateDBRecord();}void StatementExecSQLUpdateDBRecord(){try{//加载数据库驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//建立数据库连接Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=Student_Demo";Connectioncon=DriverManager.getConnection(url,"sa","123456");//执行语句Statement stmt=con.createStatement();// 第29行易出错 executeUpdate 是 int 类型String sql="update Student set name='钱五' whereid=1304091001";int RecordRowNum=stmt.executeUpdate(sql);ResultSet rs=stmt.executeQuery("select * from Student");//遍历结果集while(rs.next()){int id=rs.getInt("id");String name=rs.getString("name");String email=rs.getString(3);System.out.println(id+"\t"+name+"\t"+email);/* int id=rs.getInt(1);String name=rs.getString(2);String sex=rs.getString(3);int age=rs.getInt(4);String course=rs.getString(5);int score=rs.getInt(6);System.out.println(id+"\t"+name+"\t"+sex+"\t"+age+"\t"+course+"\t"+score); */}stmt.close(); //must close;con.close();}catch(SQLException e){System.out.println("SQLState:"+e.getSQLState());System.out.println("Message:"+e.getMessage());System.out.println("Vendor:"+e.getErrorCode());}catch(ClassNotFoundException e){System.out.println(e);}}}}stmt.close(); //must closecon.close();}catch(SQLException e){System.out.println("SQLState:"+e.getSQLState());System.out.println("Message:"+e.getMessage());System.out.println("Vendor:"+e.getErrorCode());}catch(ClassNotFoundException e){System.out.println(e);}}}注:报告内容不得雷同,否则视为抄袭,无成绩。

面向对象程序设计实验报告

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

面向对象程序设计实验报告计算机学院张永南昌航空大学实验报告二00七年月日课程名称:面向对象程序设计实验名称:类与结构班级: XXXXXXX 学生姓名: XXXXXX 学号:指导教师评定: XX 签名: XXXXX1、实验目的·学习掌握声明和定义类及成员。

·学习掌握访问类对象成员。

·学习掌握保护数据如何屏蔽外部访问的原理,更好的认识类的封装2、实验内容(1)定义一个满足下列要求的Date类:①用下面的格式输出日期:日/月年②可运行在日期上加一天操作③设置日期//Date.h#include <iostream>using namespace std;class Date{public:void Display();void AddOneDay();void SetDay(int y,int m,int d);protected:bool Legal(int y, int m, int d);bool IsLeapYear(int y);int year;int month;int day;};(2)定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。

并将类定义作为接口,用多文件结构实现之。

//Time.hclass Time{public:Time();void Print();void Set(int,int,int); protected:int min;int sec;int hour;};南昌航空大学实验报告二00七年月日课程名称:面向对象程序设计实验名称:静态成员与友元班级: XXXXXXX 学生姓名: XXXXXX 学号:指导教师评定: XX 签名: XXXXX1、实验目的·学习友元函数的定义和原理。

·学习静态数据成员和静态成员函数的使用。

·学习静态成员代替全局变量实现对象间的共享。

2、实验内容(1)有如下类的定义。

类成员函数copy用于实现两个对象的相互拷贝,请完成该函数的实现。

(有两种方法即不用this 指针和用this指针)#include <iostream.h>class Myclass{public:Myclass (int a,int b) { x=a;y=b;}void copy(Myclass & my);void print( ){ cout<<“x=”<<x<<endl;cout<<”y=”<<y<<endl;}private:int x,y;};void main(){Myclass my(10,20),t(30,40);my.print( );my. Copy(t);my.print( );}成员函数实现:#include <iostream.h>class Myclass{public:Myclass (int a,int b) { x=a;y=b;}void copy(Myclass & my);void print( ){ cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;}private:int x,y;};友员函数实现:#include <iostream.h>class Myclass{public:Myclass (int a,int b) { x=a;y=b;}friend void copy(Myclass &o,Myclass y);void print( ){ cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;}private:int x,y;};(2)商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,单价不一样,因此商店需要记录下目前库存的货物的总重量和总价值。

编写一个程序,通过定义类Carlo来模拟商店货物购进和卖出的情况。

(本题目主要练习静态数据成员的使用,定义私有变量存每件货物的价格和重量,用静态数据成员存货物的总重量和总价钱,定义构造函数和析构函数,当定义新的对象完成初始化的功能和删除对象时,从总重量和总价钱中减去对象的重量和价格)//Menu.h#ifndef MENU_H#define MENU_Hclass Menu{ public:int show();};#endif;// Carlo.hclass Carlo{public:Carlo(double Weight = 0,double Price = 0);virtual ~Carlo();void SetCarlo(double = 0,double = 0);const double &GetCurrentTotalWeight() const;const double &GetCurrentTotalPrice() const;void BuyBox();void SellBox();void ShowBoxInfor() const;protected:static double TotalWeight;static double TotalPrice;private:double BoxWeight;double BoxPrice;};//Carlo.cpp#include <iostream>#include "Carlo.h"using namespace std;double Carlo::TotalPrice=0.0;double Carlo::TotalWeight=0.0;Carlo::Carlo(double Weight, double Price){}void Carlo::BuyBox(){}const double &Carlo::GetCurrentTotalPrice() const{ return TotalPrice;}const double &Carlo::GetCurrentTotalWeight() const{ return TotalWeight;}void Carlo::SetCarlo(double Weight, double Price){}void Carlo::SellBox(){}void Carlo::ShowBoxInfor() const {}Carlo::~Carlo(){}//Menu.cpp#include <iostream>#include <windows.h>#include "Menu.h"using namespace std;int Menu::show(){}//CarloDemo.cpp#include <iostream>#include "Menu.h"#include "Carlo.h"using namespace std;void main(){}南昌航空大学实验报告二00七年月日课程名称:面向对象程序设计实验名称:构造函数与析构函数班级: XXXXXXX 学生姓名: XXXXXX 学号:指导教师评定: XX 签名: XXXXX1、实验目的·理解类与对象的区别。

·学习掌握定义构造函数与析构函数的方法。

·学习把握默认构造函数的意义。

·了解类成员初始化,掌握构造与析构类成员的方式。

2、实验内容(1)创建一个Employee类,该类中用字符数组存放Employee的信息,如姓名、地址、市、省、及邮政编码;每个成员函数的定义放在类定义之外;成员函数包括改变姓名数据成员等;构造函数完成成员数据的初始化;用Display()函数将完整的对象数据打印出来;其中数据成员是保护的,成员函数是公共的。

#include <iostream>#include <string.h>#include <stdio.h>using namespace std;class Employee{public:Employee(char n[20],char a[50],char s[20],char sh[20],char p[6]);void ChangeName(char ch_name[20]);void Display();protected:char name[20];char address[50];char shi[20];char sheng[20];char post[6];};(2) 设计一个表示矩形的类Rect,其矩形成员长float * Length ,宽float * Width为指针变量,设计相应成员函数,实现下列功能:①构造函数设置长和宽(默认为1)。

②复制构造函数用老对象生成新对象。

③set()函数设置长和宽(默认为0)。

④计算并返回长方形的周长。

⑤计算并返回长方形的面积。

⑥析构函数释放动态分配的长和宽。

编制主程序应用指针建立对象测试类。

#include <iostream.h>class Rect{float *Length,*Width;public:Rect(float a=1,float b=1);Rect(Rect &);void set(float a=0,float b=0);float peri();float area();~Rect(){delete Length;delete Width;}};南昌航空大学实验报告二00七年月日课程名称:面向对象程序设计实验名称:继承与多态性班级: XXXXXXX 学生姓名: XXXXXX 学号:指导教师评定: XX 签名: XXXXX1、实验目的了解类的两种使用方式学习从现有类派生出新类的方式了解在派生类中如何使用基类的成员了解基类成员在派生类中的访问控制了解虚函数对多态性的支持2、实验内容题目:应用多态设计学生类生成表示学生的类XS,提供成员函数dispXM()、dispXB()和dispNL()分别用来显示姓名、性别和年龄,并将他们全部定义为纯虚函数;生成CZS类表示初中生,包含数据成员xm、xb和nl 表示学生的姓名、性别和年龄,提供成员函数dispXM()、dispXB()和dispNL()分别用来显示姓名、性别和年龄;再生成类GZS表示高中生和类DXS表示大学生,同样包含相同含义的数据成员xm、xb和nl,也包括成员函数dispXM()、dispXB()和dispNL()。

相关文档
最新文档