大三《面向对象技术》上机作业
[整理版]java面向对象上机
![[整理版]java面向对象上机](https://img.taocdn.com/s3/m/1a3e3d5af6ec4afe04a1b0717fd5360cbb1a8d40.png)
1、已知长方形的长和宽,计算面积(并验证是不是正方形);2、编写程序输入5学生的姓名和年龄并打印出来,同时求出平均年龄。
3、编写学生成绩单程序,可以从键盘读取下列各项,1、学生姓名2、学科编号3、学生成绩(假设有4门课),此程序应显示考试分数,由于计算和显示5个学科的总分和平均分;1、编写一个程序,使用带参数的构造函数和一个方法显示两个整数的值。
创建两个对象,分别传递值集(10,20)和(30,40)。
重载+操作符,将这两个对象的两个x值和两个y值相加,形成一个新对象(x,y)2、编写一个方法重载的程序,定义两个同名的重载方法,一个方法只接受整数参数a,整数参数b;另一个方法接受小数参数a,整数参数b,并且都返回a的b次幂。
3、编写一个程序,用于模拟银行账户的基本操作,如为初始余额赋值,存取现金操作以及使用任意方式修改余额后都可以随时查看账户余额。
请用重载的带参数的构造函数4、以一教研室的环境为例,这里包括学生、教授还有职员。
对这些人员分别划分类层次,定义并实现相应的类。
学生:姓名、年龄、身份证号码、学号、年级、所属的导师(即就是由哪个导师带课题设计)职员:姓名、年龄、身份证号码、薪水。
教授:姓名、年龄、身份证号码、薪水、研究课题方向。
5、定义一个人员类Cperson,包括数据成员:姓名,编号,性别,用于输入输出的成员函数,在此基础上派生出学生类Cstudent(增加成绩)和教师类Cteacher(增加教龄),并实现对学生和信息的输入和输出。
6、定义一个字符串类Cstrone,包含一格存放字符串的数据成员,能够通过构造函数初始化字符串,通过成员函数显示字符串内容,在此基础上,派生出Cstrtwo类,增加一个存放字符串的数据成员,并能通过派生类的构造函数传递参数初始化两个字符串,通过成员函数进行两个字符串的合并以及输出7、把定义平面直角坐标系的一个点的类Cpoint作为基类,派生出描述一条之间的类Line,再派生出一格矩形类,要求成员函数能求出两点间的距离,矩形的周长和面积。
《面向对象程序设计》_上机指导书

《面向对象程序设计》实验指导书实验一 C++程序的编辑、编译、连接和运行一、实验目的(1)熟练VC编译系统的操作环境(2)掌握编辑、编译、连接和运行一个C++程序的基本过程(3)应用项目的建立(4)程序的运行,调试等二、实验内容(1)教材P68~72:例3-4、例3-5、例3-6。
(2)调试要求掌握编辑、编译、连接和运行一个C++程序的基本过程,可设置程序断点、可进行单步跟踪调试。
三、实验步骤(1)创建一个VC的项目学会创建VC的工程项目文件,并能编写源代码文件(.h、.cpp),添加进工程。
1,创建项目:在菜单“文件”——“新建”,如下图:2,添加文件进工程:右键点击工程名——选择Add Files to Project…(2)编写并调试源程序1,源代码请参照《C++语言程序设计(第4版)》P68~722,重点学会打断点,单步调试,察看变量等,如下图:实验二类与对象一、实验目的(1)掌握类定义的基本格式和类成员的访问控制;(2)掌握对象定义和利用构造函数对对象的数据成员进行初始化的方法二、实验内容编写如下要求的完整程序:类对象构造与析构(1)定义四个类:CPU、RAM、CDROM、COMPUTER(2)具体要求1,每个类定义构造函数和析构函数,如结果图输出2,每个类分别定义run和stop接口函数3,COMPUTER为组合类,包含CPU、RAM、CDROM的对象4,主函数:定义一个COMPUTER对象,并调用run和stopCPU和RAM的run和stop事件由COMPUTER调用结果如下图(供参考):三、实验步骤(1)创建工程项目(2)程序设计1,类申明构造函数,与类名同名的函数,当申明对象时自动调用,通常用于初始化;析构函数,~类名,当对象消亡时自动调用,通常用于清理现场。
2,定义接口:public类型的成员函数3,组合类:即类的成员变量中包含其它多个类的对象(3)程序调试与测试实验三多文档程序,类的静态成员和友元一、实验目的(1)掌握多文档结构程序设计方法;(2)掌握类的静态成员和友元;二、实验内容编写如下要求的完整程序:客户端对象信息访问(1)C++程序由多个文件组成,包括:类申明的头文件,类实现文件,主程序文件(2)具体要求1,在头文件中申明类CLIENT,在CPP文件中实现类CLIENT2,类中申明:静态成员变量服务器名ServerName和客户机数量ClientNum静态成员函数GetClientNum——获得客户机数量静态成员函数ChangeServerName——设置服务器名静态成员函数GetServerName——获得服务器名友元函数PrintServerNameAndClientNum——屏幕输出服务器名和客户机数目3,类的构造函数将客户机数目加1,析构函数将客户机数目减14,主函数:定义多个CLIENT对象;应用静态成员方式设置服务器名,访问服务器名和客户机数量;应用友元函数访问服务器名和客户机数量。
面向对象程序设计上机作业

1.编一个程序,程序中包含以下内容:(1) 一个圆类(Circle),包含:属性:园半径radius;常量:PI。
方法:构造方法;求面积方法area();求周长方法:perimeter();显示半径、面积和周长的方法show()。
(2) 主方法main(),在主方法中创建圆类的对象c1和c2并初始化,c1的半径为100,c1的半径为200,然后分别显示两个圆的半径、面积和周长。
#include<iostream>using namespace std;class Circle{public:Circle(double r);double area();double perimeter();void show();private:double radius;const double PI;};Circle::Circle(double r):PI(3.14){radius=r;}double Circle::area(){return PI*radius*radius;}double Circle::perimeter(){return 2*PI*radius;}void Circle::show(){cout<<radius<<' '<<area()<<' '<<perimeter()<<endl;}int main(){Circle c1(100),c2(200);c1.show();c2.show();return 0;}2.编一个程序,程序中包含以下内容:(1)一个学生类(Student),包含:属性:学号s_No,姓名s_Name,性别s_Sex,年龄s_Age,成绩s_Score。
方法:构造方法;显示学号、姓名、性别、年龄及成绩的方法show(),修改成绩的方法modifyScore()。
面向对象程序设计编程实验上机

Pen hisPen=new Pen( "GREEN,"8);
hisPen.SetPrice();
Console .WriteLine( "The price is{0}" ,hisPen.GetPrice());
}
}
( 3)使用重载方法求5和5.65的平方。
public int GetPrice()
{return Price;}
public void SetColor( string newColor)
{Color=newColor;}
public string GetColor()
{return Color;}
}
class Test
{
public static void Main()
Console .WriteLine( "The Color is{0}",myPen.Color);
}
}
}
(2)调试构造函数重载Pen()例题
using System;
class Pen
{
public string Color;
private int Price;
public Pen()
{Color="BLACK"; Price= 5;}
public double app1( double y)
{return y*y;}
}
static void Main( string[]args)
{app x=new app();
Console .WriteLine("5的平方是{0}" ,x.app1(5));
面向对象 作业三答案

面向对象程序设计技术作业三一、填空题1、假定p所指对象的值为28,p+1所指对象的值为62,则*p++的值为28 。
2、假定p所指对象的值为28,p+1所指对象的值为62,则*++p的值为62 。
3、假定p所指对象的值为25,p+1所指对象的值为50,则执行”(*p)++;”语句后,p所指对象的值为26 。
4、假定p所指对象的值为25,p+1所指对象的值为50,则执行”*(p++);”语句后,p所指对象的值为50 。
5、假定a是一个指针数组,则a+I所指对象的地址比a地址大4*I 字节。
6、假定a是一个一维数组,则a [i]的指针访问方式为*(a+i)。
7、假定a是一个二维数组,则a[i][j]的指针访问方式为*(*(a+i)+j) 。
8、假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为a+4*j 。
9、假定一个二维数组为a[M][N],则a[i][j]对应的存储地址(以字节为单位)为a+4*i*N+4*j 。
10、假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为a+4i*N 。
11、假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大 4 字节。
12、假定a为一个字符数组名,则元素a[8]的字节地址为a+8 。
13、假定a为一个整型数组名,则元素a[4]的字节地址为a+16 。
14、假定一个结构类型的定义为”struct A{int a, b;short c;A * d;};”,则该类型的大小为14 字节。
15、假定一个结构类型的定义为”struct B{int a[8];char*b;};”,则该类型的大小为36 字节。
16、假定一个结构类型的定义为”struct D{int a;union{int b;double c;};D*d[3];};”,则该类型的大小为24 字节。
17、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r 指向这个动态数组,则使用的语句为Worker *r=new Worker[n] 。
面向对象第3章上机作业参考

public class RationalNumber implements Cloneable,Comparable { private int numerator;private int denominator;private int greatestCommonFactor (int n1, int n2) //求最大公约数{……} private int leastCommonMultiple (int n1, int n2) ; //求最小公倍数{……}private void reductionOfFraction(); //约分{……}public RationalNumber() { ……}public RationalNumber(int n, int d) { ……}public void set RationalNumber(int n, int d) { ……}public RationalNumber getRationalNumber() { ……}public int getNumerator() { ……}public int getDenominator () { ……}public RationalNumber add(RationalNumber r) {……}public RationalNumber sub(RationalNumber r) {……}public RationalNumber mul(RationalNumber r) {……}public RationalNumber div(RationalNumber r) {……}public boolean equals(Object otherObject) {if (this == otherObject) return true;if (otherObject == null) return false;if (getClass() != otherObject.getClass()) return false;RationalNumber r = (RationalNumber)otherObject;// 通分,比较是否相等……}public int compareTo(Object otherObject) {……}public RationalNumber clone() throws CloneNotSupportedException { return (RationalNumber)super.clone();}public String toString() { return “……..”; }}public class Course implements Cloneable {private int No;private Strng name;private int classHour;private int classCharacter;private String teacher;private Material[] materials;public Course() {……}public Course(String name, int classHour,int classCharacter, String teacher, Material[] materials) {……}public int getNo(){……}public String getName(){……}public int getClassHour(){……}public int get ClassCharacter(){……}public String getTeacher(){……}public Material[] getMaterials(){……}public void setNo(int No){……}public void setName(String name){……}public void setClassHour(int classHour){……}public void set ClassCharacter(int character){……}public void setTeacher(String teacher){……}public void setMaterials(Material[] materials){……}public boolean equals(Object otherObject) {if (this == otherObject) return true;if (otherObject == null) return false;if (getClass() != otherObject.getClass()) return false;Course c = (Course)otherObject;//比较是否相等……}public Course clone() throws CloneNotSupportedException { Course c= (Course) super.clone(); = (String)name.clone();c.teacher = (String)teacher.clone();c.materials = (Material[])materials.clone();return c;}public String toString() { return “……..”; }}。
(面向对象程序设计)第五次上机

面向对象程序设计第五次上机题目
1,已知如下一个类:
class A
{
Int a1,a2;
A(int I, int j )
{
a1=i;
a2=j;
}
}
要求编写一个方法swap来交换A类的两个对象的成员变量的值。
2,已知一个类如下:
class S
{
double r;
}
编写S的一个子类,该子类中包含一个计算圆面积的方法area()和使用super()初始化S类成员的构造方法。
3,定义一个复数类complex,内有两个成员变量:实部和虚部,还有两个方法:求两个复数和,两个复数的差。
编程验证该运算。
4,编写一个类,使该类中具有不同权限的成员,将这个类存放在一个包中。
在另一个包中再编写第二个类,在此类中编写一个方法,在该方法中操作第一个类中的成员,熟悉哪些成员可操作,哪些成员不可操作。
5,按下列要求编程
a)编写一个抽象类,至少含有一个常量和一个抽象方法。
b)编写二个抽象类的子类,重写定义抽象类中的抽象方法
c)编写一个珠泪亮起上述三个类,进行某种运算。
(自己定义)。
大三《面向对象技术》上机作业

《面向对象技术》上机作业一、设计目的和时间安排●掌握面向对象程序设计的基本思路和方法。
●利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
二、内容及要求自学《教材》前14章,利用所学到的Java编程知识和编程技巧,设计一个实际的应用软件,初步认识软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为后续课程和以后的工程实践打下良好的基础。
三、考核方式请在考试前将代码打包,命名为“学号_姓名.rar”,发送到guokehua@,注意,千万不能发错,否则后果自负。
四、时间、地点安排见 csu_xxxy_jsj@ 邮箱。
五、题目(根据你的学号尾数除以5的余数,选1题。
)0. 人事信息管理系统:主要功能如下:1.添加功能:添加一个职员的基本信息,包括姓名,身份证号码,家庭住址,联系电话,薪水,性别;2.显示功能:显示所有职员的详细信息;3.查找功能1:根据你键入的职员姓名,显示其详细信息;4.查找功能2:输入性别(男或女),显示该性别所有职员的详细信息。
1.通讯录:主要功能如下:1.添加功能:添加一个联系人的基本信息,包括姓名,电话号码,身份证号码,家庭住址,性别;2.查找功能:根据你键入的联系人姓名,显示其详细信息;4.修改功能:对联系人的基本信息进行修改。
5.删除功能:根据你键入的联系人姓名,可以对其进行删除操作。
2.学生成绩管理系统:主要功能如下:1.添加学生信息功能:添加一个学生的基本信息,包括学号、姓名,性别;2.添加课程信息功能:添加一个课程的基本信息,包括课程号、课程名称;3. 添加考试成绩功能:添加考试成绩:输入一个学生的学号,输入一个课程号,输入分数;4.统计功能:输入姓名,能显示某学生各门科目的课程号和分数。
3.客房管理系统主要功能如下:1.添加客房信息功能:添加一个客房的基本信息,包括房号、价格;2.添加住宿信息:添加顾客住宿信息,包括顾客姓名、身份证号、房号,天数;3. 查询顾客应付款项:输入顾客身份证号,显示其需要付款的数量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象技术》
上机作业
一、设计目的和时间安排
●掌握面向对象程序设计的基本思路和方法。
●利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
二、内容及要求
自学《教材》前14章,利用所学到的Java编程知识和编程技巧,设计一个实际的应用软件,初步认识软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为后续课程和以后的工程实践打下良好的基础。
三、考核方式
请在考试前将代码打包,命名为“学号_姓名.rar”,发送到
guokehua@,注意,千万不能发错,否则后果自负。
四、时间、地点安排
见 csu_xxxy_jsj@ 邮箱。
五、题目(根据你的学号尾数除以5的余数,选1题。
)
0. 人事信息管理系统:
主要功能如下:
1.添加功能:添加一个职员的基本信息,包括姓名,身份证号码,家庭住址,联系电话,薪水,性别;
2.显示功能:显示所有职员的详细信息;
3.查找功能1:根据你键入的职员姓名,显示其详细信息;
4.查找功能2:输入性别(男或女),显示该性别所有职员的详细信息。
1.通讯录:
主要功能如下:
1.添加功能:添加一个联系人的基本信息,包括姓名,电话号码,身份证号码,家庭住址,性别;
2.查找功能:根据你键入的联系人姓名,显示其详细信息;
4.修改功能:对联系人的基本信息进行修改。
5.删除功能:根据你键入的联系人姓名,可以对其进行删除操作。
2.学生成绩管理系统:
主要功能如下:
1.添加学生信息功能:添加一个学生的基本信息,包括学号、姓名,性别;
2.添加课程信息功能:添加一个课程的基本信息,包括课程号、课程名称;
3. 添加考试成绩功能:添加考试成绩:输入一个学生的学号,输入一个课程
号,输入分数;
4.统计功能:输入姓名,能显示某学生各门科目的课程号和分数。
3.客房管理系统
主要功能如下:
1.添加客房信息功能:添加一个客房的基本信息,包括房号、价格;
2.添加住宿信息:添加顾客住宿信息,包括顾客姓名、身份证号、房号,天数;
3. 查询顾客应付款项:输入顾客身份证号,显示其需要付款的数量。
4.删除功能:输入顾客身份证号,选择删除,将顾客住宿信息删除。
4.高校工资管理系统
主要功能如下:
1.添加功能:添加一个职员的基本信息,包括姓名,工作证号,身份证号码,出生年月日,家庭住址,联系电话,薪水,性别;
2.调整工资功能:输入一个职员的姓名,输入他的新工资数量,能将其薪水变成新的数量;
3.查找功能:根据你键入的职员姓名,显示其详细信息;
5.删除功能:输入职员身份证号,能显示详细信息,并能选择将其删除。