using System;
class Program
{
static void Main(string[] args)
{
double r1 = GetRadius("внешний радиус (r1)");
double r2 = GetRadius("внутренний радиус (r2)");
// Проверка на корректность радиусов
if (!IsValidRadii(r1, r2))
{
Console.WriteLine("Ошибка: Внешний радиус должен быть больше внутреннего радиуса.");
return;
}
// Вычисление площади кольца
double area = CalculateRingArea(r1, r2);
// Вывод результата
Console.WriteLine($"Площадь кольца с внешним радиусом {r1} и внутренним радиусом {r2} равна: {area:F2}");
}
static double GetRadius(string prompt)
{
double radius;
while (true)
{
Console.Write($"Введите {prompt}: ");
if (double.TryParse(Console.ReadLine(), out radius) && radius > 0)
{
return radius;
}
Console.WriteLine("Ошибка: Пожалуйста, введите положительное число.");
}
}
static bool IsValidRadii(double r1, double r2)
{
return r1 > r2;
}
static double CalculateRingArea(double r1, double r2)
{
// Площадь кольца = Площадь внешнего круга - Площадь внутреннего круга
return Math.PI * (Math.Pow(r1, 2) - Math.Pow(r2, 2));
}
}