《课堂实验c#实验一 sit》由会员分享,可在线阅读,更多相关《课堂实验c#实验一 sit(5页珍藏版)》请在金锄头文库上搜索。
1、上海应用技术学院软件设计与实践实验报告实验名称 C#面向对象编程 实验序号 1 实验日期 2016919姓 名 黄以表 学 号 1410400614 指导教师 徐克奇专 业 软件工程 班 级 141042Y1 成 绩一、实验目的及要求1. 熟悉 Visual S 2008 开发环境。2. 了解 Visual C#编程特性。3. 掌握类的创建和对象声明。4. 掌握通过属性访问对象中的数据。5. 掌握继承实现方法。6. 熟悉委托、事件的定义极其使用。二、实验环境Windows 10、Visual Studio 2015三、实验内容1创建 C#控制台应用程序。设计一个简单的密码验证程序,若密码正确,
2、则显示“欢迎进入本系统!”,否则显示“密码输入错误,请重新输入!”。若连续三次密码输入错误,则显示“对不起,超过最多输入次数,取消服务!”,程序退出。2创建一个点 Point 类,属性包括横坐标、纵坐标。要求能够完成点的移动操作、求两点距离操作,并利用运算符重载,对两个点进行比较(相等和不等)依据是两坐标点相等指它们横坐标和纵坐标分别相等。编写一个测试程序对产生的类的功能进行验证。3 定义一个 shape 抽象类,利用它作为基类派生出 Rectangle、Circle 等具体形状类,已知具体形状类均具有两个方法 GetArea 和 GetPerim,分别用来求形状的面积和周长。最后编写一个测试
3、程序对产生的类的功能进行验证。四、实验结果与分析(包含界面、源代码等)1程序运行结果:程序代码:using System;namespace Sy1_mimaclass Programstatic void Main(string args)string initialValue = 1234;/初始密码int sign = 1;while (sign = 0 ? false : true)Console.WriteLine(请输入密码,当前第+sign+次机会,当连续错3次后,程序自动结束);sign+;string inputWord = Console.ReadLine();if (in
4、putWord.Equals(initialValue)Console.WriteLine(欢迎进入本系统!);Console.ReadKey();sign = 1;continue;else if (sign 4)Console.WriteLine(密码输入错误,请重新输入!);elsesign = 0;2程序运行结果:程序代码:using System;namespace Sy1_2_Pointclass Programpublic class Pointprivate double x;public double X get return x; set x = value; privat
5、e double y;public double Y get return y; set y = value; public Point() public Point(double x,double y)this.x = x;this.y = y;public double dist( Point B) return System.Math.Sqrt(B.x -this.x)*(B.x - this.x)+ (B.y-this.y)* (B.y - this.y);public static Point operator + (Point A,Point B)Point C = new Poi
6、nt();C.x = A.x + B.x;C.y = A.y + B.y;return C;public static bool operator =(Point A, Point B)if (A.x = B.x & A.y = B.y)return true;elsereturn false;public static bool operator !=(Point A, Point B)if (A.x != B.x | A.y != B.y)return true;elsereturn false;public void dis()Console.WriteLine(X = 0,Y = 1n
7、, x, y);static void Main(string args)/实例测试Point A = new Point();Point B = new Point(-3, 2);Point C = new Point();A.X = 1;A.Y = 2;A.dis();B.dis();Console.WriteLine(the distance between A of B is 0, A.dist(B);Console.WriteLine(A is the same as B ? 0, A=B);C = A + B;C.dis();Console.ReadKey();3程序运行结果:程序
8、代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace sy1_4_Shape抽象类public abstract class Shapepublic double GetArea() return 0; public double GetPerim() return 0; class Rectangle : Shapeprivate double x = 0, y = 0;public Rectangl
9、e(double x, double y)this.x = x;this.y = y;public double GetPerim() return 2 * (x + y); public double GetArea() return x * y; public class Circle : Shapeprivate double r;public Circle(double r) this.r = r; public double GetPerim() return Math.PI * 2 * r; public double GetArea() return Math.PI * r *
10、r; class Programstatic void Main(string args)Circle c1 = new Circle(3);Rectangle r1 = new Rectangle(5, 5);Console.WriteLine(圆1的面积为:+ c1.GetArea();Console.WriteLine(圆1的周长为: + c1.GetPerim();Console.WriteLine(长方形面积: + r1.GetArea();Console.WriteLine(长方形周长: + r1.GetPerim();Console.Read(); 五、体会在这次实验中,我对 C#语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对 C#语言的学习产生浓厚的兴趣。