用C#设计一个能计算等边三角形、圆、正方形面积的类,输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积.利用委托类型及switch语句实现.写的好追加.
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/20 07:07:12
用C#设计一个能计算等边三角形、圆、正方形面积的类,输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积.利用委托类型及switch语句实现.写的好追加.
用C#设计一个能计算等边三角形、圆、正方形面积的类,
输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积.利用委托类型及switch语句实现.
写的好追加.
用C#设计一个能计算等边三角形、圆、正方形面积的类,输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积.利用委托类型及switch语句实现.写的好追加.
///
/// 几何图形的枚举
///
public enum GeometryGraphic
{
///
/// 圆形
///
Round,
///
/// 正方形
///
Square
}
///
/// 计算面积
///
class CalculateArea
{
///
/// 计算面积的委托
///
///
///
delegate double AreaEventHandler(double inputValue);
///
/// 计算圆形的面积
///
/// 半径
///
public double GetRoundArea(double inputValue)
{
return Math.PI * inputValue * inputValue;
}
///
/// 计算正方形的面积
///
/// 边长
///
public double GetSquareArea(double inputValue)
{
return inputValue * inputValue;
}
///
/// 执行计算
///
/// 输入的值
/// 图形的类型
///
public double ExecuteCalculate(double inputValue,GeometryGraphic type)
{
AreaEventHandler areaEventHandler = null;
switch (type)
{
case GeometryGraphic.Round:
areaEventHandler = new AreaEventHandler(GetRoundArea);
break;
case GeometryGraphic.Square:
areaEventHandler = new AreaEventHandler(GetSquareArea);
break;
}
return areaEventHandler(inputValue);
}
}
进行测试:
static void Main(string[] args)
{
CalculateArea area = new CalculateArea();
double result = area.ExecuteCalculate(4d,GeometryGraphic.Square);
Console.WriteLine(result);
}
输出结果是:16 完全符合要求
例子已经给出来了,但对于计算三角形或者梯形、圆柱形、圆锥形,输入一个值是肯定不够的,只要稍加改动即可