C#编写一个控制台应用程序,输入正方形边长或者半径,计算其周长和面积并输出
编写一个控制台应用程序,输入正方形边长或者半径,计算其周长和面积并输出
(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 Lab06_2 { 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); } } }
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!