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

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

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

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

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

textual
Листинг программы
  1. using System;
  2.  
  3. namespace Space
  4. {
  5.     using Type = Types.FigureType;
  6.     struct Types
  7.     {
  8.         public enum FigureType { Circle, Square, Rhombus, Triangle }
  9.     }
  10.  
  11.     class Figure
  12.     {
  13.         public Type Type { get; protected set; }
  14.         public int Corners { get; protected set; }
  15.     }
  16.     class Circle : Figure
  17.     {
  18.         public Circle()
  19.         {
  20.             Corners = 0;
  21.             Type = Type.Circle;
  22.         }
  23.     }
  24.     class Square : Figure
  25.     {
  26.         public Square()
  27.         {
  28.             Corners = 4;
  29.             Type = Type.Square;
  30.         }
  31.     }
  32.     class Rhombus : Figure
  33.     {
  34.         public Rhombus()
  35.         {
  36.             Corners = 4;
  37.             Type = Type.Rhombus;
  38.         }
  39.     }
  40.     class Triangle : Figure
  41.     {
  42.         public Triangle()
  43.         {
  44.             Corners = 3;
  45.             Type = Type.Triangle;
  46.         }
  47.     }
  48.  
  49.     class Program
  50.     {
  51.         static void Main(string[] args)
  52.         {
  53.             Figure[] figures = new Figure[4];
  54.             figures[0] = new Circle();
  55.             figures[1] = new Square();
  56.             figures[2] = new Rhombus();
  57.             figures[3] = new Triangle();
  58.  
  59.             int c = 0, s = 0, r = 0, t = 0;
  60.             foreach (Figure f in figures)
  61.             {
  62.                 switch (f.Type)
  63.                 {
  64.                     case Type.Circle: c++; break;
  65.                     case Type.Rhombus: r++; break;
  66.                     case Type.Square: s++; break;
  67.                     case Type.Triangle: t++; break;
  68.                 }
  69.             }
  70.  
  71.             Console.WriteLine("Circles: " + c + "\tCorners: " + new Circle().Corners);
  72.             Console.WriteLine("Squares: " + s + "\tCorners: " + new Square().Corners);
  73.             Console.WriteLine("Rhombuses: " + r + "\tCorners: " + new Rhombus().Corners);
  74.             Console.WriteLine("Triangles: " + t + "\tCorners: " + new Triangle().Corners);
  75.             Console.ReadLine();
  76.         }
  77.     }
  78. }

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


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

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

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы