Título: ¿a que se debe este error en el codigo? Publicado por: spiderboot en 5 Febrero 2014, 19:58 pm no entiendo porque me marca error en esa linea, soy princiante, aca el codigo, gracias de antemano por su ayuda, la marca en rojo es donde me marca error
y esto son los mensajes que me saca: in function "int main ()": expected "before if" expected primary -expresion before else expected before - else expected before system /* Descripción: Solución de ecuaciones de segundo grado utilizando*/ /*Bibliotecas */ #include <cstdlib> #include <iostream> #include <math.h> /* biblioteca con funciones matematicas, pow y sqrt*/ main ( ) { double a, b, c, x1, x2, det; /*declaracion de variables de punto flotante doble precision, decimales */ printf("El siguiente programa calcula las raices de un polinomio de segundo grado\n"); printf("\n\t\t ax^2 + bx + c = 0"); /* n= salto de linea, t=tabulado, */ /*datos de entrada */ printf ("\nIntroduzca los coeficientes de a,b y c:"); scanf("%1f, %1f, %1f", &a, &b, &c); /*1f= insertar un valor de tipo double, o sea decimales */ /*la variable det toma el resultado de la raiz cuadrada de la variable b menos */ /* la multiplicacion de 4 por las variables a y c, este resultado sirve para*/ /* comprobar que se cumpla la condicion que sigue*/ det = pow (b,2)-4*a*c if (det > = 0) { x1=(-b + sqrt(det))/2*a; /*se calculan los valores para x1*/ x2=(-b - sqrt (det))/2*a; printf ("\n La raices son: %.2lf, %.2lf",x1, x2);/* ¿porque 21f, que significa el2?*/ } else printf("\n No existe raices reales."); printf ("\n") system("PAUSE"); return EXIT_SUCCESS; } Título: Re: ¿a que se debe este error en el codigo? Publicado por: leosansan en 5 Febrero 2014, 20:50 pm Te falta la librería <cstdio> para el uso de printf, así como puntos y coma en:
Citar det = pow (b,2)-4*a*c; .................................... else printf("\n No existe raices reales."); printf ("\n"); ....................................... Puedes ahorrarte el uso de pow con: Código
Y para cuando postees el código elige las etiquetas GeSHi y toma la C++ y en medio de las etiquetas Code que aparecen "pegas" tu código. Al no hacerlo de esta manera parte del código no sale correcta, especialmente las matrices. ¡¡¡¡ Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif) P.D: * La función main es de tipo int: Código
*Y scanf es:[/size] Código
sin comas en medio. Lo del Número en los printf es para sacar una determinada cantidad de decimales. Mejor es: Código
Título: Re: ¿a que se debe este error en el codigo? Publicado por: Yoel Alejandro en 6 Febrero 2014, 00:22 am Si revisas atentamente el mensaje dado por el compilador verás que dice algo "before if", o sea antes del "if". Y yo creo que a la línea:
Código: det = pow (b,2)-4*a*c Por otra parte, recuerda que como dijeron antes el tipo por defecto de main en int. No es apropiado declarar main() sin tipo de retorno, debes poner int main(). Y finalmente, no uses system("PAUSE"), de hecho, procura nunca usar system. Rrecuerda que la orden system invoca una llamada al sistema operativo, y como el SO puede cambiar de una máquina a otra, tu programa no será portable. Prefiere siempre el uso de funciones estándares de C, como lo es getchar() que realiza la misma función de esperar que el usuario pulse una tecla, y sí es estándar. Yoel. Título: Re: ¿a que se debe este error en el codigo? Publicado por: spiderboot en 6 Febrero 2014, 17:49 pm gracias amigos, me sirve de mucho su ayuda
|