Описать класс, представляющий круг - C#
Формулировка задачи:
Помогите пожалуйста с написанием программы на С#
Описать класс, представляющий круг. Предусмотреть методы для создания объектов, вычисления площади круга, длины окружности и проверки попадания заданной точки внутрь круга. Описать свойства для получения состояния объекта. Написать программу, демонстрирующую все разработанные элементы класса.
Решение задачи: «Описать класс, представляющий круг»
textual
Листинг программы
public class Circle
{
public double Radius { get; set; }
public Point Center { get; set; }
public Circle(double radius, Point center)
{
Radius = radius;
Center = center;
}
public double CircleArea
{
get { return Math.PI * Radius * Radius; }
}
public double Circumference
{
get { return Math.PI * 2 * Radius; }
}
public bool IsInside(Point point)
{
Point vector = new Point(point.X - Center.X, point.Y - Center.Y);
double distance = vector.X * vector.X + vector.Y * vector.Y;
return distance <= Radius * Radius;
}
public override string ToString()
{
return String.Format("Radius: {0}; Center: {1};", Radius, Center);
}
}
public class Point
{
public Point(double x, double y)
{
X = x;
Y = y;
}
public double X { get; private set; }
public double Y { get; private set; }
public override string ToString()
{
return string.Format("({0}, {1})", X, Y);
}
}
static void Main()
{
Circle circle = new Circle(1, new Point(0, 0));
Console.WriteLine("Проверка на принадлежность точки {0}", circle.IsInside(new Point(0.1, 0.1)));
Console.WriteLine("Площадь = {0}", circle.CircleArea);
Console.WriteLine("Длина окружности = {0}", circle.Circumference);
Console.ReadKey();
}