C程序设计实验指导书及其答案~.doc

上传人:小** 文档编号:629857 上传时间:2019-04-22 格式:DOC 页数:159 大小:2.06MB
返回 下载 相关 举报
C程序设计实验指导书及其答案~.doc_第1页
第1页 / 共159页
C程序设计实验指导书及其答案~.doc_第2页
第2页 / 共159页
点击查看更多>>
资源描述

《C程序设计实验指导书及其答案~.doc》由会员分享,可在线阅读,更多相关《C程序设计实验指导书及其答案~.doc(159页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-_长春理工大学计算机科学与技术专业 C#程序设计实验指导-_C#程序设计实验指导书实实 验验 须须 知知1. 实验前,应认真阅读实验指导书,明确实验目的、实验内容和实验步骤,做好实验准备。2.实验中,积极思考,及时记录,有疑问及时解决,当堂完成实验内容和实验报告。3.实验中严格遵守实验室管理规则,珍惜实验时间,不做与实验无关 的事。4.实验结束,按要求填写实验机器使用记录单,正确关闭实验用机,整理好键盘和椅子,值日生认真打扫实验室卫生。-_目目 录录任务一 熟悉 VS2005 开发环境 .1 任务二 掌握基本程序逻辑.8 任务三 掌握循环语句.13 任务四 创建类与对象.18 任务五 创建静

2、态类与静态方法.25 任务六 实现继承和抽象类.32 任务七 掌握多态的应用.40 任务八 掌握接口的实现.47 任务九 实现对数组的操作.57 任务十 实现队列、栈的操作.64 任务十一 实现进销存系统供应商信息维护.67 任务十二 掌握开发 WinForms 应用程序的步骤 .73 任务十三 掌握系统主界面设计.90 任务十四 掌握委托与事件处理机制.100 任务十五 访问 SQL Server 数据库.106 任务十六 访问 Access 数据库.120 任务十七 了解字符串操作(选做).129 任务十八 掌握文件操作(选做).136-_-_任务一任务一 熟悉熟悉 VS2005 开发环境

3、开发环境实验目的实验目的掌握 VS2005 开发 C#应用程序的步骤 掌握 VS2005 调试器的使用第一部分第一部分 上机训练上机训练1、采用、采用 VS2005 编写编写 Hello World 应用程序应用程序 1)打开 VS2005 开发工具2)在 VS2005 主界面下选择菜单【文件】【新建】【项目】3)在新建项目对话框中选择 Visual C#,模板选择控制台应用程序,给项目命名为 HelloWorld,然后点“浏览”按钮,选择项目的存储目录-_4)程序生成的文件如下-_5)双击 Program.cs,键入代码如下:using System;using System.Collect

4、ions.Generic;using System.Text;namespace HelloWorldclass Programstatic void Main(string args)Console.WriteLine(“Hello World“); 6)在菜单上选择【生成】【生成解决方案】7)按 F5 或者点启动调试按钮运行程序8)这时会发现 DOS 窗口一闪不见,按 Ctrl+F5,或者在菜单上选择【调试】 【开始执行(不调试) 】 ,可以解决这个问题-_9)运行结果如下:2、断点的设置与调试、断点的设置与调试 1) 按上述步骤创建名为 BreakPoint 的控制台应用程序 2)在 P

5、rogram.cs 中输入如下代码:using System;using System.Collections.Generic;using System.Text;namespace BreakPoint-_class Programstatic void Main(string args)int i = 5;int j = i * 2;Console.WriteLine(“01“, i, j); 3)给int j = i * 2;行设置断点,只需点左边的空白栏4)按F5执行程序,会发现程序执行到断点处停止,移动鼠标到i和j上,观察i,j的 当前值5)选择工具栏的逐语句按钮或者按F11,单步执

6、行程序9)再次观察i,j的值10)注意下面的调试监视窗口:-_第二部分第二部分 实战提高实战提高请修改Hello World应用程序,输出自己的班级、学号、姓名,自我介绍。代码写 在下面: using System;using System.Collections.Generic;using System.Text;namespace HelloWorldclass Programstatic void Main(string args)Console.WriteLine(“Hello World“);Console.WriteLine(“班级:级网络工程班“);Console.WriteLi

7、ne(“学号:“);Console.WriteLine(“姓名:刘群“);Console.WriteLine(“自我介绍:“);Console.WriteLine(“ 我来自四川,现就读于华侨大学计算机科学与技术学院。“);Console.ReadKey();-_第三部分第三部分 知识总结知识总结学生总结学生总结请将问题答案写在下面空白处完成上机训练模块 花费的时间10min完成实战提高模块 花费的时间5min本次实验对你而言 的难点断点调试本次实验的收获断点调试希望老师强化讲解 的知识要点断点调试希望老师帮助回答 的问题本次实验自评分数 (五分制)5教师评价教师评价请将评语、分数等写在下面空

8、白处问题答疑实验评语实验得分-_任务二任务二 掌握基本程序逻辑掌握基本程序逻辑实验目的实验目的编写应用程序掌握变量、常量、枚举的使用 掌握表达式的应用 掌握分支语句的应用第一部分第一部分 上机训练上机训练1、编写一个程序,列举班级所有班委,然后使用这个枚举 1)创建一个名位TestEnum的控制台应用程序 2)在namespace TestEnum 和 class Program之间输入:enum 班委班长,团支书,生活委员,体育委员,劳动委员, 注意缩进和对齐 3)在static void Main(string args)方法中输入:班委 classTeam = 班委.生活委员;switc

9、h (classTeam)case 班委.班长:Console.WriteLine(“我是班长“);break;case 班委.团支书:Console.WriteLine(“我是团支书“);break;case 班委.生活委员:Console.WriteLine(“我是生活委员“);break;case 班委.体育委员:Console.WriteLine(“我是体育委员“);break;-_case 班委.劳动委员:Console.WriteLine(“我是劳动委员“);break;default:Console.WriteLine(“为什么我不是班委?“);break; 4)按CTRL+F5

10、查看运行结果 2、计算圆面积,圆面积公式为Area=R2,这种表示符号,在计算机中只能表示 为Area=PI*R*R,在本例中,我们希望用户输入圆的半径,但是用户的输入只能是 字符串,因此,这里我们要用到数制的转换,注意数制的转换方法 1)新建一个名为CircleArea的控制台应用程序 2)输入如下代码:using System;using System.Collections.Generic;using System.Text;namespace CircleAreaclass Programstatic void Main(string args)/定义常量const float PI

11、= 3.1415926f;Console.Write(“请输入圆的半径:“);/获取用户的输入string input = Console.ReadLine();/将字符串转化为浮点数float radius = float.Parse(input);/计算圆面积float circlArea = radius * radius * PI;/输出结果Console.WriteLine(“圆面积为:0“, circlArea); 3)按Ctrl+F5运行程序-_4)补充:数制的转换 将字符串转换成某种类型,只需直接写成类似int.Parse(”11”)的格式即可,如果 需要实现数制之间的任意转换

12、,则需要调用Convert.ToXXX()方法。可以自己实践 一下。第二部分第二部分 实战提高实战提高1、编写一个程序接受用户输入的字符串。如果输入的字母是”a”、”e”、”i”、”o” 或”u”中的一个,则显示“您输入了一个元音”,否则显示“这不是一个元音”。sing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Vowelclass Programstatic void Main(string args) Console.WriteLine(“请输入一个英文字母:“

13、);-_string input=Console.ReadLine();/char a, e, i, o, u; if (input = “a“ | input = “ e“ | input = “i“ | input = “o“ | input = “u“)Console.WriteLine(“您输入了一个元音“);elseConsole.WriteLine(“您输入的不是一个元音“);Console.ReadKey();2、人有胖瘦之分,体重过轻则为瘦,过重则为胖,那么以什么样的标准来衡量是 胖还是瘦呢?这当然必须有个参照值,这个参照值,我们就把它称之为标准体重。 目前在我国尚没有统一的标

14、准体重数据。除了国际流行的体重计算方法外,军事科 学院还推出一计算中国人理想体重的方法: 北方人理想体重(千克)(身高厘米150) x 0650,南方人理想体重(千 克)(身高厘米150) x 0648,这一计算方法,似乎比较适合南北地区中 国人。 正常体重一般在标准体重+-10以内的范围。超过这一范围,就可称之为异常体重。实测体重超过标准体重,但超出部分 20者称为超重;实测体重超过标准体重 20以上,并有脂肪百分率(F)超过30者则可诊断为肥胖病。体重超过标准 体重的30 一50,F超过35一45者称中度肥胖病;超过标准体重50以上, F超过45以上者称为重度肥胖病。 根据以上描述,要求用

15、户输入以下内容: 1)北方人/南方人 2)身高(厘米) 3)体重(公斤) 4)脂肪百分率(F%) 根据以上公式和描述告诉客户是否超重,如果超重,再告之其是何种肥胖病using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Weight-_class Programstatic void Main(string args)double area,high,weight,percent,idealweight,F;Console.WriteLine(“请输入你所属地区(北方

16、=1/南方=2):“);area =double.Parse( Console.ReadLine(); /转换成double型Console .WriteLine (“请输入您的身高(厘米)“);high=Convert.ToDouble( Console .ReadLine (); /另一个函数转换类型Console .WriteLine (“请输入您的体重(公斤)“);weight = Convert.ToDouble(Console.ReadLine();Console .WriteLine (“请输入您的脂肪百分率(F%)“);F = double.Parse(Console.Read

17、Line();if (area = 1)idealweight = (high - 150) * 0.6 + 50;percent = weight / idealweight;else idealweight = (high - 150) * 0.6 + 48;percent = weight / idealweight;if (percent 30)-_Console.WriteLine(“您患有肥胖病!“);elseif (percent = 35 Console.ReadKey();第三部分第三部分 知识总结知识总结学生总结学生总结请将问题答案写在下面空白处完成上机训练模块 花费的时间

18、25min完成实战提高模块 花费的时间50min本次实验对你而言 的难点-_本次实验的收获希望老师强化讲解 的知识要点希望老师帮助回答 的问题本次实验自评分数 (五分制)教师评价教师评价请将评语、分数等写在下面空白处问题答疑实验评语实验得分任务三任务三 掌握循环语句掌握循环语句实验目的实验目的掌握while循环 掌握for循环-_第一部分第一部分 上机训练上机训练1、实现n的阶乘 1)新建一个名为Factorial的控制台应用程序 2) 输入如下代码using System;using System.Collections.Generic;using System.Text;namespace

19、 Factorialclass Programstatic void Main(string args)Console.Write(“请输入一个正整数:“);/接收用户输入string input = Console.ReadLine();/转化为整数int n = int.Parse(input);/以上代码可以合写为/int n = int.Parse(Console.ReadLine();int i = 1;int result = 1;while (i “);public void DoStand()Console.WriteLine(name + “站在那里,果然是伟岸英挺,气宇轩昂

20、,简直是人中龙凤!“);public void DoDefense()Console.WriteLine(name + “将手中兵器舞成一片,格开了所有人的进攻。“);public void DisplayInfo()Console.WriteLine(“姓名:“ + name);Console.WriteLine(“种族: 人类“);Console.WriteLine(“-“);-_Console.WriteLine(“状态“);Console.WriteLine(“生命:0tt魔法:1“, healthPower, magicPower);Console.WriteLine(“-“);Co

21、nsole.WriteLine(“战斗力“);Console.WriteLine(“攻击:0tt防御:1“, attack, defense);Console.WriteLine(“命中:0ttt闪避:1“, accuracy, dodge); 5)新建一个Beast类,实现Monster接口using System;using System.Collections.Generic;using System.Text;namespace Gamepublic class Beast : Monsterprivate int healthPower; /生命private int magicPo

22、wer; /魔法private int defense; /防御private int attack; /攻击private int dodge; /躲闪private int accuracy; /命中private string name;public int HPget return healthPower; set healthPower = value; public int MPget return magicPower; set magicPower = value; public int Defenseget return defense; set defense = valu

23、e; -_public int Attackget return attack; set attack = value; public int Dodgeget return dodge; set dodge = value; public int Accuracyget return accuracy; set accuracy = value; public string Nameget return name; set name = value; public void DoAttack()Console.WriteLine(name + “的爪子狠狠的一抓,你的头皮去了好大一块!“);

24、public void DoStand()Console.WriteLine(name + “四脚着地,目露凶光,你看到它时不寒而栗!“);public void DoDefense()Console.WriteLine(name + “向你大声咆哮,吓得你抱头鼠窜。“);public void DisplayInfo()Console.WriteLine(“姓名:“ + name);Console.WriteLine(“种族: 四足兽类“);Console.WriteLine(“-“);Console.WriteLine(“状态“);Console.WriteLine(“生命:0tt魔法:1

25、“, healthPower, magicPower);Console.WriteLine(“-“);-_Console.WriteLine(“战斗力“);Console.WriteLine(“攻击:0tt防御:1“, attack, defense);Console.WriteLine(“命中:0ttt闪避:1“, accuracy, dodge); 6)在Program.cs的Main方法中输入如下代码:using System;using System.Collections.Generic;using System.Text;namespace Gameclass Programsta

26、tic void Main(string args)Monster player = new Beast();player.Name = “天一“;player.HP = 200;player.MP = 300;player.Accuracy = 90;player.Attack = 1000;player.Defense = 1000;player.Dodge = 80;player.DoAttack();player.DoStand();player.DisplayInfo(); 7)按Ctrl+F5运行:-_再将Monster player = new Beast(); 改为Monste

27、r player = new Human(); 再次按Ctrl + F5运行,体会接口的作用。-_第二部分第二部分 实战提高实战提高体育运动员的种类多种多样,所有运动员都可以跳跃和跑步,但是不同运动的跳跃 和跑步方式是不同的,例如足球运动员跑动可以带球在脚下跑,而篮球运动员则只 能拍一下球跑一步,否则就会被吹犯规,同样,足球运动员在跳跃中只能用头顶球, 但是篮球运动员可以用手去抢球。编写一个名为Sportsman的接口,包括两个方法, Run()和Jump(),再分别编写篮球运动员和足球运动员的类,分别实现不同的Run和 Jump方法。只需要用Console.WriteLine(“”)来描述其

28、中的不同即可。public interface Sportsmanstring tnget;set;void Run();void Jump();class Programstatic void Main(string args)Sportsman man = new Basketball();man.tn = “姚明“;man.Run();man.Jump();Console.ReadLine();public class Basketball : Sportsmanprivate string typeName;public string tnget return typeName; -_

29、set typeName = value; public void Run()Console.WriteLine(“篮球运动员只能拍一下球跑一步,否则犯规!“);public void Jump()Console.WriteLine(“篮球运动员可以用手去抢球!“);public class Football : Sportsmanprivate string typeName;public string tnget return typeName; set typeName = value; public void Run()Console.WriteLine(“足球运动员可以带球在脚下跑!

30、“);public void Jump()Console.WriteLine(“足球运动员在跳跃中只能用头顶!“); 第三部分第三部分 知识总结知识总结学生总结学生总结请将问题答案写在下面空白处-_完成上机训练模块 花费的时间完成实战提高模块 花费的时间本次实验对你而言 的难点本次实验的收获希望老师强化讲解 的知识要点希望老师帮助回答 的问题本次实验自评分数 (五分制)教师评价教师评价请将评语、分数等写在下面空白处问题答疑实验评语实验得分-_任务九任务九 实现对数组实现对数组的操作的操作实验目的实验目的掌握数组的定义与初始化 掌握数组类的使用 掌握数组的排序与反转 掌握foreach的用法第一

31、部分第一部分 上机训练上机训练1、定义一个元素个数为5的整形数组,接收用户的输入,而后对该数组进行排序, 输出排序后的结果。 1)建立一个名为ArrayDemo的控制台项目 2)双击Program.cs,输入如下代码:using System;using System.Collections.Generic;using System.Text;namespace ArrayDemoclass Programstatic void Main(string args)int number = new int5;for (int i = 0; i personQueue = new Queue();

32、/填充队列Person person1 = new Person(“张三“);Person person2 = new Person(“李四“);Person person3 = new Person(“王五“);-_personQueue.Enqueue(person1);personQueue.Enqueue(person2);personQueue.Enqueue(person3);/排队轮流打饭Person personToBuyFood = personQueue.Dequeue() as Person;personToBuyFood.BuyFood();StillInQueue(p

33、ersonQueue);static void StillInQueue(IEnumerable myCollection)IEnumerator myEnumerator = myCollection.GetEnumerator();Console.Write(“正在排队等待打饭的还有:“);while (myEnumerator.MoveNext()Console.Write(“0t“, myEnumerator.Current.Name);Console.WriteLine();第二部分第二部分 实战提高实战提高采用弹夹上子弹时,最先上的子弹最后才能发射出去,结合MSDN,研究栈的特性,

34、 并使用栈模拟这一模型。class Programstatic void Main(string args)Stack bulletStack = new Stack();/入栈Bullet bullet1 = new Bullet(“第一颗子弹“);Console.WriteLine(“第一颗子弹上膛“);Bullet bullet2 = new Bullet(“第二颗子弹“);Console.WriteLine(“第二颗子弹上膛“);bulletStack.Push(bullet1);bulletStack.Push(bullet2);-_/出栈Bullet show = new Bull

35、et(“);show = bulletStack.First();show.bulletPop();bulletStack.Pop();show = bulletStack.First();show.bulletPop();bulletStack.Pop(); /全部弹出Console.ReadLine();public class Bulletprivate string name;public string Nameget return name; set name = value; public Bullet(string name)this.name = name;public voi

36、d bulletPop()Console.WriteLine(“该0出膛!“, name);第三部分第三部分 知识总结知识总结学生总结学生总结请将问题答案写在下面空白处完成上机训练模块-_花费的时间完成实战提高模块 花费的时间本次实验对你而言 的难点本次实验的收获希望老师强化讲解 的知识要点希望老师帮助回答 的问题本次实验自评分数 (五分制)教师评价教师评价请将评语、分数等写在下面空白处问题答疑实验评语实验得分-_任务十一任务十一 实现进销存系统供应商信息维护实现进销存系统供应商信息维护(选做)(选做)实验目的实验目的通过SQLServer2005完成进销存系统数据库架设 练习对数据库的增删改

37、查第一部分第一部分 上机训练上机训练1、结合教材“模块一 淮信POS进销存系统设计” ,在SQL Server2005中完成数据 库表的创建 2、练习教材参数化系统登录功能的实现第二部分第二部分 实战提高实战提高通过控制台程序,利用参数化SQL语句,实现对供应商信息的维护,其流程如下: 1)显示供应商信息维护界面如下:供应商信息维护: 1.添加供应商信息 2.修改供应商信息 3.删除供应商信息 4.查询供应商信息 5.退出模块 请输入(1/2/3/4)切换到相应子模块:2)添加供应商信息界面如下:供应商信息添加: 请输入供应商编号:S01 请输入供应商名称:淮安*食品公司 .(其他字段)记录添

38、加成功!是否添加新记录(Y/N)? (选N返回主界面)-_3)修改供应商信息界面如下:供应商信息修改: 请输入供应商编号:S01 该供应商名称为:淮安*食品公司,是否修改(Y/N)? (如果Y)请输入新的供应商名称:淮安*食品公司 (如果N,显示下一字段) 该供应商简称为:HYSP,是否修改(Y/N)? (如果Y)请输入新的供应商简称: HYNY (如果N,显示下一字段).(其他字段)记录修改成功!是否继续修改其他记录(Y/N)? (选N返回主界面)4)删除供应商信息供应商信息删除: 请输入供应商编号:S01 记录删除成功!是否继续删除其他记录(Y/N)? (选N返回主界面)5)查询供应商信息

39、查询供应商信息: 请输入供应商名称:(模糊查询)供应商编号 名称 简称 电话 S01 淮安*食品公司 HASP 123456789请将实现代码写在下面: 1)系统主界面实现代码:-_2)添加供应商信息代码:-_3)修改供应商信息代码:-_4)删除供应商信息代码5)查询供应商信息代码-_第三部分第三部分 知识总结知识总结学生总结学生总结请将问题答案写在下面空白处完成上机训练模块 花费的时间完成实战提高模块 花费的时间本次实验对你而言 的难点本次实验的收获希望老师强化讲解 的知识要点希望老师帮助回答 的问题本次实验自评分数 (五分制)教师评价教师评价请将评语、分数等写在下面空白处问题答疑实验评语实

40、验得分-_任务十二任务十二 掌握开发掌握开发 WinForms 应用程序应用程序的步骤的步骤实验目的实验目的掌握创建WinForms应用程序的步骤 熟悉WinForms应用程序的控件第一部分第一部分 上机训练上机训练1、创建一个WinForms应用程序,要求用户在文本框中输入2个数字,然后求2数之 和。 1)新建一个项目,注意选择Windows应用程序,命名为SumApp2)生成如下的窗体界面-_3)修改Form1.cs名为FrmSum,在弹出的对话框上选择是4)修改FrmSum的Text属性为“加法器”-_5)向界面添加2个Label控件,选择控件,拖拽到窗体上即可。6)修改Label1的T

41、ext属性为整数1-_同理修改Label2 7)再向界面上添加两个TextBox控件,调整窗体大小,使得布局美观。8)向界面添加两个Button控件,Text属性分别为求和和退出。-_9)修改两个Button的名称,分别为btnSum和btnExit。10)双击求和按钮,在生成的Click事件中添加如下代码:private void btnSum_Click(object sender, EventArgs e)int num1 = 0;int num2 = 0;/转化字符串为整型,有错误的话进行异常处理trynum1 = int.Parse(textBox1.Text);num2 = int

42、.Parse(textBox2.Text);catch (Exception ex)MessageBox.Show(ex.Message);return;int num3 = num1 + num2;MessageBox.Show(num1.ToString() + “加“ + num2.ToString() + “的结果为“ + num3.ToString();-_11)双击退出按钮,在生成的Click事件中添加如下代码:private void btnExit_Click(object sender, EventArgs e)Close(); 12)按F5运行程序,测试结果。2、创建一个W

43、indows窗体应用程序,允许用户从给定的颜色和字体列表中选择颜 色、字体等设置。用户还可以通过将标准颜色用作基本颜色来创建自定义颜色,并 使用滚动条来增大/减小红色、蓝色和绿色的渐变。选定的颜色应适用于窗体界面。 选定的字体中应显示一个文本示例。 思路: 此问题需要一个包含字体和颜色选项卡页的选项卡控件。接下来,为使用户能够选 取字体和颜色,可以利用组合框控件或列表框控件。 在颜色选项卡页中,用户在组合框中选择的颜色可以显示在图片框控件中。这将使 用户看到效果如何。组合框中的项一旦改变,图片框中的颜色也应该改变。这可以 使用组合框的SelectedIndexChanged事件来实现。 对于字体选项卡页,可使用一个定义各种内置字体的列表框。文本的大小可通过页 面上的两个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com