Создать иерархию геометрических фигур - C#

Узнай цену своей работы

Формулировка задачи:

Задача - напишите иерархию геометрических фигур - сложите несколько разных фигур в массив - Подсчитайте и выведите на консоль, сколько в массиве кругов, квадратов, ромбов, треугольников и пр. - Для каждой фигуры выведите на консоль количество углов этой фигуры

Решение задачи: «Создать иерархию геометрических фигур»

textual
Листинг программы
using System;
 
namespace Space
{
    using Type = Types.FigureType;
    struct Types
    {
        public enum FigureType { Circle, Square, Rhombus, Triangle }
    }
 
    class Figure
    {
        public Type Type { get; protected set; }
        public int Corners { get; protected set; }
    }
    class Circle : Figure
    {
        public Circle()
        {
            Corners = 0;
            Type = Type.Circle;
        }
    }
    class Square : Figure
    {
        public Square()
        {
            Corners = 4;
            Type = Type.Square;
        }
    }
    class Rhombus : Figure
    {
        public Rhombus()
        {
            Corners = 4;
            Type = Type.Rhombus;
        }
    }
    class Triangle : Figure
    {
        public Triangle()
        {
            Corners = 3;
            Type = Type.Triangle;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Figure[] figures = new Figure[4];
            figures[0] = new Circle();
            figures[1] = new Square();
            figures[2] = new Rhombus();
            figures[3] = new Triangle();
 
            int c = 0, s = 0, r = 0, t = 0;
            foreach (Figure f in figures)
            {
                switch (f.Type)
                {
                    case Type.Circle: c++; break;
                    case Type.Rhombus: r++; break;
                    case Type.Square: s++; break;
                    case Type.Triangle: t++; break;
                }
            }
 
            Console.WriteLine("Circles: " + c + "\tCorners: " + new Circle().Corners);
            Console.WriteLine("Squares: " + s + "\tCorners: " + new Square().Corners);
            Console.WriteLine("Rhombuses: " + r + "\tCorners: " + new Rhombus().Corners);
            Console.WriteLine("Triangles: " + t + "\tCorners: " + new Triangle().Corners);
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы