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

[SOLUCIONADO] bucle for en code::blocks

Estas en el tema de bucle for en code::blocks en el foro de C/C++ en Foros del Web. hola soy vizen y estoy empezando con c, uso linux y me instale code::blocks. al utilizar una sentencia for: //td ya esta definida previamente, int ...
  #1 (permalink)  
Antiguo 18/01/2014, 14:25
 
Fecha de Ingreso: enero-2014
Mensajes: 60
Antigüedad: 10 años, 3 meses
Puntos: 1
Exclamación bucle for en code::blocks

hola soy vizen y estoy empezando con c, uso linux y me instale code::blocks.
al utilizar una sentencia for:

//td ya esta definida previamente, int td=10;
for(int i=1;i<td;i++) i++;

me da un error de compilacion :

|28|error: expected identifier or ‘(’ before ‘for’|

creo que tienen que ver con la compilacion -std=c99 pero no se como solucionarlo sin definir la variable i antes que el for

estoy atascado, gracias por la ayuda :)
  #2 (permalink)  
Antiguo 18/01/2014, 14:47
Avatar de guzzano  
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: bucle for en code::blocks

Cita:
Iniciado por vizen Ver Mensaje
hola soy vizen y estoy empezando con c, uso linux y me instale code::blocks.
al utilizar una sentencia for:

//td ya esta definida previamente, int td=10;
for(int i=1;i<td;i++) i++;

me da un error de compilacion :

|28|error: expected identifier or ‘(’ before ‘for’|

creo que tienen que ver con la compilacion -std=c99 pero no se como solucionarlo sin definir la variable i antes que el for

estoy atascado, gracias por la ayuda :)
En C, existen varios estándares, normalmente se usa C89 como predeterminado, ya que C99 no ha tenido mucho apoyo de la comunidad, pero si bastante. En fin, el estándar C89, no permite que se definan variables en los bucles. Como: for(int count = 1..., el estándar C99 si lo permite y trae otras más funcionalidades.

http://www.cplusplus.com/articles/iz3hAqkS/

En fin, para hacer la activación del C99, en code block; Settings -> compiler and debugger -> compiler settings -> Other options. Ahí, agrega -std=c99 y luego aceptar.
  #3 (permalink)  
Antiguo 18/01/2014, 15:21
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: bucle for en code::blocks

Aunque el C99 lo permita, no me parece una muy buena práctica eso. Queda más limpio y mejor organizado que declares todas tus variables al comienzo de una función, al estilo del viejo C.

  #4 (permalink)  
Antiguo 20/01/2014, 00:46
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: bucle for en code::blocks

Sospecharía de la línea anterior, no de ésta.
¿Que aparecía justo antes del for?
__________________
Visita mi perfil en LinkedIn
  #5 (permalink)  
Antiguo 22/01/2014, 10:07
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: bucle for en code::blocks

Cita:
Iniciado por CalgaryCorpus Ver Mensaje
Sospecharía de la línea anterior, no de ésta.
¿Que aparecía justo antes del for?
Coincido con eso
  #6 (permalink)  
Antiguo 22/01/2014, 13:22
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: bucle for en code::blocks

El problema es el que comenta guzzano.
Activando c99 puede hacer for ( int i = 0 ; i < contador ; i = i +1 )
Si no lo activa, for solo me funciona asi: for ( i = 0 ; i < 10 ; i = i +1 ).
Se queda dando avisos que lo active el c99.
Pero es cuestión de gustos activarlo o no. XD
Otra cosa es hacer el bucle con while que tiene el mismo efecto si lo montas bien, pero la comodidad... ><
Por eso me encanta c++ uso de to hago de to y na se queja :3
Evitar comentar con // en c, mejor /**/
  #7 (permalink)  
Antiguo 26/01/2014, 16:25
 
Fecha de Ingreso: enero-2014
Mensajes: 60
Antigüedad: 10 años, 3 meses
Puntos: 1
De acuerdo Respuesta: bucle for en code::blocks


ante todo agradeceros el interes a todos y perdonarme que no escribiese antes.

hola guzzano, muchas gracias por solucionar el problema, de verdad fuiste directo a la solucion gracias otra vez.

hola carbon, gracias por el comentario pero me gusta esta sintaxis, es solo un contador y me queda mas claro y mas seguro declararla en el bucle y que sea exista solo para él. pero si, el viejo c no era asi :)

hola CalgaryCorpus gracias por la idea pero la linea anterior y las otras no tienen problema (por ahora) gracias.

hola vangodp gracias por interesarte, estoy deacuerdo contigo que c++ es mas flexible (y mas comodo) con la definicion de las variables, pero en los comentarios en c creo que los // son ademas de mas cortos, aveces mas sencillos y practicos ;)

Etiquetas: bucle, int
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 14:32.