Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Tengo un problema con if-else en c++ ayudaa!

Estas en el tema de Tengo un problema con if-else en c++ ayudaa! en el foro de C/C++ en Foros del Web. Hice el código de la fórmula general de ecuaciones cuadráticas pero al imprimir la sentencia if cuando es cierto, se imprime también el resultado es ...
  #1 (permalink)  
Antiguo 19/04/2012, 17:28
Avatar de lc2_666  
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Tengo un problema con if-else en c++ ayudaa!

Hice el código de la fórmula general de ecuaciones cuadráticas pero al imprimir la sentencia if cuando es cierto, se imprime también el resultado es una raíz imaginaria pero no se por qué?. El código es el siguiente:

/*formula general*/
#include<stdio.h>
#include<math.h>
main()
{
float a,b,c,x1,x2,f;
printf("valor de a=\n");
scanf("%f",&a);
printf("valor de b=\n");
scanf("%f",&b);
printf("valor de c=\n");
scanf("%f",&c);
f=sqrt((b*b-(4*a*c))/2*a);
if (f>= 0)
{
x1=-b+f;
x2=-b-f;
printf("\n Las raices son=\n x1=%f",x1);
printf("\n x2=%f\n",x2);
}
else
x1=-b+f;
x2=-b-f;
printf("\nEl resultado son raices imaginarias",x1,x2);
getchar();
getchar();
}
  #2 (permalink)  
Antiguo 19/04/2012, 18:11
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Tengo un problema con if-else en c++ ayudaa!

Hola! uno de los problemas es que sqrt no acepta numeros negativos(mira el man). Si:
b*b-(4*a*c))/2*a es menor a cero, se va a producir un error. Si te imprime los dos printf es porque te faltan las llaves de else:
Código C:
Ver original
  1. else { // llave q abre
  2. x1=-b+f;
  3. x2=-b-f;
  4. printf("\nEl resultado son raices imaginarias",x1,x2);
  5. } // llave q cierra

Otra cosa la formula es: (-b+-(raiz de)b^-(4*a*c))/2*a... 2*a divide a todo no a la raiz

Saludos
  #3 (permalink)  
Antiguo 19/04/2012, 18:18
Avatar de lc2_666  
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Tengo un problema con if-else en c++ ayudaa!

Gracias, si esta mal estructurada la fórmula en el código.

Etiquetas: c++
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:37.