实验作业111.docx
- 文档编号:4053275
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:30
- 大小:234.31KB
实验作业111.docx
《实验作业111.docx》由会员分享,可在线阅读,更多相关《实验作业111.docx(30页珍藏版)》请在冰豆网上搜索。
实验作业111
任务一熟悉VS2005开发环境
实验目的
掌握VS2005开发C#应用程序的步骤
掌握VS2005调试器的使用
第一部分上机训练
1、采用VS2005编写HelloWorld应用程序
1)打开VS2005开发工具
2)在VS2005主界面下选择菜单【文件】|【新建】|【项目】
3)在新建项目对话框中选择VisualC#,模板选择控制台应用程序,给项目命名为HelloWorld,然后点“浏览”按钮,选择项目的存储目录
4)程序生成的文件如下
5)双击Program.cs,键入代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceHelloWorld
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("HelloWorld");
}
}
}
6)在菜单上选择【生成】|【生成解决方案】
7)按F5或者点启动调试按钮运行程序
8)这时会发现DOS窗口一闪不见,按Ctrl+F5,或者在菜单上选择【调试】|【开始执行(不调试)】,可以解决这个问题
9)运行结果如下:
2、断点的设置与调试
1)按上述步骤创建名为BreakPoint的控制台应用程序
2)在Program.cs中输入如下代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceBreakPoint
{
classProgram
{
staticvoidMain(string[]args)
{
inti=5;
intj=i*2;
Console.WriteLine("{0}{1}",i,j);
}
}
}
3)给intj=i*2;行设置断点,只需点左边的空白栏
4)按F5执行程序,会发现程序执行到断点处停止,移动鼠标到i和j上,观察i,j的当前值
5)选择工具栏的逐语句按钮或者按F11,单步执行程序
9)再次观察i,j的值
10)注意下面的调试监视窗口:
第二部分实战提高
请修改HelloWorld应用程序,输出自己的班级、学号、姓名,自我介绍。
代码写在下面:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceHello_World
{
classProgram
{
staticvoidMain(string[]args)
{
stringclass3="地科1303";
stringnumber="0121308900332";
stringname="何帆";
stringself="我是来自地科三班的何帆.";
Console.WriteLine("{0}\n{1}\n{2}\n{3}",
class3,number,name,self);
Console.ReadLine();
}
}
}
第三部分知识总结
学生总结
请将问题答案写在下面空白处
完成上机训练模块花费的时间
5分钟
完成实战提高模块花费的时间
15分钟
本次实验对你而言的难点
无难点
本次实验的收获
学会简单的输出显示
希望老师强化讲解的知识要点
无
希望老师帮助回答的问题
无
本次实验自评分数
(五分制)
5
教师评价
请将评语、分数等写在下面空白处
问题答疑
实验评语
实验得分
任务二掌握基本程序逻辑
实验目的
编写应用程序掌握变量、常量、枚举的使用
掌握表达式的应用
掌握分支语句的应用
第一部分上机训练
1、编写一个程序,列举班级所有班委,然后使用这个枚举
1)创建一个名位TestEnum的控制台应用程序
2)在namespaceTestEnum{和classProgram之间输入:
enum班委
{
班长,
团支书,
生活委员,
体育委员,
劳动委员,
}
注意缩进和对齐
3)在staticvoidMain(string[]args)方法中输入:
班委classTeam=班委.生活委员;
switch(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查看运行结果
2、计算圆面积,圆面积公式为Area=∏×R2,这种表示符号,在计算机中只能表示为Area=PI*R*R,在本例中,我们希望用户输入圆的半径,但是用户的输入只能是字符串,因此,这里我们要用到数制的转换,注意数制的转换方法
1)新建一个名为CircleArea的控制台应用程序
2)输入如下代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceCircleArea
{
classProgram
{
staticvoidMain(string[]args)
{
//定义常量
constfloatPI=3.1415926f;
Console.Write("请输入圆的半径:
");
//获取用户的输入
stringinput=Console.ReadLine();
//将字符串转化为浮点数
floatradius=float.Parse(input);
//计算圆面积
floatcirclArea=radius*radius*PI;
//输出结果
Console.WriteLine("圆面积为:
{0}",circlArea);
}
}
}
3)按Ctrl+F5运行程序
4)补充:
数制的转换
将字符串转换成某种类型,只需直接写成类似int.Parse(”11”)的格式即可,如果需要实现数制之间的任意转换,则需要调用Convert.ToXXX()方法。
可以自己实践一下。
第二部分实战提高
1、编写一个程序接受用户输入的字符串。
如果输入的字母是”a”、”e”、”i”、”o”或”u”中的一个,则显示“您输入了一个元音”,否则显示“这不是一个元音”。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace元音
{
classProgram
{
staticvoidMain(string[]args)
{
stringvowels="aeiou";
stringinput=Console.ReadLine().ToLower();
if(vowels.Contains(input))
{
Console.WriteLine("这是一个元音字母");
}
else
{
Console.WriteLine("这不是一个元音字母");
}
}
}
}
2、人有胖瘦之分,体重过轻则为瘦,过重则为胖,那么以什么样的标准来衡量是胖还是瘦呢?
这当然必须有个参照值,这个参照值,我们就把它称之为标准体重。
目前在我国尚没有统一的标准体重数据。
除了国际流行的体重计算方法外,军事科学院还推出一计算中国人理想体重的方法:
北方人理想体重(千克)=(身高厘米-150)x0.6+50,
南方人理想体重(千克)=(身高厘米-150)x0.6+48,这一计算方法,似乎比较适合南北地区中国人。
正常体重一般在标准体重+-10%以内的范围。
超过这一范围,就可称之为异常体重。
实测体重超过标准体重,但超出部分<20%者称为超重;实测体重超过标准体重20%以上,并有脂肪百分率(F%)超过30%者则可诊断为肥胖病。
体重超过标准体重的30%一50%,F%超过35%一45%者称中度肥胖病;超过标准体重50%以上,F%超过45%以上者称为重度肥胖病。
根据以上描述,要求用户输入以下内容:
1)北方人/南方人
2)身高(厘米)
3)体重(公斤)
4)脂肪百分率(F%)
根据以上公式和描述告诉客户是否超重,如果超重,再告之其是何种肥胖病
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespacefat_and_slime
{
classProgram
{
staticvoidMain(string[]args)
{
doublearea,high,weight,percent=0,idealweight,F;
Console.WriteLine("请输入你的所属地区(北方=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.ReadLine());
if(area==1)
{
idealweight=(high-150)*0.6+50;
percent=weight/idealweight;
}
else
{
idealweight=(high-150)*0.6+48;
percent=weight/idealweight;
}
if(percent<0.9)
{
Console.WriteLine("偏轻");
}
if(percent<=1.1)
{
Console.WriteLine("正常体重");
}
else
{
if(percent<=1.2)
{
Console.WriteLine("您超重了!
");
}
else
{
if(F>30)
{
Console.WriteLine("您患有肥胖病。
");
}
else
{
if(percent<=1.5)
{
Console.WriteLine("你超重了!
");
if(F>=35&&F<=45)
Console.WriteLine("您患有中度肥胖病。
");
else
Console.WriteLine("您超重了!
");
if(F>45)
Console.WriteLine("您患有重度肥胖病。
");
}
}
}
}
Console.ReadKey();
}
}
}
第三部分知识总结
学生总结
请将问题答案写在下面空白处
完成上机训练模块花费的时间
10分钟
完成实战提高模块花费的时间
40分钟
本次实验对你而言的难点
信息量较大,需要知识点很多
本次实验的收获
熟练使用if语句。
希望老师强化讲解的知识要点
If语句的更多用法
希望老师帮助回答的问题
什么是基本程序逻辑的基本定义?
本次实验自评分数
(五分制)
5
教师评价
请将评语、分数等写在下面空白处
问题答疑
实验评语
实验得分
任务三掌握循环语句
实验目的
掌握while循环
掌握for循环
第一部分上机训练
1、实现n的阶乘
1)新建一个名为Factorial的控制台应用程序
2)输入如下代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceFactorial
{
classProgram
{
staticvoidMain(string[]args)
{
Console.Write("请输入一个正整数:
");
//接收用户输入
stringinput=Console.ReadLine();
//转化为整数
intn=int.Parse(input);
//以上代码可以合写为
//intn=int.Parse(Console.ReadLine());
inti=1;
intresult=1;
while(i<=n)
{
result=result*i;//或者写成result*=i;
i++;
}
Console.WriteLine("{0}的阶乘为{1}",n,result);
}
}
}
3)Ctrl+F5运行查看结果
2、打印9*9乘法表
1)新建一个名为MutiTable的控制台应用程序
2)输入如下代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceMultiTable
{
classProgram
{
staticvoidMain(string[]args)
{
//9行
for(inti=1;i<=9;i++)
{
//每行最多i列
for(intj=1;j<=i;j++)
{
Console.Write("{0}*{1}={2}\t",i,j,i*j);
}
//换行
Console.WriteLine();
}
}
}
}
3)Ctrl+F5运行查看结果
第二部分实战提高
1、改写n的阶乘计算程序,改用for循环
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace改写n的阶乘计算程序
{
classProgram
{
staticvoidMain(string[]args)
{
Console.Write("请输入一个正整数:
");
//接收用户输入
stringinput=Console.ReadLine();
//转化为整数
intn=int.Parse(input);
//以上代码可以合写为
//intn=int.Parse(Console.ReadLine());
intresult=1;
for(inti=1;i<=n;i++)
{
result=result*i;
}
Console.WriteLine("{0}的阶乘为{1}",n,result);
}
}
}
2、打印9*9加法表
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace打印99加法表
{
classProgram
{
staticvoidMain(string[]args)
{
//9行
for(inti=1;i<=9;i++)
{
//每行最多i列
for(intj=1;j<=i;j++)
{
Console.Write("{0}+{1}={2}\t",i,j,i+j);
}
//换行
Console.WriteLine();
}
}
}
}
第三部分知识总结
学生总结
请将问题答案写在下面空白处
完成上机训练模块花费的时间
10分钟
完成实战提高模块花费的时间
20分钟
本次实验对你而言的难点
For循环的改写
本次实验的收获
熟练使用for循环
希望老师强化讲解的知识要点
For循环的各种实例
希望老师帮助回答的问题
循环语句的更多用法是什么?
本次实验自评分数
(五分制)
5
教师评价
请将评语、分数等写在下面空白处
问题答疑
实验评语
实验得分
任务四创建类与对象
实验目的
理解面向对象的概念
掌握C#创建类和对象的方法
第一部分上机训练
1、很多软件都要求我们先输入用户名和密码才能使用,最常见的例子当属Windows操作系统,制作一个类,完成系统的登录验证工作
1)新建一个名为MySoftware的控制台应用程序
2)在解决方案资源管理器中选中该项目,点鼠标右键盘,在弹出的菜单中选择【添加】|【类】
3)在弹出的对话框中将类名改为Login
4)在代码classLogin前添加public关键字
5)添加Login类的成员变量
privatestring_userName;
privatestring_password;
6)添加Login类的属性
publicstringUserName
{
get
{
returnuserName;
}
set
{
userName=value;
}
}
publicstringPassword
{
get
{
returnpassword;
}
set
{
password=value;
}
}
7)添加Login类的方法
//方法
publicboolIsValidateUser()
{
if(userName.Equals("admin")&&password.Equals("admin"))
returntrue;
else
returnfalse;
}
8)完整代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceMySoftware
{
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;
}
}
}
9)双击Program.cs,在Main方法中输入如下代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceMySoftware
{
classProgram
{
staticvoidMain(string[]args)
{
LoginloginModule=newLogin();
Console.WriteLine("####################################################");
Console.WriteLine("C#之星V1.0Beata版");
Console.WriteLine("####################################################");
Console.WriteLine("");
Console.WriteLine("");
Console.Write("请输入您的用户名:
");
stringuserName=Console.ReadLine();
Console.Write("请输入您的密码:
");
stringpassword=Console.ReadLine();
loginModule.UserName=userName;
loginModule.Password=password;
if(loginModule.IsValidateUser())
Console.WriteLine("欢迎使用C#之星软件V1.0版本");
else
Console.WriteLine("您的用户名输入错误,系统拒绝登录!
");
}
}
}
10)按Ctrl+F5运行程序,查看程序执行效果
第二部分实战提高
扩展登录类,实现以下功能:
1)在命名空间中增加用户类型枚举,包括管理员、普通用户两种
2)在Login类中添加枚举类型对应的成员变量,并将该变量封装成属性
3)修改IsValidateUser()方法,对于不同的用户身份,进入不同的欢迎界面
4)用户拥有5次登录尝试机会,如果5次登录都失败,程序结束,否则,允许用户重新输入用户名和密码。
/*普通用户的用户名为:
guest01
密码为:
guestmm
管理员的用户名为:
manager01
密码为:
mana
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 作业 111
![提示](https://static.bdocx.com/images/bang_tan.gif)