Advertisement
AntonioVillanueva

Ecuacion segundo grado POO C++

Jul 10th, 2019
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 KB | None | 0 0
  1. /* Antonio Villanueva Segura
  2.  * Calculo Ecuacion 2° grado estilo POO c++
  3.  *Para test puedes emplear ....
  4.  *http://es.onlinemschool.com/math/assistance/equation/quadratic/
  5. */
  6. #include <iostream>
  7. #include <cmath>
  8. using namespace std;
  9.  
  10. class Ecuacion{
  11.     public:
  12.     Ecuacion(double a=3,double b=60,double c=1);//Constructor con parametros por defecto
  13.     void run();//Calculo ecuacion 2° grado
  14.    
  15.     private:
  16.     double a,b,c;
  17.     double det(double a,double b, double c);//Calculo determinante
  18. };
  19. /**********************************************************************/
  20. Ecuacion::Ecuacion(double a,double b,double c) :a(a),b(b),c(c){}
  21. /**********************************************************************/
  22. double Ecuacion::det(double a,double b, double c){return (b*b)-(4*a*c);}
  23. /**********************************************************************/
  24. void Ecuacion::run (){//Calculo ecuacion 2° grado
  25.     double d=det(a,b,c);//Calcula determinante
  26.    
  27.     if (d<0){//Solucion Imaginaria i
  28.         cout<<-b/(2*a)<<" + "<<sqrtf(abs(d))/(2*a)<<" i" <<endl;
  29.         cout<<-b/(2*a)<<" - "<<sqrtf(abs(d))/(2*a)<<" i "<<endl;       
  30.     }
  31.     else{//Solucion Real
  32.         cout<< ((-b)+ sqrtf(d) ) / (2*a) <<endl;
  33.         cout<< ((-b)-sqrtf(d)) /(2*a) <<endl;  
  34.     }
  35. }
  36. /**********************************************************************/
  37. /**********************************************************************/
  38. int main (){   
  39.    
  40.     Ecuacion ecuacion;
  41.     ecuacion.run();//Emplea parametro por defeto a=3 b=60 c=1
  42.    
  43.     //Calculo raices imaginarias a=1 , b=-2, c=5
  44.     Ecuacion ecuacion2(1,-2,5);
  45.     ecuacion2.run();
  46.    
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement