/* Archivo: sol_raices_ecuacion_grado2.cpp
 * Autor: Nombre y Apellidos
 * Ultima modificacion: 9/9/2003
 * ------------------------------------------------
 * Este programa solicita los coeficientes de una
 * ecuación de segundo grado y calcula sus raíces.
*/


#include <iostream>
using namespace std;


int main(void) {
   double a, b, c, x, y, disc;

   cout << "Introduzca los coeficientes de mayor a menor grado, " <<
   "i.e., a, b y c tales que la ecuacion es ax^2+bx+c=0: " << endl;
   cin >> a >> b >> c;
   disc=pow(b,2)-4*a*c;

   if (a==0 && b==0) {
       cout << "No es una ecuacion." << endl;
   } else if (a==0 && b!=0) {
       x=-c/b;
       cout << "Es una ecuacion de primer grado con raiz " <<
       x << endl;
   } else if (disc>0) {
       disc=sqrt(disc); x=(-b+disc)/(2*a); y=(-b-disc)/(2*a); 
       cout << "Tiene dos raices reales distintas " <<
       x << " y " << y << endl;
   } else if (disc==0) {
       x=-b/(2*a); 
       cout << "Tiene dos raices reales iguales " <<
       x << endl;
   } else {
       x=-b/(2*a); y=abs(sqrt(-disc)/(2*a));
       if (y!=1) {
            cout << "Tiene dos raices complejas " <<
            x << "+" << y << "i y " << x << "-" <<
            y << "i" << endl;
       } else {
            cout << "Tiene dos raices complejas " <<
            x << "+i y " << x << "-i" << endl;
       }
   }

   system("pause");
}



