Доработать программу с использованием указателей - C#
Формулировка задачи:
Необходимо доработать программу с использованием указателей.
using System;
namespace _1
{
class Program
{
static void Main()
{
Console.ForegroundColor = ConsoleColor.Black;
Console.BackgroundColor = ConsoleColor.Gray;
Console.ForegroundColor = ConsoleColor.Gray;
Console.BackgroundColor = ConsoleColor.Black;
bool programActivity = true; // для цикла
while (programActivity) // пока в цикле, приложение работает
{
Ball ball; // экземпляр класса Ball
bool dataValid = false; // Валидны ли введённые данные
double radius = 0;
while (!dataValid)
{
Console.WriteLine("Введите радиус заданной сферы ('0' для значения по умолчанию):");
string cache = Console.ReadLine();
dataValid = double.TryParse(cache, out radius);
}
if (radius == 0)
ball = new Ball(); // конструктор по умолчанию
else
ball = new Ball(radius); // конструктор с инициализацией
Console.WriteLine("\n\tРадиус: {0}\n\tПлощадь сферы: {1}\n\tОбъём сферы: {2}",
ball.GetRadius(),
ball.GetArea(),
ball.GetVolume());
Console.WriteLine("\nНажмите Enter для продолжения\nвведите любой символ для выхода");
if (Console.ReadLine() != "")
programActivity = false;
}
}
}
class Ball
{
private const double pi = Math.PI; // число pi
private double radius; // радиус
public Ball()
{
radius = 1;
}
public Ball(double _radius)
{
if (_radius != 0.0)
radius = _radius;
else
radius = 1;
}
public double GetArea()
{
return 4 * pi * radius * radius;
}
public double GetVolume()
{
return (4 * pi * Math.Pow(radius, 3)) / 3;
}
public double GetRadius()
{
return radius;
}
}
}Решение задачи: «Доработать программу с использованием указателей»
textual
Листинг программы
delegate double GetRadiusDelegate(double radius);