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

合集下载

面向对象编程实验报告

面向对象编程实验报告

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

二、实验内容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之间所有素数的和。

  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()。

相关文档
最新文档