c#求三角形面积周长公式_C#计算圆形三角形矩形的面积

class Program

{

static void Main(string[] args)

{

Tuxing i;

double a, b, c;

while(true)

{

Console.WriteLine("********************************请选择*****************************************");

Console.WriteLine("                         1.计算三角形面积");

Console.WriteLine("                         2.计算圆的面积");

Console.WriteLine("                         3.计算矩形形面积");

Console.WriteLine("                         Q    退出");

Console.WriteLine("*******************************************************************************");

char ch = Convert.ToChar(Console.ReadLine());

switch(ch)

{

case '1': Sjx x = new Sjx(); i = x; Console.WriteLine("请输入第一条边:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入第二条边:"); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入第三条边:"); c = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("三角形的面积为:"); x.input(a, b, c); Console.WriteLine(i.getarea()); break;

case '2': Yuan t = new Yuan(); i = t; Console.WriteLine("请输入圆的半径:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("圆的面积为:"); t.input(a); Console.WriteLine( t.getarea()); break;

case '3': Jxing y = new Jxing(); i = y; Console.WriteLine("请输入长:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入宽:"); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("矩形的面积为:"); y.input(a, b); Console.WriteLine( y.getarea()); break;

case 'Q': Jxing n = new Jxing(); n.guanbi(); break;

}

}

}

}

abstract class Tuxing

{

protected double a;

protected double b;

protected double c;

public virtual double getarea()

{ return 0; }

}

class Sjx : Tuxing

{

public void input(double a, double b, double c)

{

this.a = a;

this.b = b;

this.c = c;

}

public override double getarea()

{

if (a + b > c && a + c > b && a - b < c && a - c < b)

{

double q = (a + b + c) / 2;

return (double)Math.Sqrt(q * (q - a) * (q - b) * (q - c));

}

else

return 0;

}

}

class Yuan : Tuxing

{

public void input(double a)

{

this.a = a;

}

public override double getarea()

{

return (double)Math.PI * a * a;

}

}

class Jxing : Tuxing

{

public void input(double a, double b)

{

this.a = a;

this.b = b;

}

public override double getarea()

{

return a * b;

}

public void guanbi()

{

Environment.Exit(0);

}

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C#多态实现求面积周长矩形面积周长三角形面积周长的示例代码: ```csharp using System; // 定义一个抽象类Shape abstract class Shape { public abstract double GetArea(); // 获取面积的抽象方法 public abstract double GetPerimeter(); // 获取周长的抽象方法 } // 定义圆形类Circle,继承自Shape class Circle : Shape { private double radius; // 的半径 public Circle(double radius) { this.radius = radius; } public override double GetArea() { return Math.PI * radius * radius; // 计算面积 } public override double GetPerimeter() { return 2 * Math.PI * radius; // 计算周长 } } // 定义矩形类Rectangle,继承自Shape class Rectangle : Shape { private double length; // 矩形的长度 private double width; // 矩形的宽度 public Rectangle(double length, double width) { this.length = length; this.width = width; } public override double GetArea() { return length * width; // 计算矩形面积 } public override double GetPerimeter() { return 2 * (length + width); // 计算矩形周长 } } // 定义三角形类Triangle,继承自Shape class Triangle : Shape { private double side1; // 三角形的边长1 private double side2; // 三角形的边长2 private double side3; // 三角形的边长3 public Triangle(double side1, double side2, double side3) { this.side1 = side1; this.side2 = side2; this.side3 = side3; } public override double GetArea() { double p = (side1 + side2 + side3) / 2; // 计算周长 return Math.Sqrt(p * (p - side1) * (p - side2) * (p - side3)); // 计算三角形面积 } public override double GetPerimeter() { return side1 + side2 + side3; // 计算三角形周长 } } // 测试代码 class Program { static void Main(string[] args) { // 创建一个圆形对象 Circle circle = new Circle(5); Console.WriteLine("面积:{0}", circle.GetArea()); Console.WriteLine("周长:{0}", circle.GetPerimeter()); // 创建一个矩形对象 Rectangle rectangle = new Rectangle(4, 6); Console.WriteLine("矩形面积:{0}", rectangle.GetArea()); Console.WriteLine("矩形周长:{0}", rectangle.GetPerimeter()); // 创建一个三角形对象 Triangle triangle = new Triangle(3, 4, 5); Console.WriteLine("三角形面积:{0}", triangle.GetArea()); Console.WriteLine("三角形周长:{0}", triangle.GetPerimeter()); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值