今日学习内容:

 

2. 编写一个控制台应用程序,输入正方形边长或者半径,计算其周长和面积并输出。

 

(1) 编写两个接口,接口 IShape 包含三个方法:initialize, getPerimeter, getArea。分

 

别进行初始化、获取边长和面积,其返回值均为 decimal。接口 IDisplayresult 显示计算结果。 

 

(2) 编写两个类,Square(正方形)和 Circle(圆形),实现 IShape 和 IDisplayresult

 

接口。 

 

运行代码:

 

using System;


using System.Collections.Generic;


using System.Linq;


using System.Text;


using System.Threading.Tasks;


 


namespace _2_2


{


    public interface IShape


    {


        void initialize(); //初始化


        decimal getPerimeter();//获取边长


        decimal getArea();//获取面积


    }


    public interface IDisplayresult


    {


        void show();


    }


    public class Square : IShape, IDisplayresult   //正方形类


    {


        public decimal sidelength;          //边长


        public void initialize() //正方形初始化实现


        {


 


            Console.WriteLine("请输入正方形边长:");


            do


            {


                sidelength = decimal.Parse(Console.ReadLine());


                if (sidelength <= 0)


                {


                    Console.WriteLine("输入数据错误,请重新输入:");


                }


            }


            while (sidelength <= 0);


        }


        public decimal getPerimeter()    //正方形获取周长的实现


        {


            return 4 * sidelength;


        }


        public decimal getArea()        //正方形获取面积的实现


        {


            return sidelength * sidelength;


        }


        public void show()             //显示计算结果


        {


            Console.WriteLine("正方形周长:{0}", getPerimeter());


            Console.WriteLine("正方形面积:{0}", getArea());


        }


    }                               //正方形类结束


    public class Circle : IShape, IDisplayresult   //圆形类


    {


        decimal radius; const decimal pai = 3.14M;


        public void initialize() //正方形初始化实现


        {


            Console.WriteLine("请输入圆形半径:");


            do


            {


                radius = decimal.Parse(Console.ReadLine());


                if (radius <= 0)


                {


                    Console.WriteLine("输入数据错误,请重新输入:");


                }


            }


            while (radius <= 0);


        }


        public decimal getPerimeter()    //圆形获取周长的实现


        {


 


            return 2 * pai * radius;        //圆形周长公式


        }


        public decimal getArea()        //圆形获取面积的实现


        {


            return pai * radius * radius;


        }


        public void show()             //显示计算结果


        {


            Console.WriteLine("圆形周长:{0}", getPerimeter());


            Console.WriteLine("圆形面积:{0}", getArea());


        }


    }//圆形类结束


    class Program


    {


        static void Main(string[] args)


        {


            Square sq = new Square(); Circle cir = new Circle();


            int i;


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


            do


            {


                Console.WriteLine(" 1.正方形 2.圆形 3.退出");


                i = int.Parse(Console.ReadLine());


                switch (i)


                {


                    case 1:


                        sq.initialize();          //正方形初始化


                        sq.show();                //展示正方形计算结果


                        break;


                    case 2:


                        cir.initialize();        //圆形初始化


                        cir.show();               //展示圆形结果


                        break;


                    case 3:


                        Console.WriteLine("退出————");


                        break;


                    default: Console.WriteLine("输入错误!!!"); break;


                }


            } while (i != 3);


        }


    }


}

  

 

 

 

posted on 2021-10-20 21:47  白日梦想家~  阅读(40)  评论(0编辑  收藏  举报