[ create a new paste ] login | about

Link: http://codepad.org/kgQYsRhV    [ raw code | output | fork ]

hmurcia - C++, pasted on Aug 16:
// (R) Solución a cuadrática (sin structs, pasando parámetros por valor y referencia)

/* La ejecución del programa debe tener el siguiente aspecto:
   
   Ingresar coeficientes de la ecuación (a, b y c): 1  1  -6

   La ecuación ingresada es f(x) = x^2 + x – 6

   Las raíces de la ecuación son x1 = 2 y x2 = -3

   Además la función main no debe modificarse.
*/

#include <iostream>
using namespace std;

void leer( double &, double &, double & );
void mostrar( double , double , double );
bool resolver( double, double, double, double &, double & );
void mostrar_solucion( double, double );

int main()
{
    double x1, x2, a, b, c;

    leer(a, b, c);
    mostrar(a, b, c);
    if ( resolver(a, b, c, x1, x2) )
        mostrar_solucion(x1, x2);
    else
        cout << "\nLa solucion tiene raices complejas\n";
}

void leer( double &vA, double &vB, double &vC )
{
    cout << "Ingresar coeficientes de la ecuación (a, b y c): ";
    // cin >> vA >> vB >> vC;
    (vA = 1, vB = -2.7, vC = -13);
}

void mostrar( double vA, double vB, double vC )
{
    cout << "La ecuacion ingresada es f(x) = ";
    if ( vA!=0 ) {
        if ( vA!=1 )
            cout << vA;
        cout << "x^2 ";
    }
    if ( vB!=0 ) {
        if ( vB>0 )
            cout << "+ ";
        if ( vB<0 )
            cout << "- ";
        if ( vB!= 1 )
            cout << fabs(vB);
        cout << "x ";
    }
    if ( vC!=0 ) {
        if ( vC>1 )
            cout << "+ ";
        else
            cout << "- ";
        cout << fabs(vC);
    }
    cout << endl;
}

bool resolver( double a, double b, double c, double &x1, double &x2 )
{
    double disc = b*b-4*a*c;
    if ( disc<0 )
        return false;

    x1 = (-b + sqrt(disc))/(2*a);
    x2 = (-b - sqrt(disc))/(2*a);
    return true;
}

void mostrar_solucion( double s1, double s2 )
{
    cout << "\nLas raices de la ecuacion son x1 = " << s1
         << " y x2 = " << s2 << endl;
}


Output:
1
2
3
Ingresar coeficientes de la ecuación (a, b y c): La ecuacion ingresada es f(x) = x^2 - 2.7x - 13

Las raices de la ecuacion son x1 = 5.2 y x2 = -2.5


Create a new paste based on this one


Comments: