Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/12/2010, 09:04
Avatar de Munire
Munire
 
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Problema con ficheros

Código C:
Ver original
  1. for(i=0;i<ag.numContactos;i++)
  2.       fscanf(f,"%s %d %s %s\n", ag.conjunto[i].nombre, &ag.conjunto[i].telefono, ag.conjunto[i].email, ag.conjunto[i].web) ;
  3.       printf("%s %d %s %s\n", ag.conjunto[i].nombre, ag.conjunto[i].telefono, ag.conjunto[i].email, ag.conjunto[i].web) ;
Mucho cuidado con no poner llaves por que es engañoso. parece que el for abarca hasta el printf pero NO ES ASI.

Lo que has escrito es igual a esto:
Código C:
Ver original
  1. for(i=0;i<ag.numContactos;i++)
  2. {
  3.     fscanf(f,"%s %d %s %s\n", ag.conjunto[i].nombre, &ag.conjunto[i].telefono, ag.conjunto[i].email, ag.conjunto[i].web) ;
  4. }
  5. printf("%s %d %s %s\n", ag.conjunto[i].nombre, ag.conjunto[i].telefono, ag.conjunto[i].email, ag.conjunto[i].web) ;

el no poner llaves (para for, if...) solo se puede hacer si vas a poner una sola sentencia.

Por ejemplo este sencillo programa:
Código C:
Ver original
  1. int main()
  2. {
  3.     int i=1;
  4.     if(i==0)
  5.         printf("#####");
  6.         printf("#");
  7.  
  8.     system("pause");
  9.     return 0;
  10. }
la salida es: #