请采用面向对象的程序设计方法编写一个计算图形面积的类,程序应当能够计算并输出圆、矩形和三角形的面积。构造三个重载方法,对每一种图形类型使用不同的输入参数来计算面积:圆形的计算方法用半径作输入参数,矩形的计算方法用长和宽作输入参数,三角形的计算方法用三条边的长度作输入参数。可以将这些方法定义为静态类型。最后编写主控程序类来对该类进行使用。

解决方案 »

  1.   

    lz你要写成控制台的形式还是WinForm的形式啊
    我来帮你写
      

  2.   

    using System;
    class Method
    {
      public static void getarea(Double r) //求圆的面积
       {
         Console.WriteLine(r*r*3.14);
       }
      public static void getarea(Double a,Double b) //求矩形的面积
       {
        Console.WriteLine(a*b);
       }
       public static void getarea(Double a,Double b,Double c) //求三角形的面积
       {
         Double p=(a+b+c)/2;
         Double s=Math.Sqrt(p*(p-a)*(p-b)*(p-c));
        Console.WriteLine(s);
       }
    }
    class text
    {
    public static void Main()
      {
        
          Method.getarea(4);
          Method.getarea(4,4);
          Method.getarea(4,4,4);
      }
    }给你个简单的思路 最好自己再想想看有没有其他方法 学程序要多动手
     希望能帮到你
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace MyWinForm
    {
        class plan
        {
            /// <summary>
            /// 此方法用来计算圆的面积
            /// </summary>
            /// <param name="r">半径</param>
            /// <returns>返回面积</returns>
            public static double Circle(double r)
            {
                return Math.PI * r * r;
            }
            /// <summary>
            /// 此方法用来计算矩形面积
            /// </summary>
            /// <param name="x">长</param>
            /// <param name="y">宽</param>
            /// <returns>返回面积</returns>
            public static double Rectangle(double x, double y)
            {
                return x * y;
            }
            /// <summary>
            /// 此方法用来计算三角形面积
            /// </summary>
            /// <param name="a">边长a</param>
            /// <param name="b">边长b</param>
            /// <param name="c">边长c</param>
            /// <returns>返回面积</returns>
            public static double Triangle(double a, double b, double c)
            {
                double l;
                l = 0.5 * (a + b + c);
                return Math.Sqrt(l*(l-a)*(l-b)*(l-c));
            }
            /// <summary>
            /// 此方法用来计算梯形面积
            /// </summary>
            /// <param name="e">上底</param>
            /// <param name="f">下底</param>
            /// <param name="h">高</param>
            /// <returns>返回面积</returns>
            public static double Ladder(double e, double f, double h)
            {
                return ((e + f) * h) * 0.5;
            }
            /// <summary>
            /// 此方法用来计算平行四边形的面积
            /// </summary>
            /// <param name="l">底边</param>
            /// <param name="h">高</param>
            /// <returns>面积</returns>
            public static double Parallelogram(double l, double h)
            {
                return l * h;
            }
            /// <summary>
            /// 此方法用来计算正多边形面积
            /// </summary>
            /// <param name="n">边数</param>
            /// <param name="l">边长</param>
            /// <returns>面积</returns>
            public static double Polygon(double n ,double l)
            {
                return((0.25*n*l*l)/(Math .Tan (Math .PI /n)));
            }
            /// <summary>
            /// 此方法用来计算扇形面积
            /// </summary>
            /// <param name="l">扇形半径</param>
            /// <param name="Q">扇形圆心角</param>
            /// <returns>面积</returns>
            public static double Fan(double l, double Q)
            {
                return (Math .PI *l*l)*(Q/360);
            }
           
        }
    }
      

  4.   


    using System;
    using System.Collections.Generic;
    using System.Text;namespace OverLoad
    {
        class CalcMethod
        {
            public static void CalcArea(double r)
            {
                Console.WriteLine("圆的面积为:{0}",r);
            }        public static void CalcArea(double a, double b)
            {
                Console.WriteLine("矩形面积:{0}",a*b);
            }        public static void CalcArea(double a, double b, double c)
            {
                double p = (a+b+c)/2;
                double s = Math.Sqrt(p*(p-a)*(p-b)*(p-c));
                Console.WriteLine("三角形的面积为:{0}", s);
            }
        
        }
        class Program
        {
            static void Main(string[] args)
            {
                CalcMethod.CalcArea(4);
                CalcMethod.CalcArea(4, 7);
                CalcMethod.CalcArea(3, 4, 5);
                Console.ReadKey();
            }
        }
    }LZ结贴拿分!
      

  5.   

    这是我的代码:
    using System;
    using System.Collections.Generic;
    using System.Text;namespace Figure
    {
        class FigureArea
        {
            public static void Circle(double radius)
            {
                Console.WriteLine("圆的面积是:{0}", 3.14159 * radius * radius);
            }        public static void Rectangle(double length, double width)
            {
                Console.WriteLine("矩形面积是:{0}", length * width);
            }        public static void Triangle(double a, double b, double c)
            {
                double s;
                s = (a + b + c) / 2;
                if (a + b <= c || b + c <= a || a + c <= b)
                {
                    Console.WriteLine("该三角形无意义!");
                }
                else
                    Console.WriteLine("三角形面积是:{0}", Math.Sqrt(s * (s - a) * (s - b) * (s - c)));
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                double r;
                double l, w;
                double x, y, z;
                FigureArea f = new FigureArea();            Console.Write("请输入圆的半径:");
                r = double.Parse(Console.ReadLine());
                FigureArea.Circle(r);
                
                Console.Write("请输入矩形的长和宽:");
                l = double.Parse(Console.ReadLine());
                w = double.Parse(Console.ReadLine());
                FigureArea.Rectangle(l, w);            Console.Write("请输入三角形的三边长:");
                x = double.Parse(Console.ReadLine());
                y = double.Parse(Console.ReadLine());
                z = double.Parse(Console.ReadLine());
                FigureArea.Triangle(x, y, z);
            }
        }
    }谢谢大家的指点,其实我是想问"构造三个方法重载"该如何做,现在终于明白了!