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


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

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

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

    接口。

    using System;
    
    namespace sy2_2
    {
        class Program
        {
            public interface IShape 
            {
                void initialize();//初始化
                decimal getPerimeter();//获取周长
                decimal getArea();//获取面积
            }
            public interface IDisplayresult 
            {
                void show();//显示计算结果
            }
            
            public class Square : IShape, IDisplayresult//正方形
            {
                public decimal Slength;//边长
                public decimal getArea()//面积
                {
                    return Slength * Slength;
                }
    
                public decimal getPerimeter()//周长
                {
                    return Slength * 4;
                }
    
                public void initialize()//初始化
                {
                    Console.WriteLine("请输入正方形边长");
                    do
                    {
                        Slength = decimal.Parse(Console.ReadLine());
                        if (Slength <= 0)
                        {
                            Console.WriteLine("边长不符合实际,请重新输入...");
                        }
                    } while (Slength <= 0);
                }
    
                public void show()//输出结果
                {
                    Console.WriteLine("正方形周长为{0},面积为{1}",getPerimeter(),getArea());
                }
            }
    
            public class Circle : IShape, IDisplayresult
            {
                const decimal PI = 3.14M;//定义pi值
                decimal Cradius;//半径
                
                public decimal getArea()//面积
                {
                    return PI * Cradius * Cradius;
                }
    
                public decimal getPerimeter()//周长
                {
                    return 2 * PI * Cradius;
                }
    
                public void initialize()//初始化
                {
                    Console.WriteLine("请输入圆半径");
                    do
                    {
                        Cradius = decimal.Parse(Console.ReadLine());
                        if (Cradius <= 0)
                        {
                            Console.WriteLine("半径不符合实际,请重新输入...");
                        }
                    } while (Cradius <= 0);
                }
    
                public void show()//输出结果
                {
                    Console.WriteLine("圆的周长为{0},面积为{1}", getPerimeter(), getArea());
                }
            }
    
            static void Main(string[] args)
            {
                Square square = new Square();
                Circle circle = new Circle();
                square.initialize();
                square.show();
                circle.initialize();
                circle.show();
            }
        }
    }

    运行结果:

  • 相关阅读:
    网络流24题题解
    NOIP2018游记
    AGC016题解
    雅礼集训总结
    数学相关【真·NOIP】
    NOIP2018系列
    洛咕P4180 严格次小生成树
    矩阵乘法学习笔记
    一些比较神奇的思路
    点分治复习记
  • 原文地址:https://www.cnblogs.com/Arisf/p/15543043.html
Copyright © 2020-2023  润新知