C#NET程序设计实验报告.docx
- 文档编号:2946462
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:67
- 大小:609.23KB
C#NET程序设计实验报告.docx
《C#NET程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《C#NET程序设计实验报告.docx(67页珍藏版)》请在冰豆网上搜索。
C#NET程序设计实验报告
福建农林大学金山学院
实验报告
课程名称:
.NET程序设计
姓名:
洪绵绵
系:
信息与机电工程系
专业:
计算机科学与技术
年级:
2008
学号:
082231029
指导教师:
林松
职称:
讲师
2010年12月29日
实验项目列表
序号
实验项目名称
成绩
指导教师
1
实验一、数组、类、接口与结构(验证性2学时)
林松
2
实验二、委托与事件(验证性2学时)
林松
3
实验三、文件与Windows窗体程序设计(验证性2学时)
林松
4
实验四、数据库操作1(综合性2学时)
林松
5
实验五、数据库操作2(综合性,2学时)
林松
福建农林大学金山学院实验报告
系:
信息与机电工程专业:
计算机科学与技术年级:
2008级
姓名:
洪绵绵学号:
082231029实验室号_608计算机号B3
实验时间:
2010.11.26上午一二节指导教师签字:
成绩:
实验一数组、类、接口与结构
一、实验目的和要求
1、了解数组、类、接口和结构的定义、概念。
2、了解结构和类的区别。
3、掌握数组的声明、实例化、初始化和访问。
4、掌握类、接口的声明和使用,结构的声明和调用。
二、实验内容和原理
1、屏幕打印10行杨辉三角,逐行输出,用到Console.Write("{0,5}",A[i,j]);和Console.WriteLine();语句。
2、创建抽象基类Shape和派生类Rectangle,Circle利用多态性实现Area(计算面积)和Show(在屏幕上显示图形名称和面积)抽象方法
3、声明一个接口ICDPlayer,包含4个接口方法:
Play(),Stop(),NextTrack()和PreviousTrack(),以及一个只读属性CurrentTrack创建类CDPlayer实现该接口,模拟CD的播放、停止、下一音轨、上一音轨的操作。
4、声明一个表示平面坐标系中的点的结构体CoOrds,包含字段x,y,以及带2个参数的构造函数。
分别利用三种不同的方法(默认构造函数、有2个参数的构造函数、先声明结构体变量再对其x,y字段赋值),创建3个平面坐标点变量。
求这3个点所构成的三角形面积。
注意判断3个坐标点是否可以构成三角形。
三、实验环境
1、硬件:
PC机
2、软件:
windowsXP、VS2008
四、算法描述及实验步骤
1、
(1)打开记事本,编写代码。
(2)定义一个二维数组,杨辉三角只需处理(赋值和输出)下三角各元素即可。
所有下三角各元素初始化为1。
(3)杨辉三角下三角各元素满足如下条件:
第一列及对角线上的元素均为1;其余每
个元素等于它上一行同一列元素与上一行前一列元素之和,即:
A[i,j]=A[i-l,j]+A[j-1]。
(4)屏幕打印数组中的三角中各元素,可逐行输出(Console.Write("{0,5}",A[i,j]);Console.WriteLine();)
(5)保存记事本文件为exp1_1.cs
(6)在命令行界面(桌面开始程序vs2008vstoolsvs2008命令提示)编译源文件(csc…\exp1_1.cs)、运行(exp1_1.exe)并查看结果。
2、
(1)打开vs2008,创建新项目(控制台应用程序),并命名为exp1_2。
(2)定义基类Shape,其中含有:
一个保护的string类型字段name;带一个参数的构造方法为name字段赋值;两个抽象方法:
Area()(返回一个双精度的值)和Show()(无返回值)。
(3)定义派生类Rectangle,其中含有:
两个私有的双精度类型的字段width,heigh;带三个参数的构造方法为name,width和heigh赋值,其中为name赋值调用父类的构造方法;实现方法Area()(返回举行的面积)和Show()(无返回值,在屏幕上显示图形名称(矩形)和面积)。
(4)定义派生类Circle,其中含有:
一个私有双精度类型的字段radius;带两个参数的构造方法为name,radius赋值,其中为name赋值调用父类的构造方法;实现方法Area()(返回举行的面积)和Show()(无返回值,在屏幕上显示图形名称(圆)和面积)。
(5)在program类(默认)中Main方法中:
创建一个Shape类型的数组s,其中两个元素分别为newRectangle(“小矩形”,1.0,2.0)和newCircle(“大圆”,3.5);使用foreach遍历s,调用每个元素的Show方法。
(6)编译和测试程序,并查看运行结果。
3、
(1)打开vs2008,创建新项目(控制台应用程序),并命名为exp1_3。
(2)声明一个接口ICDPlayer,包含:
4个无返回值的方法:
Play(),Stop(),NextTrack()和PreviousTrack();一个整型的只读属性CurrentTrack。
(3)定义类CDPlayer实现该接口ICDPlayer,包含:
一个初始值为0的私有整型字段currentTrack;实现Play方法,功能是在屏幕上输出字符串“启动CD…”;实现Stop方法,功能是在屏幕上输出字符串“停止CD…”;实现NextTrack方法,功能是在屏幕上输出字符串“下一个音轨…”,并让currentTrack的值加1;实现PreviousTrack方法,功能是在屏幕上输出字符串“前一个音轨…”,并让currentTrack的值减1;实现只读属性CurrentTrack,读取时返回字段currentTrack的值。
(4)在program类(默认)中Main方法中:
创建一个CDPlayer类型的实例myCD;调用Play方法后在屏幕上输出当前音轨的值(CurrentTrack属性值);调用两次NextTrack方法后在屏幕上输出当前音轨的值;调用一次PreviousTrack方法后在屏幕上输出当前音轨的值;调用Stop方法。
(5)编译和测试程序,并查看运行结果。
4、
(1)打开vs2008,创建新项目(控制台应用程序),并命名为exp1_4。
(2)声明一个表示平面坐标系中的点的结构体CoOrds,包含字段x,y,以及带2个参数的构造函数。
(3)分别利用三种不同的方法(默认构造函数、有2个参数的构造函数、先声明结构体变量再对其x,y字段赋值),创建3个平面坐标点变量。
(4)编译和测试程序,并查看运行结果。
五、调试过程
六、实验结果
1、屏幕打印10行杨辉三角,如下图:
2、
3、
4、
七、总结
通过这个实验,我了解到了数组、类、接口和结构的定义,基本认识了结构和类的区别。
在一定程度上掌握了数组的声明、实例化、初始化和访问。
对于类、接口的声明和使用,结构的声明和调用有了进一步的认识。
附录:
(1)exp1_1.cs
usingSystem;
namespaceexp1_1
{
classprogram
{
staticvoidMain()
{int[,]A=newint[10,10];
inti,j;
for(i=0;i<10;i++)//下三角初始化为0
for(j=0;j<=i;j++)
A[i,j]=1;
for(i=2;i<10;i++)//计算杨辉三角
for(j=1;j
A[i,j]=A[i-1,j]+A[i-1,j-1];
for(i=0;i<10;i++)//显示输出
{for(j=0;j<=i;j++)
Console.Write("{0,5}",A[i,j]);
Console.WriteLine();
}
}
}
}
(2)exp1_2.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceexp1_2
{
publicabstractclassShape
{
privatestringname;
publicShape(strings)
{
Id=s;
}
publicstringId
{
get
{
returnname;
}
set
{
name=value;
}
}
publicabstractdoubleArea
{
get;
}
publicoverridestringToString()
{
returnId+"Area="+string.Format("{0:
F2}",Area);
}
//publicabstractvoidShow(Area);
//{
//Console.WriteLine("{0}",Area);
//}
}
publicclassRectangle:
Shape
{
privatedoublewidth;
privatedoubleheigh;
publicRectangle(stringname,doublewidth1,doubleheigth1):
base(name)
{
width=width1;
heigh=heigth1;
}
publicoverridedoubleArea
{
get
{
returnwidth*heigh;
}
}
//publicoverridevoidShow();
//{
//Console.WriteLine("{0:
F2}",Area);
//}
}
publicclassCircle:
Shape
{
privatedoubleradius;
publicCircle(stringname,doubleradius1):
base(name)
{
radius=radius1;
}
publicoverridedoubleArea
{
get
{
returnradius*radius*System.Math.PI;
}
}
//publicoverridevoidShow();
//{
//Console.WriteLine("{0:
F2}",Area);
//}
}
classProgram
{
staticvoidMain(string[]args)
{
Shape[]S=
{
newRectangle("小矩形",1.0,2.0),
newCircle("大圆",3.5)
};
foreach(ShapesinS)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
}
}
(3)exp1_3.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceexp1_3
{
publicinterfaceICDPlayer
{
v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NET 程序设计 实验 报告