Создать класс Rectangle - C# (194927)

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

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

Здравствуйте. как в задаче можно прописать Main? вот условие задачи: Создать класс Rectangle, разработав следующие элементы класса: a. Поля: • int a, b; b. Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон. c. Методы, позволяющие: • вывести длины сторон прямоугольника на экран; • расчитать периметр прямоугольника; • расчитать площадь прямоугольника. d. Свойства: • получить-установить длины сторон прямоугольника (доступное для чтения и записи); • позволяющее установить, является ли данный прямоугольник квадратом (доступное только для чтения). В класс Rectangle добавить: a. Индексатор, позволяющий по индексу 0 обращаться к полю a, по индексу 1 – к полю b, при других значениях индекса выдается сообщение об ошибке. b. Перегрузку: • операции ++ (--): одновременно увеличивает (уменьшает) значение полей a и b; • констант true и false: обращение к экземпляру класса дает значение true, если прямоугольник с заданными длинами сторон является квадратом, иначе false; • операции *: одновременно домножает поля a и b на скаляр; • преобразования типа Rectangle в string (и наоборот). вот код программы:
using System;
using System.Text;
 
namespace pr13
{
   
    class Rectangle
    {
        //поля
        private int a, b;
 
        //конструктор
        public Rectangle(int a, int b)
        {
            this.a = a;
            this.b = b;
        }
 
        //Метод для вывода длин сторон прямоугольника на экран
        public void WriteAB()
        {
            Console.WriteLine("Длина a={0}", a);
            Console.WriteLine("Длина b={0}", b);
        }
 
        //Метод возвращает периметр прямоугольника
        public int Perimeter()
        {
            return 2 * a + 2 * b;
        }
 
        //Метод возвращает площадь прямоугольника
        public int Area()
        {
            return a*b;
        }
 
        //Свойства для чтения и записи поля a
        public int A
        {
            get { return a; }
            set { a = value; }
        }
 
        //Свойства для чтения и записи поля b
        public int B
        {
            get { return b; }
            set { b = value; }
        }
 
        //Свойство для чтения - является ли данный прямоугольник квадратом 
        public bool IsSquare
        {
            get { return a==b; }
        }
 
        //Индексатор
        public int this[int index]
        {
            get
            {
                if (index==0)
                    return a;
                if (index == 1)
                    return b;
 
                Console.WriteLine("Неверный индекс {0}", index);
                return -1;
            }
 
            set
            {
                if (index == 0)
                    a = value;
                if (index == 1)
                    b = value;
                if (index!=0 && index!=1)
                    Console.WriteLine("Неверный индекс {0}", index);
            }
        }
 
        //Перегрузка оператора ++
        public static Rectangle operator ++(Rectangle r)
        {
            r.A++;
            r.B++;
            return r;
        }
 
        //Перегрузка оператора --
        public static Rectangle operator --(Rectangle r)
        {
            r.A--;
            r.B--;
            return r;
        }
 
        //Перегрузка оператора false
        public static bool operator false(Rectangle r)
        {
            if (!r.IsSquare)
                return false;
            return true;
        }
 
        //Перегрузка оператора true
        public static bool operator true(Rectangle r)
        {
            if (r.IsSquare)
                return true;
            return false;
        }
        //Перегрузка оператора умножения на скаляр (справа)
        public static Rectangle operator *(Rectangle r, int v)
        {
            r.A *= v;
            r.B *= v;
            return r;
        }
 
        //Перегрузка оператора умножения на скаляр (слева)
        public static Rectangle operator *(int v,Rectangle r)
        {
            r.A *= v;
            r.B *= v;
            return r;
        }
 
        //Перегрузка преобразования Rectange в string
        public static implicit operator string(Rectangle r)
        {
            //результирующая строка состоит из значений a и b через пробел
            return r.A.ToString() + " " + r.B.ToString();
        }
 
        //Перегрузка преобразования string в Rectange
        public static implicit operator Rectangle(string s)
        {
            //выделяем числа из строки (они в строке даны через пробел)
            string[] w = s.Split(' ');
            //возвращаем новый Rectangle
            return new Rectangle(Convert.ToInt32(w[0]), Convert.ToInt32(w[1]));
        }
    }
}

Решение задачи: «Создать класс Rectangle»

textual
Листинг программы
class Program
    {
        static void Main(string[] args)
        { 
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());
            Rectangle rect = new Rectangle(x, y);//создадим новый прямоугольник
            Console.WriteLine(rect.Area());//выведем его площадь
        }
    }

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


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

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

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