Dados los valores A, B y C que son los parámetros de una ecuación de segundo grado, elaborar un algoritmo para hallar las posibles soluciones de dicha ecuación.

#include <iostream>
// se incluye la clase Ecuacion para despues llamar a sus metodos
#include "Ecuacion.h"
using namespace std;
int main(void)
{
float v1,v2,v3;
// se crea un objeto de la clase Ecuacion (Instanciaciación)
Ecuacion *obj = new Ecuacion();
cout << "====ECUACION DE SEGUNDO GRADO===" << endl << endl;
// se pide el valor de A
cout << "Digite el valor de A" << endl;
cout << ">> ";
cin >> v1;
// se encapsula la variable v1
obj->setA(v1);
cout << endl;
// se pide el valor de B
cout << "Digite el valor de B" << endl;
cout << ">> ";
cin >> v2;
// se encapsula la variable v2
obj->setB(v2);
cout << endl;
// se pide el valor de C
cout << "Digite el valor de C" << endl;
cout << ">> ";
cin >> v3;
// se encapsula la variable v3
obj->setC(v3);
cout << endl;
// se muestran las soluciones
cout<< "Solucion 1: " << obj->resultadoUno() << endl;
cout<< "Solucion 2: " << obj->resultadoDos() << endl;
}
#ifndef ECUACION_H
#define ECUACION_H
class Ecuacion
{
public:
Ecuacion();
virtual ~Ecuacion();
// se declaran los metodos publicos
void setA(float val);
float getA();
void setB(float val);
float getB();
void setC(float val);
float getC();
float resultadoUno();
float resultadoDos();
protected:
private:
// se declaran los atributos privados
float a;
float b;
float c;
};
#endif // ECUACION_H
#include "Ecuacion.h"
#include "math.h"
Ecuacion::Ecuacion()
{
// al inicializar el constructor se definiran los valores iniciales de los atributos
a = 0;
b = 0;
c = 0;
}
Ecuacion::~Ecuacion()
{
//dtor
}
// metodos Setters y Getters de los atributos de la clase
void Ecuacion::setA(float val)
{
a = val;
}
float Ecuacion::getA()
{
return a;
}
void Ecuacion::setB(float val)
{
b = val;
}
float Ecuacion::getB()
{
return b;
}
void Ecuacion::setC(float val)
{
c = val;
}
float Ecuacion::getC()
{
return c;
}
// solucion 1
float Ecuacion::resultadoUno()
{
float res=0;
res = (-getB() + (sqrt(pow(getB(),2)-(4 *getA()*getC()) ))) / (2*getA());
return res;
}
// solucion 2
float Ecuacion::resultadoDos()
{
float res=0;
res = (-getB() - (sqrt(pow(getB(),2)-(4 * getA() * getC())))) / (2*getA());
return res;
}
// se importa paquete JOptionPane para dibujar un cuadro de dialogo en pantalla
// que muestre información o para llenar información
import javax.swing.JOptionPane;
public class Main
{
public static void main(String[] args)
{
// se crea un objeto de la clase Convertir (Instanciaciación)
Ecuacion obj = new Ecuacion();
// declaramos las variables que guardan los valores a, b, c
float a,b,c;
// se pide el valor de A
a = Float.parseFloat(JOptionPane.showInputDialog("Digite valor de A"));
// se encapsula la variable a
obj.setA(a);
while(obj.getA() == 0)
{
a = Float.parseFloat(JOptionPane.showInputDialog("Digite valor de A"));
obj.setA(a);
}
// se pide el valor de B
b = Float.parseFloat(JOptionPane.showInputDialog("digite valor de B"));
// se encapsula la variable b
obj.setB(b);
// se pide el valor de C
c = Float.parseFloat(JOptionPane.showInputDialog("Digite valor de C"));
// se encapsula la variable c
obj.setC(c);
// se muestran las soluciones
JOptionPane.showMessageDialog(null,"Resultado 1: " + obj.resultadoUno() + "\n" + "Resultado 2: " + obj.resultadoDos());
}
}
public class Ecuacion
{
// se declaran los atributos privados
private float a;
private float b;
private float c;
public Ecuacion()
{
// al inicializar el constructor se definiran los valores iniciales de los atributos
a = 0;
b = 0;
c = 0;
}
// metodos Setters y Getters de los atributos de la clase
public void setA(float val)
{
a = val;
}
public float getA()
{
return a;
}
public void setB(float val)
{
b = val;
}
public float getB()
{
return b;
}
public void setC(float val)
{
c = val;
}
public float getC()
{
return c;
}
// solución 1
public double resultadoUno()
{
// declaramos la variable que devuelve el resultado
double solu;
// ecuacion de segundo grado
solu= (-b + (Math.sqrt((b*b)-(4*a*c)))) / (2*a);
// retorna el resultado
return solu;
}
// solución 2
public double resultadoDos()
{
// declaramos la variable que devuelve el resultado
double sol;
// ecuacion de segundo grado
sol= (-b - (Math.sqrt((b*b)-(4*a*c))) ) / (2*a);
// retorna el resultado
return sol;
}
}