Создать класc Angle для роботы с углами на плоскости - C#

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

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

Создать класc Angle для роботы с углами на плоскости, задаваемими величиной в градусах и минутах. Обязательно должны быть реалезованы: перевод в радианы , приведение к диапазону 0-360, увеличение и уменшение угла на заданную величину, получение синуса , сравнение углов. ребята помогите пожалуйста, очень - очень надо***((

Решение задачи: «Создать класc Angle для роботы с углами на плоскости»

textual
Листинг программы
using System;
 
class Angle
{
    private int minutes; // Чтобы не заморачиватся с дробными числами, угол храню в минутах.
 
    public Angle(int minutes) // Конструктор, принимающий значение в минутах.
    {
        this.minutes = minutes;
    }
 
    // Метод возвращает число в градусах.
    public double GetDegrees()
    {
        double degrees = minutes / 60.0 % 360; // Приводим к диапозону от -360 до 360.
        return degrees < 0 ? 360.0 + degrees : degrees; // Приводим градусы к диапазону 0-360.
    }
 
    // Метод возвращает число в радианах.
    public double GetRadians()
    {
        return GetDegrees() * Math.PI / 180.0; // Приводим градусы в радианы.
    }
 
    // Метод получения синуса угла.
    public double GetSinus()
    {
        return Math.Sin(GetRadians());
    }
 
    // Даем возможность суммировать углы. (К примеру a = b + c, где a, b, c - переменные типа Angle)
    public static Angle operator +(Angle left, Angle right)
    {
        return new Angle(left.minutes + right.minutes);
    }
 
    // Даем возможность вычитать углы. (К примеру: a = b - c, где a, b, c - переменные типа Angle)
    public static Angle operator -(Angle left, Angle right)
    {
        return new Angle(left.minutes - right.minutes);
    }
 
    // Следующие операторы дают возможность сравнить углы. (К примеру: a > b, где a, b - переменные типа Angle)
    public static bool operator >(Angle left, Angle right)
    {
        return left.minutes > right.minutes;
    }
    public static bool operator <(Angle left, Angle right)
    {
        return left.minutes < right.minutes;
    }
}

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


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

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

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