Разработать класс Окружность - C# (182870)
Формулировка задачи:
Разработать класс Окружность
поля:
координаты центра(без ограничений),
радиус(не может быть отрицательным),
имя - только для чтения, статическое -его значение "Окружность"
площадь -только для чтения, получаем путем расчетов
При попытке установки недопустимого значения - генерация исключения
конструкторы
-по координатам и радиусу
-по радиусу
перегрузка метода ToString
Реализовать индексатор - позволяющий осуществить доступ к координатам центра окружности:
индекс 1 - соответствует координате х, индекс 2 - координате y
перегрузить оператор равенства == - две окружности считать равными, если их площади равны
перегрузить оператор *, реализовав масштабирование окружности - увеличение/уменьшение ее радиуса в указанное кол-во раз
реализовать метод, принимающий в качестве параметров произвольное кол-во окружностей и значение радиуса и возвращающий массив сведений об интересующих окружностях - элементом массива является строка "окружность: координаты центра"
Решение задачи: «Разработать класс Окружность»
textual
Листинг программы
class Circle
{
int x;//координаты центра
int y;
int r;//радиус окружности
int s;//площадь окружности
//Конструктор по координатам и радиусу
public Circle(int x, int y, int r)
{
this.x = x;
this.y = y;
this.r = r;
}
//Конструктор по радиусу
public Circle(int r)
{
this.r = r;
x = 0;
y = 0;
}
public double ploshad()
{
double pi = 3.14;
return ((double)r * r * pi);
}
//Индексатор
public int this[int index] {
get {
if (index == 1) return x;
else return y;
}
set
{
if (index == 1) x = value;
else y = value;
}
}
public static bool operator ==(Circle c1,Circle c2)
{
if (c1.ploshad() == c2.ploshad()) return true;
else return false;
}
public static bool operator !=(Circle c1, Circle c2)
{
if (c1.ploshad() != c2.ploshad()) return true;
else return false;
}
public static int operator *(Circle c, int m)
{
c.r = c.r * m ;
return c.r;
}
public static int operator / ( Circle c,int d)
{
c.r = c.r / d;
return c.r;
}
public string toString()
{
return "x = "+x+" y = "+y+" r = "+r;
}
}