用C#设计一个能计算等边三角形、圆、正方形面积的类,

输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积。利用委托类型及switch语句实现。RT,求解啊,速度了写的好追加。。... 输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积。利用委托类型及switch语句实现。
RT,求解啊,速度了
写的好追加。。
展开
 我来答
匿名用户
2013-11-08
展开全部
/// <summary>

/// 几何图形的枚举

/// </summary>

public enum GeometryGraphic

{

/// <summary>

/// 圆形

/// </summary>

Round,

/// <summary>

/// 正方形

/// </summary>

Square

}

/// <summary>

/// 计算面积

/// </summary>

class CalculateArea

{

/// <summary>

/// 计算面积的委托

/// </summary>

/// <param name="inputValue"></param>

/// <returns></returns>

delegate double AreaEventHandler(double inputValue);

/// <summary>

/// 计算圆形的面积

/// </summary>

/// <param name="inputValue">半径</param>

/// <returns></returns>

public double GetRoundArea(double inputValue)

{

return Math.PI * inputValue * inputValue;

}

/// <summary>

/// 计算正方形的面积

/// </summary>

/// <param name="inputValue">边长</param>

/// <returns></returns>

public double GetSquareArea(double inputValue)

{

return inputValue * inputValue;

}

/// <summary>

/// 执行计算

/// </summary>

/// <param name="inputValue">输入的值</param>

/// <param name="type">图形的类型</param>

/// <returns></returns>

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 完全符合要求

例子已经给出来了,但对于计算三角形或者梯形、圆柱形、圆锥形,输入一个值是肯定不够的,只要稍加改动即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式