[C con Clase] ayuda

Steven Richard Davidson stevenrichard.davidson en gmail.com
Mie Sep 19 01:58:30 CEST 2007


Hola Luchito,

On 9/18/07, luchito tu amigo <amigo_love_amor en hotmail.com> wrote:
>
> hola a todo
>
> Ya hicecon todas las correciones pero aun no me compila quiesiera saber en
> estoy mal
>

Veamos el código fuente.

> #include<iostream>
> #include<cmath>
> using namespace std;
> int main()
> {
>     double a, b, c, x1, x2, aux;
>     cout<<"ingrese a";     cin>>a;
>     cout<<"ingrese b";     cin>>b;
>     cout<<"ingrese c";     cin>>c;
>
>     if(a=0)

Esto no es correcto. El operador = es de asignación, mientras que ==
sirve para comparación. Reescribe la expresión de esta manera:

if( 0 == a )

>     {
>       dis=b*b-4*a*c;
>             if(dis>=0)
>             {
>                    if(dis==0)
>                    {
>                    cin>>x

Te falta un punto y coma al final.

>                    x1=x2=-b/(2a);

Como indicó Salvador, debes usar el operador * para multiplicar. Esto sería,

x1 = x2 = -b/(2*a);

>                    cout<<x1<<x2<<endl;
>                    }
>                    else
>                    {
>                    cout<<"escribir x1, x2 :";
>                    cin>>x1;
>                    cin>>x2;
>                    aux=sqrt(b*b-4*a*c);
>                    x1=(-b+aux)/(2a);
>                    x2=(-b-aux)/(2a);

Aquí ocurre lo mismo: usa el operador de multiplicación.

>                    cout<<x1<<","<<x2<<endl;
>                    }
>             }
>             else
>             {
>                 cout<<"raiz compleja";
>             }
>     }
>     else
>     {
>         cout<<"no es una ecuacion de segundo grado";
>     }
>  cin.get();
>  return 0;
> }
>

Espero que esto te ayude.

Steven




Más información sobre la lista de distribución Cconclase