编写一个控制台应用程序,输入正方形边长或者半径,计算其周长和面积并输出(C#)
一、效果如下:
二、代码如下:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Net_2_2 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Square square = new Square(); 14 Circle circle = new Circle(); 15 int i; 16 Console.WriteLine("*********欢迎进入计算正方形、圆形周长面积系统*********"); 17 do 18 { 19 Console.WriteLine("******************1.正方形******************"); 20 Console.WriteLine("******************2.圆 形******************"); 21 Console.WriteLine("******************3.退 出******************"); 22 Console.WriteLine("请选择:"); 23 i = int.Parse(Console.ReadLine()); 24 switch (i) 25 { 26 case 1: 27 square.initialize(); 28 square.show(); 29 break; 30 case 2: 31 circle.initialize(); 32 circle.show(); 33 break; 34 case 3: 35 Console.WriteLine("已退出!"); 36 break; 37 default: Console.WriteLine("输入错误!"); break; 38 } 39 } while (i != 3); 40 Console.ReadKey(); 41 } 42 } 43 44 //接口 IShape 包含三个方法:initialize, getPerimeter, getArea。分别进行初始化、获取边长和面积,其返回值均为 decimal 45 public interface IShape 46 { 47 void initialize(); //初始化 48 decimal getPerimeter();//获取边长 49 decimal getArea();//获取面积 50 } 51 52 //接口 IDisplayresult 显示计算结果 53 public interface IDisplayresult 54 { 55 void show();//显示计算结果 56 } 57 public class Square : IShape, IDisplayresult //正方形类 58 { 59 public decimal side_length;//边长 60 public void initialize() //正方形初始化实现 61 { 62 63 Console.WriteLine("请输入正方形边长:"); 64 do 65 { 66 side_length = decimal.Parse(Console.ReadLine()); 67 if (side_length <= 0) 68 { 69 Console.WriteLine("输入数据错误,请重新输入:"); 70 } 71 } while (side_length <= 0); 72 } 73 public decimal getPerimeter()//正方形获取周长的实现 74 { 75 return 4 * side_length; 76 } 77 public decimal getArea()//正方形获取面积的实现 78 { 79 return side_length * side_length; 80 } 81 public void show()//显示计算结果 82 { 83 Console.WriteLine("正方形周长:{0}", getPerimeter()); 84 Console.WriteLine("正方形面积:{0}", getArea()); 85 } 86 }//正方形类结束 87 public class Circle : IShape, IDisplayresult //圆形类 88 { 89 decimal radius; 90 const decimal pai = 3.14M; 91 public void initialize() //正方形初始化实现 92 { 93 Console.WriteLine("请输入圆形边长:"); 94 do 95 { 96 radius = decimal.Parse(Console.ReadLine()); 97 if (radius <= 0) 98 { 99 Console.WriteLine("输入数据错误,请重新输入:"); 100 } 101 } 102 while (radius <= 0); 103 } 104 public decimal getPerimeter()//圆形获取周长的实现 105 { 106 107 return 2 * pai * radius; 108 } 109 public decimal getArea()//圆形获取面积的实现 110 { 111 return pai * radius * radius; 112 } 113 public void show()//显示计算结果 114 { 115 Console.WriteLine("圆形周长:{0}", getPerimeter()); 116 Console.WriteLine("圆形面积:{0}", getArea()); 117 } 118 }//圆形类结束 119 }