实验项目名称: 实验学时:
同组学生姓名: 实验地点:
实验日期: 实验成绩:
批改教师: 批改时间:
一、实验目的和要求
实验目的:
1、理解面向对象的概念,掌握C#的定义类和创建对象的方法。
2、区分类的不同数据成员,包括常量、字段、和属性的定义方法,并学会控制其可访问性。
3、掌握类的方法成员的声明与调用,理解各种参数在方法中的意义及使用。
4、理解构造函数和析构函数的作用机制。
实验要求:
1、熟悉Visual Studio.NET2010的基本操作方法。
2、认真阅读本章相关内容,尤其是案例。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
二、实验设备及环境
设备:奔腾4及奔腾4以上计算机
环境:Visual Studio .NET 2010
三、实验任务
1、设计一个简单的Windows应用程序,在文本框中输入两个点的坐标值,单击“确定”按钮时显示两点之间的距离。
要求定义一个Point类,包括:
(1)两个私有字段表示两个坐标值。
(2)一个构造函数通过传入的参数对坐标值初始化。
(3)两个只读属性对坐标值的读取。
(4)一个方法包含一个Point类对象作为形参该对象和自己的距离。
2、自定义一个时间类。该类包含小时、分、秒、字段与属性,具有将秒增加1秒的方法。
要求定义一个Time类,包括:
(1)三个私有字段表示时、分、秒。
(2)两个构造函数,一个通过传入的参数对时间初始化,另一个获取系统当前的时间。
(3)三个只读属性实现对时、分、秒的读取。
(4)一个方法用于对秒增加1秒(注意60进位的问题)。
3、设计一个Windows应用程序,在该程序中定义一个类和班级类,以处理每个学生的学号、姓名,语文、数学和英语三门课程的期末考试成绩,要求:
(1)能查询每个学生的总成绩。
(2)能显示全班前三名的名单。
(3)能显示单科成绩最高分和不及格的学生名单。
(4)能统计全班学生的平均成绩。
(5)能显示各科成绩在不同分数段的学生人数百分比。
设计提示:
(1)定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩、英语成绩)和属性(总成绩)等。
(2)定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信息)以及若干个实现上述要求的方法等。
(3)设计用户操作界面,首先让用户能输入一个学生的信息,当单击“添加”按键时把这些信息添加到班级对象的学生数组中。当单击“完成”按钮时调用班级类的方法来显示所要求统计的统计结果。当用户在查询框中输入学生的名字后,并单击“查询”按钮时显示该学生的总成绩。
四、实验结果与分析
1、
private void button1_Click(object sender, EventArgs e)
{ int x1, y1, x2, y2;
x1 = Convert.ToInt16 (textBox1.Text);
y1=Convert .ToInt16 (textBox2.Text );
x2 = Convert.ToInt16(textBox3.Text );
y2 = Convert.ToInt16(textBox4.Text);
Point p1 = new Point(x1, y1);
Point p2 = new Point(x2, y2);
label7.Text = p1.Distance(p2).ToString();}
class Point
{ public int X, Y;
public Point(int I, int J) { X = I; Y = J; }
public double Distance(Point p)
{ return System.Math.Sqrt((this.X - p.X) * (this.X - p.X) + (this.Y - p.Y) *(this.Y - p.Y));
} }
实验结果:
2、
private void