Cita:
Iniciado por sam90
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 originalchar nom_per[MAX+1];
z=0;
printf ("\n Com es diu aquesta persona Digues amb un minim de 4 caracters : A-Z : "); scanf("%s", nom_per
);
while (z<i){
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]){
escribirsalida(z);
escriure_entrada(z);
break;
}
z++;
}
if (z>=i){ // miro que si i es mes gran que x vol dir que no a arribat a x i salta
printf("\n\t No existeix intenta-ho de nou \n\n"); }
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