您的位置:首页 > 编程语言 > C#

C# 图形面积计算

2016-06-23 17:31 357 查看
   class Program

    {

        static void Main(string[] args)

        {

           Tuxing i;

            double a, b, c;

            while(true)

            {

                Console.WriteLine("********************************请选择*****************************************");

                Console.WriteLine("                         1.计算三角形面积");

                Console.WriteLine("                         2.计算圆的面积");

                Console.WriteLine("                         3.计算矩形形面积");

                Console.WriteLine("                         Q    退出");

                Console.WriteLine("*******************************************************************************");

                char ch = Convert.ToChar(Console.ReadLine());

                switch(ch)

                {

                    case '1': Sjx x = new Sjx(); i = x; Console.WriteLine("请输入第一条边:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入第二条边:"); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入第三条边:"); c = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("三角形的面积为:"); x.input(a, b, c); Console.WriteLine(i.getarea()); break;

                    case '2': Yuan t = new Yuan(); i = t; Console.WriteLine("请输入圆的半径:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("圆的面积为:"); t.input(a); Console.WriteLine( t.getarea()); break;

                    case '3': Jxing y = new Jxing(); i = y; Console.WriteLine("请输入长:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入宽:"); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("矩形的面积为:"); y.input(a, b); Console.WriteLine(
y.getarea()); break;

                    case 'Q': Jxing n = new Jxing(); n.guanbi(); break;

                }            

               

            }

        }
    }

 abstract class Tuxing

    {

        protected double a;

        protected double b;

        protected double c;

        public virtual double getarea()

        { return 0; }

       

    }

    class Sjx : Tuxing

    {

        public void input(double a, double b, double c)

        {

            this.a = a;

            this.b = b;

            this.c = c;

        }

        public override double getarea()

        {

            if (a + b > c && a + c > b && a - b < c && a - c < b)

            {

                double q = (a + b + c) / 2;

                return (double)Math.Sqrt(q * (q - a) * (q - b) * (q - c));

            }

            else

                return 0;

        }

    }

    class Yuan : Tuxing

    {

        public void input(double a)

        {

            this.a = a;

        }

        public override double getarea()

        {

            return (double)Math.PI * a * a;

        }

    }

    class Jxing : Tuxing

    {

        public void input(double a, double b)

        {

            this.a = a;

            this.b = b;

        }

        public override double getarea()

        {

            return a * b;

        }

        public void guanbi()

        {

            Environment.Exit(0);

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 图形