C#图形面积计算(重载)

请采用面向对象的程序设计方法编写一个计算图形面积的类,程序应当能够计算并输出圆、矩形和三角形的面积。构造三个重载方法,对每一种图形类型使用不同的输入参数来计算面积:圆形的计算方法用半径作输入参数,矩形的计算方法用长和宽作输入参数,三角形的计算方法用三条边的长度作输入参数。可以将这些方法定义为静态类型。最后编写主控程序类来对该类进行使用。
//本程序由王赟  计算机092编写 2011,11,6 编写,仅供交流
//做完C#作业,便把东西传了上来。

///<summary>
///wangyun 2011,11,06 10:57 at The Second ClassRoom Building
///</summary>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace S3_4
{
    class AreaCalculate
    {
        AreaCalculate() { }
        /// <summary>
        /// 求圆的面积
        /// </summary>
        /// <param name="radius">半径</param>
        /// <returns></returns>
        public static double  GetArea(double radius)
        {
            return Math.PI * radius * radius;
        }
        /// <summary>
        /// 求矩形的面积
        /// </summary>
        /// <param name="width">长</param>
        /// <param name="height">宽</param>
        /// <returns></returns>
        public static double GetArea(double width,double height)
        {
            return width * height;
        }
        /// <summary>
        /// 求三角形的面积,依据海伦公式
        /// </summary>
        /// <param name="side1">边长1</param>
        /// <param name="side2">边长2</param>
        /// <param name="side3">边长3</param>
        /// <returns></returns>
        public static double GetArea(double side1,double side2,double side3)
        {
            //仅当两边之和及两边之差大于第三边即边长为正数才能构成三角形
            if ((side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1) && (side1 - side2< side3 &&side1 - side3< side2 && side2 - side3 < side1) && (side1 > 0 && side2 > 0 && side3 > 0))
            {
                double p=0.5*(side1+side2+side3);
                return Math.Sqrt(p * (p - side1) * (p - side2) * (p - side3));
            }
            else
            {
                Console.WriteLine("数据错误!请检查输入的三条边的数据");
                return 0;
            }
        }
        static void Main(string[] args)
        {
            AreaCalculate ac = new AreaCalculate();
            double radius=2.0;//半径
            double width=2.3;//长
            double height=4.5;//宽
            double side1=2;//三角形三边长
            double side2=2;
            double side3=2;
            Console.WriteLine("半径为{0}的圆的面积为{1:f4}",radius,AreaCalculate.GetArea(radius));//f4表示保留4位小数
            Console.WriteLine("长为{0},宽为{1}的矩形的面积为{2:f4}", width, height, AreaCalculate.GetArea(width, height));
            Console.WriteLine("三边长分别为{0},{1},{2}的三角形的面积为{3:f4}", side1, side2, side3, AreaCalculate.GetArea(side1, side2, side3));
        }
    }
}

你可能感兴趣的:(C#图形面积计算(重载))