可视化开发环境实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可视化开发环境实验指导书
目录
实验一熟悉Visual 2005开发环境 (1)
实验二基本数据类型和控制台输入输出 (2)
实验三程序基本控制结构 (3)
实验四常用数据类型 (5)
实验五类和对象 (7)
实验六继承、多态和接口 (8)
实验七控件使用 (9)
实验八目录与文件管理 (11)
实验九图形图像处理 (12)
实验十数据库编程 (13)
实验十一开发Web应用程序* (14)
具体实验安排和要求 (15)
实验一熟悉Visual 2005开发环境
【学时数:2学时】
一、实验目的
1.掌握Visual 2005的基本操作方法。
2.掌握C#控制台应用程序、Windows应用程序的基本操作过程。
3.初步理解C#程序的结构和特点,掌握基本的编译和调试方法。
二、实验内容
1.设计一个简单的C#控制台应用程序,逐行显示自己的学号、姓名、专业信息。
(参考教材P8页例1-1)
2.设计一个Windows应用程序,在窗体上显示三个标签框,标签框里的内容分别为自己的学号、姓名、专业。
(参考教材P9页例1-2)
3. 阅读教材1.3节内容,录入P14页[例1-4]程序,运行并输出结果,了解C#程序的结构。
尝试进行如下改动并思考:
(1)将Program.cs、HelloName.cs和HelloMe.cs文件中的命名空间依次改为ConsoleApplicationExample1、ConsoleApplicationExample2、ConsoleApplicationExample3。
看看程序还能不能运行。
(2)程序应该如何修改,才能正常运行?
(3)namespace关键字声明命名空间有何作用?using关键字指明引用的命名空间有何作用?
实验二基本数据类型和控制台输入输出
【学时数:2学时】
一、实验目的
1.理解C#的值类型、常量和变量的概念。
2.理解数据类型的转换以及装箱和拆箱的区别。
3.掌握C#的常用运算符以及表达式的运算规则。
二、实验内容
1.设计一个控制台程序,从键盘输入一个人的名字,在显示器中显示对输入姓名的问候。
比如输入:张三;输出:张三,欢迎你!
提示:输入字符串放入s中,将s+”,欢迎你!”,再输出。
2.设计一个控制台程序,从键盘输入两个整数,输出这两个数的和、差、积、商(商要求为数学商,非整除商)。
提示:使用语句int.Parse(Console.ReadLine())获得用户输入的两个数。
3.阅读教材2.5节内容,输入下面的语句,观察输出格式:
Console.WriteLine("{0:D}",10);
Console.WriteLine("{0:D5}", 10);
Console.WriteLine("{0:F}", 10);
Console.WriteLine("{0:F4}", 10);
Console.WriteLine("{0:00000}", 123);
Console.WriteLine("{0:000}", 12345);
Console.WriteLine("{0:0000}", 123.64);
Console.WriteLine("{0:00.00}", 123.6484);
Console.WriteLine("{0:####}", 123);
Console.WriteLine("{0:####}", 123.64);
Console.WriteLine("{0:####.###}", 123.640);
Console.WriteLine("{0:####.##}", 0.0100);
Console.WriteLine("{0:####.##}", 123.648);
Console.WriteLine("{0}--{0:p}good", 12.34F);
Console.WriteLine("{0}--{0:00000}good", 456);
Console.Write("{0,-4}{1,-4}{2,-4}",1,2,3);
DateTime dt = new DateTime(2011,3, 11);
string s=string.Format("{0:yyyy年MM月dd日}",dt);
Console.WriteLine(s);
Console.ReadLine();
实验三程序基本控制结构(一)
【学时数:2学时】
一、实验目的
1.掌握C#的两种分支语句(if、switch)的使用方法。
2.掌握C#的4种循环语句(while、do/while、for、foreach)的使用方法。
二、实验内容
1.编写一个控制台程序,输入一个学生的成绩,输出其等级。
(优:>=90;良:>=80;中:>=70;及格:>=60;不及格:<60)
2.编写控制台程序,定义两个整数,定义一个字符变量,当这个字符变量分别是‘+’、‘-’、‘*’、‘/’时,用switch语句输出这两个数的运算结果。
3.编写控制台程序,输出1-5的平方值,要求分别用for语句、while语句、do-while语句实现。
4. 编写控制台程序,定义一个字符串变量,从键盘往其中输入一行字符串,使用foreach语句逐行输出其中的每一个字符。
提示: foreach (char c in s)……输出其中的每个字符。
思考题:
1. 编写控制台程序,要求完成下列功能:
(1)接收一个整数n.
(2)如果接收的值n为正数,输出1~n的全部整数。
并转到(1)继续接收下一个整数。
(3)如果接收的值为负值,用break或者return退出程序。
2. 编写控制台程序,输入两个整数将其整除,并使用try-catch语句捕获除数为0的异常,并输出异常消息。
实验三程序基本控制结构(二)
【学时数:2学时】
一、实验目的
1.掌握C#的两种分支语句(if、switch)的使用方法。
2.掌握C#的4种循环语句(while、do/while、for、foreach)的使用方法。
二、实验内容
1.编写一个控制台应用程序,要求用户输入5个大写字母,如果用户输入的信息不满足要求,提示帮助信息并要求重新输入。
2.编写一个控制台应用程序,求1000之内的所有“完数”。
所谓“完数”是指一个数恰好等于它的所有因子之和。
例如,6是完数,因为6=1+2+3。
3.输入一个字符串,用foreach语句计算输入的字符串长度,根据此长度创建一个字符数组,将字符串中的每个字符转存到字符数组的每个元素中,并输出。
4.定义整型一维数组,从键盘输入数组元素数值后,用循环语句显示所有元素的值。
(要求:根据用户输入的数据的个数动态创建数组的大小)
思考题:
定义一个矩形二维数组,用于存储某班n个同学的m门课的成绩,从键盘依次输入n*m个成绩,统计每个同学的平均分,按从高到低分的顺序输出每个人的平均分。
实验四常用数据类型(一)
【学时数:2学时】
一、实验目的
1.掌握枚举、日期与时间数据类型的使用。
2.掌握引用类型中的字符串、数组和泛型集合的操作。
二、实验内容
1.编写一个控制台程序,接收一个长度大于3的字符串,完成下列功能。
(参考教材3.1节)
(1)输出字符串的长度。
(2)输出字符串中第一个出现字母a的位置。
(3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。
(4)将字符串“hello”替换为“me”,输出新字符串。
(5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。
2.编写一个控制台程序,连续输入一串数字,各数字以逗号隔开,然后按从小到大和从大到小的顺序排列输出。
提示:首先利用String.Split()方法将输入的数字字符串中的数字分离出来,并保存到数组中,然后再对数组中的数字进行排序。
(参考教材3.1和3.2节中的Split( )方法、Sort()方法和Reverse( )方法的使用)3.编写一个控制台程序,输入一个日期,输出这一天是星期几。
(参考教材3.3和3.6节)
提示:定义一个枚举和日期型变量,利用日期类型的DayOfWeek属性获得该日期是一周的第几天,再用枚举值求得是星期几。
注意DayOfWeek属性也是返回星期几的枚举常量,但是英文的,现在要求输出中文的星期几。
4.编写一个控制台程序,要求定义一个列表,用该列表接收用户输的五个姓名,判断用户输入的人名里有没有“张三”,如果有则将其删除,最后再把列表中的名字依次输出。
(参考教材3.5节)
实验四常用数据类型(二)
【学时数:2学时】
一、实验目的
1.掌握枚举、日期与时间数据类型和随机数的使用。
2.掌握引用类型中的字符串、数组和泛型集合的操作。
二、实验内容
1.从键盘输入10个整数,输出10个数的最大值、最小值、平均值和总和。
(要求分别用泛型列表和数组实现)
2.从键盘输入你的生日,输出现在距离你的生日还多少日,以及生日那天是星期几;如果你的生日已过,给出相应提示。
3.从键盘输入你认识的五个同学的学号和姓名,将这五个同学的这两项信息按照学号从小到大排序输出。
提示:用SortedList泛型列表实现。
4.编写猜数字的小游戏:让系统产生一个两位的随机数,由用户去猜,根据用户所猜的数的大小给出相应的提示。
如果用户输入的数太小了,输出“你输入的数太小,请重输:”;如果用户输入的数太大了,输出“你输入的数太大了,请重输”;如果用户输入的正好是系统产生的那个数,则输出“输入正确,恭喜你!”。
思考题:
编写一个更复杂的猜数字游戏:让系统产生三个一位数,由用户去猜这三个数分别是什么,根据用户所猜中的数字的个数,分别给出提示。
比如系统产生的三个数分别是:6 3 7;如果用户猜的是1 2 3,则提示“你一个都没有猜对”;如果用户猜的是6 2 3,则提示你猜对了1个数,以此类推。
如果用户把三个数都猜出来了而且位置也正确,则给出“你的答案完全正确!”
实验五类和对象
【学时数:2学时】
一、实验目的
1.熟悉C#类、对象、方法的概念与用法;
2.掌握编写简单的面向对象的应用程序;
3.熟悉并掌握C#构造方法及其重载方法的用法;
4.熟悉并掌握类和成员的访问修饰符的用法。
二、实验内容
1.阅读教材P66页[例4-1]程序,了解C#中构造函数的重载和创建对象的方法。
2.编程实现一个图书类book,增加有参和无参数构造函数,同时具有如下功能:记录和访问图书信息,包括书名,作者,价格。
用两种不同的构造函数创建两本书,使这两本书都具有各自的相关信息,最后将其信息输出。
3.编写一个矩形类(Rect)与一个圆类(Circle),分别通过构造方法对一个矩形对象(rect1)与一个圆对象(circle1)进行初始化后,求出矩形与圆的面积。
同时具有如下功能:可以设置和读取矩形的边长和圆的半径,但只能读取它们的面积,不能修改面积。
4.阅读教材4.3.2节内容,调试[例4-6],[例4-7]程序,掌握C#中传值和传引用类型参数的使用方法。
5.编程实现教材第四章课后习题的1-3题。
思考题:
编写一个控制台程序,在该程序中定义一个学生类和班级类,以处理每个学生的学号、姓名、语文、数学和英语3门课程的期末考试成绩,要求:(1)能查询每个学生的总成绩;
(2)能显示单科成绩最高分和该科不及格的学生名单;
(3)能统计全班学生的平均成绩
提示:
(1)定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩和英语成绩)和属性(总成绩)等;
(2)定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信息)以及若干个实现上述要求的方法等;
(3)实现在控制台输入学生的名字即输出该生的总成绩功能,输入某班和某科的名称即输出该班该科最高分和不及格学生名字,以及输入某班
的名字即输出该班的平均成绩。
实验六继承、多态和接口
【学时数:4学时】
一、实验目的
1.理解类的继承性与多态性,掌握其应用方法。
2.理解抽象类、接口的概念,掌握抽象类与接口的定义及使用方法。
二、实验内容
1.编写一个控制台程序,在该程序中构造一个Person基本类,再分别构造Student和Teacher派生类,要求具有不同的特征和行为,能通过静态成员自动记录由不同派生类创建的对象的人数。
2.定义一个抽象类Figure,该类中包含一个抽象方法Area()用于求图形的面积,从该抽象类派生矩形类Square和圆类Circle,实现用Area()方法显示矩形和圆的面积。
3. 编写一个控制台应用程序,完成下列功能,并回答提出的问题。
教材P101页题3。
参考教材87页5.1.5节内容。
(1)创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。
(2)从A继承一个名为C的新类,并在C内创建一个成员B。
不要为C创建构造函数。
(3)在Main方法中创建类C的一个对象,写出运行程序后输出的结果。
(4)如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么?
4. 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。
教材P101页题4。
(1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。
(2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。
(3)在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。
实验七控件使用
【学时数:6学时】
一、实验目的
1.掌握窗体的常用属性的使用。
2. 掌握文本操作类控件中的标签控件和文本控件的使用。
3.掌握选择操作类控件中的复选框、单选框、列表框、组合框的使用。
二、实验内容
1.多窗体练习
实现如图所示功能。
输入用户名后点击登录按钮,弹出右图消息框。
要求在消息框中显示用户输入的用户名和“欢迎你”语句。
点击取消按钮结束程序运行。
2.文本框,标签和按钮练习
实现如图所示功能。
点击红色按钮,将文本框中的文字颜色变成红色,同时把该按钮变成不可用(提示:修改按钮的Enabled属性为false使其不可用);点击黑色按钮,将文本框中的文字颜色变成黑色,同时把该按钮变成不可用;点击“文本内容复制到标签”将文本框内容复制到下方标签。
3.定时器练习
在窗体中显示字符,每隔1秒字符移动一定距离,先右移,移到右边界,再左移,移到左边界,又一次右移,如此循环。
(提示:修改标签的Left属性值)
4.复选框、单选框、组合框练习
实现如图所示的功能。
要求对相应控件做了设置之后,马上见到对应的字体效果。
清除按钮用来清除文本框中的文字内容,退出按钮用来退出程序。
5.列表框练习
实现程序如下功能:在文本框中输入水果,点击添加按钮将输入的水果添加到列表框中,如果列表框中已存在此种水果则不添加;在列表框中选中某些水果后点击删除,删除这些果;点击清除按钮将列表框中的所有水果都清除。
6.菜单栏、工具栏
实现记事本中的剪切、复制、粘贴和字体菜单命令及相应的工具栏按钮。
实验八目录与文件管理
【学时数:2学时】
一、实验目的
1.掌握有关流的读/写操作类及其使用方法。
2.掌握FolderBrowserDialog、OpenFileDialog、SaveFiledialog等控件的作用。
二、实验内容
实现类似记事本的文本编辑器中的文件菜单下新建、打开、保存的功能。
实验九图形图像处理
【学时数:2学时】
一、实验目的
1.掌握Graphics类的使用。
2.掌握绘制基本图形以及填充图形的方法。
3. 掌握对图像的拉伸、平移、旋转和缩放的处理。
二、实验内容
利用所学知识,模拟画笔程序的部分功能。
实验十数据库编程
【学时数:4学时】
一、实验目的
1.掌握使用Connection和Command对象对数据库进行操作。
2.掌握DataSet、DataAdapter、DataReader对象的作用和使用方法。
3. 掌握DataGridView控件的使用方法。
二、实验内容
编程实现图书借阅管理系统。
实验十一开发Web应用程序*
【学时数:2学时】
一、实验目的
1.了解Web应用程序的架构。
2.掌握 Web服务器控件的使用。
3. 掌握开发一个简单的Web应用程序的开发步骤和方法。
二、实验内容
创建一个简单的网上书店。
具体实验安排和要求
1.实验成绩评定办法
实验成绩占本课程总成绩的20%。
实验成绩评分办法:实验出勤率20%+实验提交作业30%+学期大作业50%。
抽查两次出勤率,每次2分;抽查三次作业,每次2分,(提交作业章节:第2章、第4章、第6章);学期布置一个大作业,期末检查,根据实现的完整度给分,满分10分。
2.实验具体安排
每次实验课要求学生对书中的关键例题进行验证,同时要完成本次实验内容中的2-4题。
3.学期大作业
实现以下四个中的一个,每生一题,也可以交其它类似程序。
A:实现一个简易的计算器。
B:实现类似记事本的文档编辑器。
C:模拟画笔程序的大部分功能。
D:实现图书借阅系统。
4.说明
实验十一根据课程内容实施情况作相应调整是否做,如果课时不够则略去不做。
大作业的成绩可以放在期末最后一周统一验收,也可以学生完成后单独验收。
本门课程不单独安排期末上机考试,期末由所带实验的老师提交一份实验成绩成绩单、三次作业源代码、学期大作业源代码给主讲老师即可。