早教吧作业答案频道 -->数学-->
用C#设计一个能计算等边三角形、圆、正方形面积的类,输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积.利用委托类型及switch语句实现.写的好追加.
题目详情
用C#设计一个能计算等边三角形、圆、正方形面积的类,
输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积.利用委托类型及switch语句实现.
写的好追加.
输入一个值(该值作为边或圆的半径)和图形的类型,计算该图形的面积.利用委托类型及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 完全符合要求
例子已经给出来了,但对于计算三角形或者梯形、圆柱形、圆锥形,输入一个值是肯定不够的,只要稍加改动即可
/// 几何图形的枚举
///
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#设计一个能计算等边三角...的网友还看了以下:
在下列各种截止比率中,属于资产类股权投资口径的价值比率是( )。A.(股权价值+债券价值)/EBIT 2020-05-19 …
用C#设计一个能计算等边三角形、圆、正方形面积的类,输入一个值(该值作为边或圆的半径)和图形的类型 2020-05-24 …
一个圆桶上有个圆孔,展开后是一个椭圆,请问怎样求两个半径一个板厚为32内直径为1750的圆桶,上面 2020-06-21 …
Java中,数值类型值中可能出现的符号是?R,D,T,到底是哪个啊?请说下理由?然后那个数值类型值 2020-07-17 …
如图,已知正方形的边长为1,在正方形ABCD中有两个相切的内切圆.(1)求这两个内切圆的半径之和; 2020-07-20 …
c#枚举类型为什么枚举类型对一个整数?我看书里说,枚举类型的值对应一个正整数,比如enumDay{ 2020-07-21 …
Rt△ABC中,∠ACB=90°,BC=6cm,AC8cm,CM是斜边AB的中线,CD⊥AB,以点 2020-07-26 …
关于物理的曲线运动:为什么切向加速度a=v²/PP代表那一点的曲率半径.这个值多少分?请写出来,不 2020-07-31 …
已知孔30直径的最大尺寸是0.033最小是0与轴30直径最大值-0.040最小值-0.073,求各对 2020-11-08 …
相机镜头口径与f值的问题譬如说,A、B两台照像机的最大光圈值都是2.8。A的镜头直径是55厘米,B镜 2020-11-25 …