Определить в какой четверти круг находится точка - 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;
}
}
}