Unamonos los programadores de taringa y compartamos nuestros codigos, ya sea java, C, C++, php, jsp, html, css, python.... etc etc etc.. Enterate tambien de las innovaciones en el software y nuevas distribuciones de Microsoft, Linux y MacOS
Ver más- 1,702 Miembros
- 560 Temas
- 308 Seguidores
[Ayuda] Que error tube?
Mi codigo:
http://www.copypastecode.com/170608/
Me aparecieron estos errores
error 1: name lookup of ‘n’ changed for ISO ‘for’ scoping
error o warning 2: (if you use ‘-fpermissive’ G++ will accept your code)
error 3: (este me aparecio en todos los if) ‘else’ without a previous ‘if’
error 4: EsPrimo was not declares (lo cree en el bucle lo encuentran en el bucle ‘for’)
error 5: ‘y’ was not declared in this scope (lo encuentran en el ultimo ‘if’)
warning 1: suggest parentheses around assignment used as truth valor
- 0Calificación
- 0Seguidores
- 92Visitas
- 0Favoritos
Global
Argentina
Chile
Colombia
España
México
Perú
Uruguay
Venezuela
10 respuestas
ok, aun no analizo bien el código, pero resaltan muchas cosas:
* La declaración de variables tienes q hacerlas antes de entrar al bucle sino cada vez que el while haga un loop te las declarará nuevamente y t puede traer problemas.
* Trata de indentar mejor el código para poder entenderlo mejor, por ejemplo:
Esto te ayuda a ti y a nosotros a comprender mejor lo que estás codificando.
* En cuanto al error de la variable "y" en este caso no es una variable "y" debes tratarlo como un string y debes colocarlo entre comillas para que te lo tome como tal sino el compilador lo comprenderá como una variable y como no está declarada te generará un error.
Eso fue lo que vi por encima en estos 2 minutos, estoy en la oficina y debo empezar a trabajar xD!
Luego le echo otro vistazo
Otra cosa cuando escribes "for" e "if" una vez asignados los parámetros y condiciones de esas funciones no debes colocar ";", es decir, la sintaxis de un "for" va como te la describí en el comentario anterior y el "if" es muy parecido
deverias inicializar todas las variables al comienzo, estas comparando usando = en ves de ==, te faltan las comillas simples al comparar un char.
el error de los "else" sin "if" se debe a que luego del if colocaste ";" seguido de otra instrucción y luego el else.
Intenta esto
en este caso las llaves no son necesarias porque es una instrucción nada más, pero es para que veas como indentar.
t contesto de a pedazos para q no se me olviden los comentarios q tengo jajaja
pero t recomiendo q t leas un libro de c para que aprendas las sintaxis de las instrucciones y sepas de q van los errores q se t generan
bueno muchas gracias, mis sintaxis son muy malas
, pero intentare mejorarlas, luego les digo si me anduvo, gracias 
siiii ya no tengo mas errores, solamente 2 warnings
nuevo codigo: http://www.copypastecode.com/170648/
ahi tienen los dos warnings, lo correre a ver si hace lo que yo quiero
bueno muchas gracias ahora mi programa va muy bien, solamente que los dos warnings estan molestos, osea no puedes seguir usando el programa como se esperaba que fuese pero anda eso de que sea primo. aunque el codigo que publique anteriormente le hice unos cambios. pero GRACIAS POR LA AYUDA
Pero todavía tienes dos errores, que son precisamente los que te marca como warnings. El primero, de la línea 25 es porque las cadenas no se comparan con == sino con la función strcmp. Pero aún más simple: ya que en d sólo almacenas un caracter ('y' o 'n'), decláralo no como cadena sino como un simple char:
char d;y cambias el if de modo que 'y' esté entre comillas simples:
if (d == 'y')Por último, el de la línea 28:
while (cerrar = false);debe ir con doble signo de igual: ==:
Nunca debes ignorar los warnings. El hecho de que el programa compile, no significa que sea correcto. El compilador únicamente marca como errores cosas como violaciones a las reglas del lenguaje. Los errores lógicos debe encontrarlos el programador.
Conviene ver los warnings como la forma del compilador de decirte: "Es muy probable que esto sea un error, pero no puedo verificarlo". Y en la gran mayoría de los casos, se tratará de un error, por eso no se deben ignorar.
Si lo se, hace poco cree una calculadora y lo primero que elimine fueron los warnings luego los errores, pero claro estaba nada mas feliz porque alfin me salia el codigo
.
Pero de todas formas, no di bien las ordenes al compilador, debo hacerlo todo denuevo, jajjajajajajajajja. Ya que todos me dicen que No son primos, cambio la variable y me dicen que todos son primos. Pero buenoo, por lo menos sirvio para fines didacticos, no?