今日报告

发布时间 2023-12-09 19:15:06作者: 周+⑦

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

(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 shiyan202
{
    public interface Ishape
    {
        void initialize();
        decimal getPerimeter();
        decimal getArea();
    }
    public interface IDisplayresult
    {
        void showResult();

    }
    public class Square : Ishape, IDisplayresult
    {
        decimal l;
        public void initialize()
        {
            Console.WriteLine("请输入正方形边长:");
            do
            {
                l = decimal.Parse(Console.ReadLine());
                if (l <= 0)
                {
                    Console.WriteLine("输入数据错误,请重新输入:");
                }
            } while (l <= 0);
        }
        public decimal getPerimeter()
        {
            return 4 * l;
        }
        public decimal getArea()
        {
            return l * l;
        }
        public void showResult()
        {
            Console.WriteLine("该正方体的周长:{0}", getPerimeter());
            Console.WriteLine("该正方体的面积:{0}", getArea());
        }
    }
    public class Circle : Ishape, IDisplayresult
    {
        static decimal pi = 3.14M;
        decimal r;
        public void initialize()
        {
            Console.WriteLine("请输入圆形的半径:");
            do
            {
                r = decimal.Parse(Console.ReadLine());
                if (r <= 0)
                {
                    Console.WriteLine("输入数据错误,请重新输入:");
                }
            } while (r <= 0);
        }
        public decimal getPerimeter()
        {
            return 2 * r * pi;
        }
        public decimal getArea()
        {
            return pi * r * r;
        }
        public void showResult()
        {
            Console.WriteLine("该圆形的周长:{0}", getPerimeter());
            Console.WriteLine("该圆形的面积:{0}", getArea());
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int i;
            Square sq = new Square();
            Circle cr = new Circle();
            do
            {
                Console.WriteLine("请选择 1:正方形  2:圆形  3:退出");
                i = int.Parse(Console.ReadLine());
                switch (i)
                {
                    case 1: sq.initialize(); sq.showResult(); break;
                    case 2: cr.initialize(); cr.showResult(); break;
                    case 3: Console.WriteLine("感谢您的使用!!!"); break;
                    default: Console.WriteLine("输入数据错误,请重新输入:"); break;
                }
                Console.Write("\n请按任意键继续...");
                Console.ReadKey();
                Console.Clear();
            } while (i != 3);

        }
    }
}

运行截图: