控制台程序编程.docx
- 文档编号:3212655
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:27
- 大小:21.95KB
控制台程序编程.docx
《控制台程序编程.docx》由会员分享,可在线阅读,更多相关《控制台程序编程.docx(27页珍藏版)》请在冰点文库上搜索。
控制台程序编程
实验一控制台程序编程
(2课时)
一、实验目的
1)熟悉C#的基本语句。
2)掌握条件语句、多分支语句、循环语句的使用。
3)掌握使跳转语句使用。
二、实验要求
1.程序结构清晰、语句完整;
2.格式正确,语句采用缩进格式;
3.设计子函数实现题目要求的功能;
4.编译、连接通过,熟练使用命令键;
5.运行结果正确,输入输出有提示,格式美观。
三、实验设备、材料和工具
1.奔腾2计算机或以上机型
2.C#.NET2008
四、实验内容和步骤
实验内容:
1、编写一个程序,判断用户从键盘输入的年份是否是闰年。
如果一个年份能被4整除,并且如果该年份是100的倍数,它能被400整除,那么该年份就是闰年。
步骤:
1)声明int型变量year,用于表示年份。
2)声明bool型变量isLeap,用于表示是否闰年。
3)声明string型变量str,用于表示一串字符。
4)向屏幕输出提示信息,提示用户输入年份。
5)从键盘读入年份字符串赋值给变量str。
6)将变量str中的数据转换成int型数据并赋值给变量year。
7)通过混合取余运算、关系运算和条件逻辑运算判断year是否闰年,并将结果赋值给变量isLeap。
8)使用条件运算符,当isLeap为true时,给变量str赋字符串“是”;否则,赋“不是”。
9)输出结果,告诉用户相应年份是否闰年。
2、编写一个程序,使用条件运算符求用户输入的三个整数中的最大值。
实验步骤:
1)声明int型变量a、b、c,用于保存三个待求整数。
2)声明int型变量max,用于保存最大值。
3)声明string型变量str,用于表示一串字符。
4)分别向屏目输出提示信息,提示用户输入三个整数,将用户输入的字符串保存在变量str中,并在将str中的数据转换成int型数据后分别赋值给变量a、b、c。
5)使用条件运算符和关系运算符求出变量a和b中的大者,并赋值给变量max。
6)使用条件运算符和关系运算符求出变量max和c中的大者,并赋值给变量max。
7)输出变量max的值。
3、定义一个表示日期的结构类型(包含年、月、日字段,其中月份采用枚举类型描述),并验证。
验证时,访问日期结构类型变量中的每个成员,并访问整个变量。
实验步骤:
1)定义枚举类型MonthOfYear,用于描述一年中的12个月。
2)定义结构类型Date,用于描述日期,结构类型Date中包含三个公共字段。
其中,string型字段Year用于表示年份,MonthOfYear型字段Month用于表示月份,string型字段Day用于表示天数。
3)定义一个含有Main()方法的类。
4)在Main方法中,首先声明两个Date变量date1,date2。
5)分别给变量date1的字段赋值。
6)输出变量date1各字段的值。
7)将变量date1的值赋给变量2,然后,修改变量date2的Day字段值。
8)输出变量date2各字段的值。
4、编写一个程序,使用if语句将用户输入的三个整数按从小到大的顺序排序。
实验步骤:
1)声明int型变量a、b、c,用于保存用户输入的三个整数。
2)声明int型变量t,在交换变量a、b、c的值时,用于临时保存其中的某个值。
3)从键盘读入三个整数,分别保存在变量a、b、c中。
4)使用if语句将变量a、b、c中的最大值赋给变量c,最小值赋给变量a,中间值赋给变量b。
5)按从小到大的顺序依次输出变量a、b、c的值。
5、编写一个简单的计算器程序,能够根据用户从键盘输入的运算指令和整数,进行简单的加减乘除运算。
实验步骤:
1)声明int型变量firstNumber和secondNumber,用于保存操作数。
2)声明string型变量operation,用于保存运算符。
3)声明string型变量response,用于保存用户输入的决定是否继续运算的字符。
4)声明do-while语句读入运算符和操作数,在该循环中用switch语句执行相应运算,并输出运算结果。
5)在do-while语句中提示用户输入相应的字符决定是否断续运算,并根据输入字符决定是否结束do-while语句的运行。
6、合数就是非素数,即除了1和它本身之外还有其他约数的正整数。
编写一个程序求出指定数据范围(假设10~100)内的所有合数。
实验步骤:
1)声明int型变量min、max,并分别初始化为10和100;
2)声明int型变量num,用于保存合数的个数,初始化为0。
3)嵌套使用for语句,顺序判断10~100中的每个整数,如果某个整数是合数,则输出该数,并将变量num加1。
五、实验报告要求
1.实验前需填写好实验的名称和实验目的;
2.根据实验内容初步设计好程序,并从理论上排除错误;
3.针对程序的健壮性准备好测试数据;
4.结果分析中如实填写运行后的结果,并记录调试过程中产生的重要问题和解决方法。
六、根据实验过程填写程序和实验结果
1、程序:
结果:
调试过程中产生的重要问题和解决方法:
2、程序:
结果:
调试过程中产生的重要问题和解决方法:
3、程序:
结果:
调试过程中产生的重要问题和解决方法:
4、程序:
结果:
调试过程中产生的重要问题和解决方法:
5、程序:
结果:
调试过程中产生的重要问题和解决方法:
6、程序:
结果:
完成预编程:
调试过程:
实验成绩等级:
N0:
2
时间:
月日
教师签名:
调试过程中产生的重要问题和解决方法:
实验二面向对象的编程基础
(2课时)
一、实验目的
4)熟悉类的定义和使用。
5)掌握创建对象的方法。
6)掌握只读字段的声明及使用。
7)学习定义和使用带参数构造函数。
8)熟悉访问权限控制符。
9)掌握属性的定义和使用。
10)掌握关键字this。
11)理解组合与继承的概念,掌握组合与继承的语法。
12)学会定义和使用派生类。
13)学会定义和使用接口。
14)掌握继承过程中的方法重写,区分它与方法隐藏、方法重载的不同。
15)掌握引用类型之间的转换规则。
16)掌握多态与动态绑定。
17)熟悉关键字base。
18)学会定义密封方法。
二、实验要求
6.程序结构清晰、语句完整,包含有头文件和main函数;
7.格式正确,语句采用缩进格式;
8.设计子函数实现题目要求的功能;
9.编译、连接通过,熟练使用命令键;
10.运行结果正确,输入输出有提示,格式美观。
三、实验设备、材料和工具
3.奔腾2计算机或以上机型
4.C#.NET2008
四、实验内容和步骤
实验内容:
1、创建一个描述图书信息的类并测试。
类中应保存有图书的书号、标题、作者、出版社、价格等信息。
步骤:
10)定义图书类Book,Book类中包含isbn(书号)、title(标题)、author(作者)、press(出版社)、price(价格)等私有字段。
由于对一本书来说,书号是唯一的,因此,isbn字段应声明为只读的。
11)为Book类中的每个字段定义相应的属性,由于isbn字段只读的,其相应属性也应该是只读的。
12)为Book类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,另一个构造函数只要求用户指定有关书号的信息,它将调用上一个构造函数初始化对象,初始化时,价格取0,除书号的其他信息取“未知”。
13)为Book类定义方法Show,Show方法用于显示图书的所有信息。
14)编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建Book对象。
2、根据几何图形的组合与继承关系定义用于描述点、直线、三角形、四边形、正方形、圆等几何图形的类(或结构)。
要求首先定义一个几何图形接口描述所有几何图形的共有特性,上述几何图形都必须现实该接口,并且其中用于描述点的类型最好定义为结构。
步骤:
1)定义几何图形接口Shape。
Shape接口中包含属性Color,用于读取和设置几何图形的颜色;包含方法Draw、Erase、Move,用于绘制、擦拭、移动几何图形。
由于属性Color的类型无法用基本数据类型准确描述,程序中还需要另外定义一个表示颜色的枚举类型CColor(实验上,.NET框架类库中定义有一个Color结构,它可以更好地表示颜色,你们可以直接使用它)。
2)定义点结构Point实现Shape接口。
Point结构中除实现Shape接口的所有成员外,还必须包含两个int型私有字段x、y及相应属性,它们用于表示点的坐标。
另外,还应为Point结构定义构造函数,并重写方法ToString。
3)定义直线类Line实现Shape接口。
Line类中除实现Shape接口的所有成员外,还必须包含两个Point型私有字段point1、point2及相应属性,它们用于表示直线两个顶点的坐标。
另外,还应为Line类定义构造函数,并重写方法ToString。
4)定义三角形类Triange实现Shape接口。
Triangle类中除实现Shape接口的所有成员外,还必须包含三个Point型私有字段及相应属性,它们用于表示三角形三个顶点的坐标。
另外,还应为triangle类定义方法Area(求面积)和构造函数,并重写方法ToString。
5)定义四边形类Quadrilateral实现Shape接口。
Quadrilateral类中除实现Shape接口中的所有成员外,还必须包含四个Point型私有字段及相应属性,它们用于表示四边形四个顶点的坐标。
另外,还应为Quadrilateral类定义方法Area(求面积)和构造函数,并重写方法ToString。
由于程序后面还需要在Quadrilateral类的基础上派生出正方形类,因此,实现Shape接口时,应该将方法Draw、Erase、Move声明为虚拟的,另外,重写方法ToString时,不妨将它声明为密封的。
6)定义圆类Circle实现Shape接口。
Circle类中除实现Shape接口的所有成员外,还必须包含一个Point型私有字段、一个int型私有字段及相应属性,它们分别用于表示圆的圆心坐标及半径;另外,还应为Circle类定义Area(求面积)和构造函数,并重写方法ToString。
7)定义正方形类Square继承Quadrilateral类。
Square类中应重写方法Draw、Erase、Move并定义构造函数。
8)定义Main方法测试上面定义的类。
五、实验报告要求
5.实验前需填写好实验的名称和实验目的;
6.根据实验内容初步设计好程序,并从理论上排除错误;
7.针对程序的健壮性准备好测试数据;
8.结果分析中如实填写运行后的结果,并记录调试过程中产生的重要问题和解决方法。
六、根据实验过程填写程序和实验结果
实验1程序:
classBook{
privatereadonlystringisbn;//书号
privatestringtitle;//标题
privatestringauthor;//作者
privatestringpress;//出版社
privateintprice;//价格
publicBook(stringisbn):
this(isbn,"未知","未知","未知",0){
}
publicBook(stringisbn,stringtitle,stringauthor,stringpress,intprice){
this.isbn=isbn;
this.title=title;
this.author=author;
this.press=press;
this.price=price;
}
publicstringISBN{
get{
returnisbn;
}
}
publicstringTitle{
get{
returntitle;
}
set{
title=value;
}
}
publicstringAuthor{
get{
returnauthor;
}
set{
author=value;
}
}
publicstringPress{
get{
returnpress;
}
set{
press=value;
}
}
publicintPrice{
get{
returnprice;
}
set{
price=value;
}
}
publicvoidShow(){
Console.WriteLine("书号:
{0}",isbn);
Console.WriteLine("标题:
{0}",title);
Console.WriteLine("作者:
{0}",author);
Console.WriteLine("出版社:
{0}",press);
Console.WriteLine("价格:
{0}",price);
}
}
classTest5_1{
staticvoidMain(){
Bookbook1=newBook("978-7-111-23423-4");
book1.Show();
Console.WriteLine();
book1.Title="C#程序设计(C#2.0版)";
book1.Author="刘慧宁";
book1.Press="机械工业出版社";
book1.Price=32;
book1.Show();
Console.WriteLine();
book1=newBook("978-7-302-15800-4","Java程序设计","温秀梅","清华大学出版社",29);
book1.Show();
}
}
结果:
调试过程中产生的重要问题和解决方法:
实验2程序:
//定义一个颜色的枚举
enumCColor{
BLACK,BLUE,BROWN,CYAN,GRAY,GREEN,ORANGE,PINK,RED,WHITE,YELLOW
}
//定义一个几何图形接口
interfaceShape{
CColorColor{
get;
set;
}
//绘制的方法
voidDraw();
//擦拭的方法
voidErase();
//移动的方法
voidMove();
}
//定义一个点的结构来实现Shape几何图形的接口
structPoint:
Shape{
privateCColorcolor;
privateintx,y;
publicCColorColor{
get{
returncolor;
}
set{
color=value;
}
}
publicintX{
get{
returnx;
}
set{
x=value;
}
}
publicintY{
get{
returny;
}
set{
y=value;
}
}
/*
publicPoint(){
}
*/
publicPoint(intx,inty){
this.x=x;
this.y=y;
this.color=CColor.RED;
}
publicvoidDraw(){
Console.WriteLine("绘制一个点");
}
publicvoidErase(){
Console.WriteLine("擦拭一个点");
}
publicvoidMove(){
Console.WriteLine("移动一个点");
}
//重写ToString()方法
publicoverridestringToString(){
return"("+x+","+y+")";
}
}
//定义一个直线的类来实现Shape接口
classLine:
Shape{
privateCColorcolor;
//顶点
privatePointpoint1,point2;
publicCColorColor{
get{
returncolor;
}
set{
color=value;
}
}
publicPointPoint1{
get{
returnpoint1;
}
set{
point1=value;
}
}
publicPointPoint2{
get{
returnpoint2;
}
set{
point2=value;
}
}
publicLine(){
}
publicLine(Pointp1,Pointp2){
point1=p1;
point2=p2;
}
publicvoidDraw(){
Console.WriteLine("绘制一条直线");
}
publicvoidErase(){
Console.WriteLine("擦拭一条直线");
}
publicvoidMove(){
Console.WriteLine("移动一条直线");
}
//也重写一下ToString方法
publicoverridestringToString(){
return"("+point1.ToString()+","+point2.ToString()+")";
}
}
//定义一个三角形的类同时让它实现Shape接口
classTriangle:
Shape{
privateCColorcolor;
//定义三角形的三个顶点
privatePointpoint1,point2,point3;
publicCColorColor{
get{
returncolor;
}
set{
color=value;
}
}
publicPointPoint1{
get{
returnpoint1;
}
set{
point1=value;
}
}
publicPointPoint2{
get{
returnpoint2;
}
set{
point2=value;
}
}
publicPointPoint3{
get{
returnpoint3;
}
set{
point3=value;
}
}
publicTriangle(){
}
publicTriangle(Pointp1,Pointp2,Pointp3){
point1=p1;
point2=p2;
point3=p3;
}
publicvoidDraw(){
Console.WriteLine("绘制一个三角形");
}
publicvoidErase(){
Console.WriteLine("擦拭一个三角形");
}
publicvoidMove(){
Console.WriteLine("移动一个三角形");
}
//增加一个三角形自己的求面积的方法
publicdoubleArea(){
doublearea=Math.Abs(point1.X*point2.Y+point2.X*point3.Y+point3.X*point1.Y
-point1.X*point3.Y-point2.X*point1.Y-point3.X*point2.Y)/2.0;
returnarea;
}
//同样也重写一下ToString方法
publicoverridestringToString(){
return"("+point1.ToString()+","+point2.ToString()+","+point3.ToString()+")";
}
}
//定义一个四边形的类同样实现Shape接口
classQuadrilateral:
Shape{
privateCColorcolor;
//定义四边形的四个顶点
privatePointpoint1,point2,point3,point4;
publicCColorColor{
get{
returncolor;
}
set{
color=value;
}
}
publicPointPoint1{
get{
returnpoint1;
}
set{
point1=value;
}
}
publicPointPoint2{
get{
returnpoint2;
}
set{
point2=value;
}
}
publicPointPoint3{
get{
returnpoint3;
}
set{
point3=value;
}
}
publicPointPoint4{
get{
returnpoint4;
}
set{
point4=value;
}
}
publicQuadrilateral(){
}
publicQuadrilateral(Pointp1,Pointp2,Pointp3,Pointp4){
point1=p1;
point2=p2;
point3=p3;
point4=p4;
}
publicvirtualvoidDraw(){
Console.WriteLine("绘制一个四边形");
}
publicvirtualvoidErase(){
Console.WriteLine("擦拭一个四边形");
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制台 程序 编程
![提示](https://static.bingdoc.com/images/bang_tan.gif)