zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }

    运行结果:

  • 相关阅读:
    守护进程、互斥锁、生产者消费者模型
    实现并发编程的基础理论
    udp协议
    进程与进程池
    tcp协议产生-粘包问题的解决方案
    day21面向对象_类
    day16_面向过程编程与模块导入
    day15_函数递归_匿名函数_内置函数
    三、运算符(阶段二)
    二、(续)基础语法--常量、变量和注释(阶段二)
  • 原文地址:https://www.cnblogs.com/Arisf/p/15543043.html
Copyright © 2011-2022 走看看