早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用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 完全符合要求
例子已经给出来了,但对于计算三角形或者梯形、圆柱形、圆锥形,输入一个值是肯定不够的,只要稍加改动即可
看了 用C#设计一个能计算等边三角...的网友还看了以下:

如图,用半径为R的圆铁皮,剪一个圆心角为α的扇形,制成一个圆锥形的漏斗,问圆心角α取什么值时,漏斗  2020-04-11 …

在半径为R的圆形铁皮上割去一个圆心角为θ的扇形,使剩下部分围成一个圆锥,θ为何值时圆锥的容积最大?  2020-05-13 …

质量为M,倾角为α的楔形物A放在水平地面上.质量为m的B物体从楔形物的光滑斜面上由静止释放.质量为  2020-05-15 …

一质量为M,倾角为θ的楔形木块,静置在光滑水平面上,质量为m的物块,置于楔形木块的光滑斜面上,现用  2020-05-17 …

如图,已知是半径为,圆心角为的扇形,是扇形弧上的动点,是扇形的内接矩形.记,求当角取何值时,矩形的  2020-06-12 …

如果用整个圆来表示中预(1)班共有同学40人,那么评优的5名同学应该用圆心角为的扇形来表示.  2020-06-25 …

如果用整个圆来表示中预(1)班共有同学40人,那么评优的5名同学应该用圆心角为的扇形来表示.  2020-06-25 …

下列句子中的“为”的用法和意义解说有误的一项是()A、为坛而盟,祭以尉首。《陈涉世家》(动词,做)  2020-07-16 …

用半径为R的圆形铁皮剪出一个圆心角为α的扇形,制成一个圆锥形容器,要使容器的容积最大,扇形的圆心角  2020-07-19 …

我国著名数学家华罗庚曾说过:“数形结合百般好,隔裂分家万事非”.如图,在一个边长为1的正方形纸板上,  2020-11-07 …