Ver Mensaje Individual
  #8 (permalink)  
Antiguo 03/05/2012, 12:42
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Acciones recojiendo siempre la misma letra ?

Fijate que en la opcion 4, pones i=0 y i en esa funcion es tu marcador de posicion maxima. Asi que basicamente estas diciendo que no hay nada....

Deberias usar otra variable que no sea esa. Ademas usas n y nunca la asignaste.

Código C:
Ver original
  1. char nom_per[MAX+1];
  2.             z=0;
  3.             printf ("\n Com es diu aquesta persona Digues amb un minim de 4 caracters : A-Z  : "); scanf("%s", nom_per);
  4.  
  5.             while (z<i){
  6.                 if(persona[z].nom[0]==nom_per[0] && persona[z].nom[1]==nom_per[1] && persona[z].nom[2]==nom_per[2] && persona[z].nom[3]==nom_per[3]){
  7.                     escribirsalida(z);
  8.                     escriure_entrada(z);
  9.                     break;
  10.                 }
  11.                 z++;
  12.             }
  13.             if (z>=i){ // miro que si i es mes gran que x vol dir que no a arribat a x i salta
  14.                 printf("\n\t No existeix intenta-ho de nou  \n\n");
  15.             }

Veo que te confundes con las variables. Yo intentaria usar nombres mas descriptivos. Por ejemplo en vez de esa i, llamarla max o algo asi.
Ademas dos variables con igual nombre en diferente funcion no son la misma cosa.

Saludos