Programación General > C/C++

 Re: operaciones para encontrar el valor de una variable

<< < (2/2)

Super_G:
al parecer ese error es por:

scanf("%e,%e,%e,%e",&a,&b,&c);

y deberia ser:

scanf("%e","%e","%e","%e",&a,&b,&c);

asi no da error.

jubilubi:
Este es el codigo de mi programa:

void ecuaciones_cuadraticas()
{
   //declaracion de variables
   char letra;
   int salir;
   int signo_b=1; //signo de b
   long double a,b,c; //datos de la ecuacion: axý-bx+c=0          alt+253=ý
   long double raiz_neg=0; //bandera (si el resultado de la raiz es negativo)
   long double res_raiz; //resultado de la raiz
   long double x1,x2,x3,x4; //incognitas a encontrar
   long double raiz_cuad; //bý-4ac

   printf("Resolucion de ecuaciones cuadraticas de la forma axý + bx + c = 0");
   printf("nintroduzca el valor de a: ");
   scanf("%e",&a);
   printf("nintroduzca el valor de b: ");
   scanf("%e",&b);
   printf("nintroduzca el valor de c: ");
   scanf("%e",&c);
   if (b<0) //si b<0...
   {
      signo_b=-1; //...entonces en el signo de b es negativo
   }
   raiz_cuad=(b*b)-(4*(a*c));
   if (raiz_cuad<0) //si el resultado de bý-4ac es < 0...
   {
      raiz_cuad=abs(raiz_cuad); //valor absoluto de (b*b)-4ac
      signo_b=1; //...entonces bandera = 1 "bý-4ac es negativo"
   }
   res_raiz=sqrt(raiz_cuad);
   x1=((-b)+res_raiz)/(2*a);
   x2=((-b)-res_raiz)/(2*a);
   x3=signo_b*(-1*((abs(b)+(res_raiz))/(2*a)));
   x4=c/(a*x3);
   printf("nx1 = %e",x1);
   printf("nx2 = %e",x2);
   printf("nx3 = %e",x3);
   printf("nx4 = %e",x4);
   if (raiz_neg==1) //si bandera = 1
   {
      printf("nNOTA: el resultado de la raiz es negativo");
   }
}

Super_G:
al moento de leer a,b o c no hace una buena lectura?, pero depues trabaja bien

jubilubi:
No. Lee bien las variables. El problema es al realizar las operaciones para x1, x2, x3 y x4. Solamente realiza la operacion para x1 y se sale del programa.

Super_G:
Estoy trabajando en Borlandc++ 3.11
al ingrsar valores sencillos como a=1, b=4,c=4; para verificar primero si funciona bien con valores pequeños note que arrojaba valores muy extraños(pero corria todo), despues hice correr paso paso y sucedia que no lee bien a,b y c, no se por que sucede esto pero siempre hace bien el programa osea lo corre y no se salta ni se sale hasta terminar,dime que valores asignas a : a=?,b=? y c=?

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa