using System;

namespace ProgettoParabola
{
    class TestParabola
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Prima parabola");
            Console.Write("Inserire il valore di a: ");
            double p1A = Convert.ToDouble(Console.ReadLine());

            Console.Write("Inserire il valore di b: ");
            double p1B = Convert.ToDouble(Console.ReadLine());

            Console.Write("Inserire il valore di c: ");
            double p1C = Convert.ToDouble(Console.ReadLine());

            Parabola p1 = new Parabola(p1A, p1B, p1C);

            Console.WriteLine(p1.ToString());

            Punto verticeP1 = p1.getVertice();
            Punto fuocoP1 = p1.getFuoco();

            Console.WriteLine("Vertice nel punto: " + verticeP1.ToString());
            Console.WriteLine("Fuoco nel punto: " + fuocoP1.ToString());

            Console.Write("\nInserire l'ascissa di un punto: ");
            double x = Convert.ToDouble(Console.ReadLine());

            double y = p1.OrdinataPunto(x);

            Console.WriteLine("\nPer appartenere alla parabola, il punto P con ascissa " + x + " deve avere ordinata: " + y);

            Punto p;
 
            Console.WriteLine("\nInserire le coordinate di un punto");
            Console.Write("\nAscissa: ");
            double ascissaPunto = Convert.ToDouble(Console.ReadLine());

            Console.Write("\nOrdinta: ");
            double ordinataPunto = Convert.ToDouble(Console.ReadLine());

            p.Ascissa = ascissaPunto;
            p.Ordinata = ordinataPunto;

            if (p1.PassaPer(p))     
            {
        		Console.WriteLine("La parabola p1 passa per il punto "+p.ToString()); 
            }
            else
	        {
                Console.WriteLine("La parabola p1 non passa per il punto "+p.ToString()); 
	        }


            Console.WriteLine("Seconda parabola");
            Console.Write("Inserire il valore di a: ");
            double p2A = Convert.ToDouble(Console.ReadLine());

            Console.Write("Inserire il valore di b: ");
            double p2B = Convert.ToDouble(Console.ReadLine());

            Console.Write("Inserire il valore di c: ");
            double p2C = Convert.ToDouble(Console.ReadLine());

            Parabola p2 = new Parabola (p2A, p2B, p2C);

            Punto verticeP2 = p2.getVertice();
            Punto fuocoP2 = p2.getFuoco();

            Console.WriteLine("Vertice nel punto " + verticeP2.ToString());
            Console.WriteLine("Fuoco nel punto " + fuocoP2.ToString());

            if (p1.UgualeA(p2))
            {
                Console.WriteLine("Le parabole " + p1.ToString() + " e " + p2.ToString() + " sono uguali");
            }
            else
            {
                Console.WriteLine("Le parabole " + p1.ToString() + " e " + p2.ToString() + " non sono uguali");
            }

            Console.ReadLine();
        }
    }
}
