Определить в какой четверти круг находится точка - C#

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

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

Не получается вывести четверть, в которой находится точка, если не сложно помогите.
////12. Описать два класса, представляющие точку и круг. Предусмотреть методы для
////создания объектов и проверки попадания точки внутрь круга. Описать свойство (только 
////для чтения) для получения состояния точки. При невозможности построения круга 
////генерируется исключение. Определить в какой четверти находится точка.
using System;
using System.Collections.Generic;
using System.Text;
 
class Krug
{
    double x, y, r;
    public Krug() // конструктор без параметров
    {
        Console.WriteLine("Введите координату x центра окружности = ");
        x = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Введите координату y центра окружности = ");
        y = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Введите радиус = ");
        r = Convert.ToInt32(Console.ReadLine());
    }
 
    public Krug(double x, double y, double r) //конструктор с параметрами
    {
        this.x = x;
        this.y = y;
        if (r < 0) except();
        this.r = r;
 
    }
 
    public bool Proverka(Tochka tchk) //проверка
    {
        if (Math.Pow((x - tchk.X), 2) + Math.Pow((y - tchk.Y), 2) <= Math.Pow(r, 2))
        {
            Console.WriteLine("Точка находится в окружности");
            return true;
        }
        else
        {
            return false;
        }
    }
    public int Kvadrant(Tochka tchk) // определение четверти
    {
 
        if ((tchk.X > 0) && (tchk.Y > 0)) return 1;
        if ((tchk.X > 0) && (tchk.Y < 0)) return 2;
        if ((tchk.X < 0) && (tchk.Y > 0)) return 3;
        if ((tchk.X < 0) && (tchk.Y < 0)) return 4;
        else
            return -1;
    }
 
    public void except() // генерирование исключения
    {
        throw new Exception("Недопустимые значения полей!");
    }
 
}
class Tochka
{
    int x1, y1;
    public Tochka()
    {
        Console.WriteLine("Введите координату x точки ");
        x1 = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Введите координату y точки ");
        y1 = Convert.ToInt32(Console.ReadLine());
    }
    public Tochka(int x1, int y1)
    {
        this.x1 = x1;
        this.y1 = y1;
    }
 
    public int X // свойство
    {
        get { return x1; }
    }
 
    public int Y // свойство
    {
        get { return y1; }
    }
 
    public void except() // генерирование исключения
    {
        throw new Exception("Недопустимые значения полей!");
    }
}

class Program
{
    static void Main()
    {
        try // создаём 2 объекта
        {
            Krug t1 = new Krug(); //создание объекта t1
            Tochka t2 = new Tochka();
            t1.Proverka(t2);
            t1.Kvadrant(t2);
        }

        catch (Exception ex) // если попытка не удалась
        {
            Console.WriteLine(ex.Message);
            return;
        }
        finally // выполняется в любом случае
        {
            Console.WriteLine("Спасибо за использование нашего ПО!");
            Console.ReadLine();
        }
    }
}

Решение задачи: «Определить в какой четверти круг находится точка»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Text;
 
namespace l5
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Point p = new Point();// объект класса точка
                Krug k = new Krug();// объект класса круг
 
                Console.WriteLine("Введите координату x оси круга ");
                k.X = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Введите координату y оси круга ");
                k.Y = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Введите радиус круга ");
                k.R = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Введите координату x точки ");
                p.X1 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Введите координату y точки");
                p.Y1 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Точка входит в круг: {0}", k.Proverka(p)); 
                Console.WriteLine("Точка находится в квадранте № {0} ", + k.Kvadrant(p));
 
 
               
            }
            catch (Exception ex) // если попытка не удалась
            {
                Console.WriteLine(ex.Message);
                return;
            }
            finally // выполняется в любом случае
            {
                Console.WriteLine();
                Console.WriteLine("Спасибо за использование нашего ПО!");
                Console.ReadLine();
            }
            
            Console.ReadKey();
 
        }
    }
    class Point // класс точка
    {
        int x1, y1;
 
        public Point()// Пустой конструктор
        {
            x1 = 0;
            y1 = 0;
        }
        public Point (int x1, int y1)// Конструктор с параметрами
        {
            this.x1=x1;
            this.y1=y1;
          
        }
        public int X1 // свойство 
        {
            set { x1 = value; }
            get { return x1; }
        }
        public int Y1 // свойство
        {
            set { y1 = value;}
            get { return y1; }
        }
 
       
        
    }
    class Krug // класс круг
    {
        int x, y, r;
        public Krug() // Пустой конструктор
        {
            x = 0; y = 0; r = 0;
        }
        public Krug(int x, int y, int r) // Конструктор с параметрами
        {
            this.x  = x;
            this.y = y;
            if (r <= 0) except();
            this.r = r;
        }
        public void except()
        {
            throw new Exception("Недопустимое значение радиуса!!!");
        }
        public int X
        {
            set { x = value; }
            get { return x; }
        }
        public int Y
        {
            set { y = value; }
            get { return y; }
        }
        public int R
        {
            set { r = value; }
            get { return r; }
        }
 
        public bool Proverka(Point tchk) //проверка
        {
            if (Math.Pow((x - tchk.X1), 2) + Math.Pow((y - tchk.Y1), 2) <= Math.Pow(r, 2))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
 
        public int Kvadrant(Point t)// определение квадранта 
        {
            if ((t.X1 > 0) && (t.Y1> 0))
                return 1;
            if ((t.X1 < 0) && (t.Y1 > 0))
                return 2;
            if ((t.X1 < 0) && (t.Y1 < 0))
                return 3;
            if ((t.X1 > 0) && (t.Y1 < 0))
                return 4;
            else return 0;
        }
     }
 
    
}

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


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

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

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