Ver Mensaje Individual
  #9 (permalink)  
Antiguo 03/05/2012, 13:03
drakgoku1
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Acciones recojiendo siempre la misma letra ?

Cita:
Iniciado por sam90 Ver Mensaje
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
Lo sé , son locales , es verdad la i=0 es el contador máximo que pongo , si que asigno ( n ) le digo al principio , cuantos pongo y luego en el for recorre los que he puesto .

"i" es = que "n" , porque "i" llega al final de "n"

Ahora estoy canviando el código, haber si funciona .

Luego comento

Última edición por drakgoku1; 03/05/2012 a las 13:09