C#程序设计实验指导.docx
《C#程序设计实验指导.docx》由会员分享,可在线阅读,更多相关《C#程序设计实验指导.docx(10页珍藏版)》请在冰豆网上搜索。
![C#程序设计实验指导.docx](https://file1.bdocx.com/fileroot1/2023-1/23/079f2d5e-4d85-44d0-bafe-636c776780d7/079f2d5e-4d85-44d0-bafe-636c776780d71.gif)
C#程序设计实验指导
学生实验报告册
(理工类)
课程名称:
C#程序设计专业班级:
学生学号:
学生姓名:
所属院部:
信息技术学院指导教师:
2012——2013学年第1学期
金陵科技学院教务处制
实验报告书写要求
实验报告原则上要求学生手写,要求书写工整。
若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。
纸张一律采用A4的纸张。
实验报告书写说明
实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。
教师可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。
实验报告装订要求
实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:
C#编程基础实验学时:
6学时
同组学生姓名:
无实验地点:
实验日期:
实验成绩:
批改教师:
批改时间:
实验1C#编程基础
一、实验目的
(1)熟悉VisualStudio.NET集成开发环境(IDE),熟悉C#源程序语言的编辑、编译和运行过程;
(2)学会创建简单的控制台应用程序和windows窗体应用程序;
(3)能够使用C#选择、循环等流程控制语句编写并调试程序;
(4)掌握使用数组来求解一些现实问题的步骤和方法。
二、实验要求
(1)编写程序要规范、正确,上机调试过程和结果要有记录;
(2)做完实验后给出本实验的实验报告。
三、实验设备、环境
安装有VS.Net2005以上版本软件。
四、实验步骤
1.采用VS2010编写一个简单的控制台应用程序
(1)打开VS2010开发工具。
(2)在新建项目对话框中选择VisualC#,模板选择控制台应用程序,给项目命名为HelloConsole,然后点“浏览”按钮,选择项目的存储目录。
(3)在Program.cs文件中,键入代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceHelloWorld
{
classProgram
{
staticvoidMain(string[]args)
{
Stringname;
name=Console.ReadLine();
Console.WriteLine("欢迎{0}光临",name);
Console.ReadLine();
}
}
}
(4)按F5或者点启动调试按钮运行程序,在控制台中输入张飞,回车后显示“欢迎张飞光临”。
2.采用VS2010编写一个简单的windows窗体应用程序
(1)打开VS2010开发工具。
(2)在新建项目对话框中选择VisualC#,模板选择windows窗体应用程序,给项目命名为HelloForm,然后点“浏览”按钮,选择项目的存储目录。
(3)在Form1窗体中拖放一个TextBox文本框、Label标签和Button按钮控件,修改Label的Text属性为””,修改Button1的Text属性为”确定”。
(4)双击Command1进入Form1.cs的代码界面,在button1_Click事件中键入代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
label1.Text="欢迎"+textBox1.Text+"光临";
//或者label1.Text=string.Format("欢迎{0}光临",textBox1.Text);
}
(5)按F5或者点启动调试按钮运行程序,在文本框中输入张飞,点击“确定”按钮,在标签中会显示“欢迎张飞光临”。
五、实验内容
1.编写一个控制台应用程序,输入自己的班级、学号、姓名并显示。
2.编写一个Windows窗体应用程序,输入自己的班级、学号、姓名并显示。
3.设计一个简单的Windows程序,在文本框中随意输入一个日期,单击“确定”按钮时显示“这一天是星期几”。
4.设计一个简单的Windows程序,输入多个数字,然后降序排序并输出。
5.有一函数:
1-2x(0≤x<10)
Y=x(10≤x<20)
1+2x(20≤x<30)
设计一个Windows程序,输入x,输出y。
6.设计一个Windows程序,计算下列分数序列前20项之和。
2/1,3/2,5/3,8/5,13/8,21/13.......
六、思考题
编写一个猜数字游戏:
让系统产生三个一位数,由用户去猜这三个数分别是什么,根据用户所猜中的数字的个数,分别给出提示。
比如系统产生的三个数分别是:
637;如果用户猜的是123,则提示“你一个都没有猜对”;如果用户猜的是623,则提示你猜对了1个数,以此类推。
。
。
。
。
。
如果用户把三个数都猜出来了而且位置也正确,则给出“你的答案完全正确!
”
七、实验体会
实验项目名称:
类与对象 实验学时:
6学时
同组学生姓名:
无实验地点:
实验日期:
实验成绩:
批改教师:
批改时间:
实验2类与对象
一、实验目的、要求
(1)理解面向对象程序设计的思想和基本概念;
(2)掌握对类字段、属性和方法成员设定的方法;
(3)掌握方法重载;
(4)学会使用构造函数和析构函数。
二、实验要求
(1)编写程序要规范、正确,上机调试过程和结果要有记录;
(2)做完实验后给出本实验的实验报告。
三、实验设备、环境
安装有VS.Net2005以上版本软件。
四、实验步骤
创建一个包含类的控制台应用程序
很多软件都要求我们先输入用户名和密码才能使用,以控制台为例,创建一个Login类,完成系统的登录验证工作。
(1)新建一个名为MySoftware的控制台应用程。
(2)在software名称空间下,添加类Login。
包含姓名和密码2个属性,并提供验证用户是否合法的方法,程序如下:
publicclassLogin
{
//私有字段
privatestringuserName;
privatestringpassword;
//属性
publicstringUserName
{
get{returnuserName;}
set{userName=value;}
}
publicstringPassword
{
get{returnpassword;}
set{password=value;}
}
//方法
publicboolIsValidateUser()
{
if(userName.Equals("admin")&&password.Equals("admin"))
returntrue;
else
returnfalse;
}
}
(3)在类Program的Main方法中实现Login对象的实例化及使用,添加如下代码:
classProgram
{
staticvoidMain(string[]args)
{
LoginloginModule=newLogin();
Console.Write("请输入您的用户名:
");
stringuserName=Console.ReadLine();
Console.Write("请输入您的密码:
");
stringpassword=Console.ReadLine();
loginModule.UserName=userName;
loginModule.Password=password;
if(loginModule.IsValidateUser())
Console.WriteLine("欢迎进入本系统");
else
Console.WriteLine("您的用户名输入错误,系统拒绝登录!
");
}
}
(4)整个代码结构为:
namespacesoftware
{
publicclassLogin……
classProgram……
}
(5)运行程序,查看程序执行效果。
五、实验内容
1.定义一个students类,包括学号、姓名、性别、年龄4个属性,要求在年龄属性中提供对不合法(年龄在10至50之间)输入的判断,并提供方法显示学生信息。
构建该类,并测试。
2.编写一个矩形类(Rect)与一个圆类(Circle),分别通过构造函数对一个矩形对象(rect1)与一个圆对象(circle1)进行初始化后,求出矩形与圆的面积。
同时具有如下功能:
可以设置和读取矩形的边长和圆的半径,但只能读取它们的面积,不能修改面积。
3.定义一个方法,给一个一维整型数组按从小到大的顺序排序(不要使用Array.Sort方法)并求其平均值,其中平均值由输出参数传递。
在Main()方法中实现数组的输入及结果的输出。
4.设计一个简单的Windows应用程序,在文本框中输入两个点的坐标,单击“确定”按钮时显示亮点之间的距离。
定义一个point类要求包括:
两个私有表示坐标值;一个构造函数对坐标值初始化;两个只读属性对坐标值读取;一个方法求两点之间的距离。
5.定义日期Time类型。
该类包含小时、分、秒字段与属性,具有将秒增加1的方法。
该类包括:
3个私有字段,两个构造函数:
一个对传入的参数对时间初始化,另一个获取系统当前的时间,三个只读属性实现对时分秒的读取,一个方法用于对秒加1。
6.创建一个名为Account的类,用于模拟银行账户的基本操作:
存取现金操作以及在查看账户余额。
其中应该包含一个名为balance账户金额的成员变量;编写一个默认构造函数,使用值2000初始化该成员变量;编写一个参数化构造函数,它可以传递任何整数以初始化balance变量。
六、思考题
编写一个控制台程序,在该程序中定义一个学生类和班级类,以处理每个学生的学号、姓名、语文、数学和英语3门课程的期末考试成绩,要求:
(1)能查询每个学生的总成绩;
(2)能显示单科成绩最高分和该科不及格的学生名单;(3)能统计全班学生的平均成绩
提示:
定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩和英语成绩)和属性(总成绩)等;
定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信息)以及若干个实现上述要求的方法等;
实现在控制台输入学生的名字即输出该生的总成绩功能,输入某班和某科的名称即输出该班该科最高分和不及格学生名字,以及输入某班的名字即输出该班的平均成绩。
七、实验体会
实验项目名称:
继承与多态实验学时:
6学时
同组学生姓名:
无实验地点:
实验日期:
实验成绩:
批改教师:
批改时间:
实验3继承与多态
一、实验目的、要求
(1)理解继承的概念、掌握继承的使用方法、能够利用继承建立父类和子类;
(2)理解静态方法和实例方法之间的异同;
(3)掌握多态和虚方法的概念和实现方法;
(4)了解接口和类的异同,掌握接口的定义,实现和使用。
二、实验要求
(1)编写程序要规范、正确,上机调试过程和结果要有记录;
(2)做完实验后给出本实验的实验报告。
三、实验设备、环境
安装有VS.Net2005以上版本软件。
四、实验内容
1.编写一个控制台程序,在该程序中构造一个Person基类,再分别构造Student和Teacher派生类,要求具有不同的特征和行为,能通过静态成员自动记录由不同派生类创建的对象的人数。
2.设计一个Windows应用程序,在程序中首先构造一个学生基类,在该方法中ShowMsg方法用来显示学生信息,如“张亮是学生,今年20岁了”。
再分别构造小学生、中学生,当输入相关数据,单击不同的按钮时,显示不同信息。
3.编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。
(1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。
(2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。
(3)在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。
4.定义一个抽象类Figure,该类中包含一个抽象方法Area()用于求图形的面积,从该抽象类派生矩形类Square和圆类Circle,实现用Area()方法显示矩形和圆的面积。
五、实验体会
实验项目名称:
接口、文件和流实验学时:
6学时
同组学生姓名:
无实验地点:
实验日期:
实验成绩:
批改教师:
批改时间:
实验4接口、文件和流
一、实验目的、要求
(1)掌握接口的定义及使用方法;
(2)掌握流,序列化和反序列化的概念和使用方法;
(3)掌握流文件的读写操作类及其使用方法;
(4)掌握OpenFileDialog,SaveFileDialog等控件的使用。
二、实验要求
(1)编写程序要规范、正确,上机调试过程和结果要有记录;
(2)做完实验后给出本实验的实验报告。
三、实验设备、环境
安装有VS.Net2005以上版本软件。
四、实验内容
1.声明一个接口Iplayer,包含5个接口方法:
播放,停止,暂停,上一首和下一首。
在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口。
2.实现对文本文件的读写操作,用文件操作控件打开和保存文件。
3.实现对二进制文件的读写操作。
4.实现对象序列化和反序化。
五、实验体会