使用编写一个控制台应用程序,输入正方形边长或者半径,计算其周长和面积并输出。
(1) 编写两个接口,接口 IShape 包含三个方法:initialize, getPerimeter, getArea。分
别进行初始化、获取边长和面积,其返回值均为 decimal。接口 IDisplayresult 显示计算结果。
(2) 编写两个类,Square(正方形)和 Circle(圆形),实现 IShape 和 IDisplayresult
接口。
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace shiyan202 { public interface Ishape { void initialize(); decimal getPerimeter(); decimal getArea(); } public interface IDisplayresult { void showResult(); } public class Square : Ishape, IDisplayresult { decimal l; public void initialize() { Console.WriteLine("请输入正方形边长:"); do { l = decimal.Parse(Console.ReadLine()); if (l <= 0) { Console.WriteLine("输入数据错误,请重新输入:"); } } while (l <= 0); } public decimal getPerimeter() { return 4 * l; } public decimal getArea() { return l * l; } public void showResult() { Console.WriteLine("该正方体的周长:{0}", getPerimeter()); Console.WriteLine("该正方体的面积:{0}", getArea()); } } public class Circle : Ishape, IDisplayresult { static decimal pi = 3.14M; decimal r; public void initialize() { Console.WriteLine("请输入圆形的半径:"); do { r = decimal.Parse(Console.ReadLine()); if (r <= 0) { Console.WriteLine("输入数据错误,请重新输入:"); } } while (r <= 0); } public decimal getPerimeter() { return 2 * r * pi; } public decimal getArea() { return pi * r * r; } public void showResult() { Console.WriteLine("该圆形的周长:{0}", getPerimeter()); Console.WriteLine("该圆形的面积:{0}", getArea()); } } class Program { static void Main(string[] args) { int i; Square sq = new Square(); Circle cr = new Circle(); do { Console.WriteLine("请选择 1:正方形 2:圆形 3:退出"); i = int.Parse(Console.ReadLine()); switch (i) { case 1: sq.initialize(); sq.showResult(); break; case 2: cr.initialize(); cr.showResult(); break; case 3: Console.WriteLine("感谢您的使用!!!"); break; default: Console.WriteLine("输入数据错误,请重新输入:"); break; } Console.Write("\n请按任意键继续..."); Console.ReadKey(); Console.Clear(); } while (i != 3); } } }
运行截图:
标签:报告,IDisplayresult,decimal,System,using,initialize,今日,public From: https://www.cnblogs.com/zjq164/p/17891345.html