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

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

(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 Lab06_2
{
    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);
            
        }
    }
}

运行结果:

posted @ 2021-12-14 11:01  睡觉不困  阅读(1201)  评论(0编辑  收藏  举报