Tema: Estructuras
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2012, 09:02
martin_9_91
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Estructuras

Hola gente! necesito su ayuda de nuevo! tengo un problemita. El programa que tengo que hacer es buscar un alumno por dni (char) y cargar sus notas si lo encontro
tengo esta función

Cita:
//Busco el alumno que deseo ingresar las notas
int buscoAlm(struct alumno b[], int valor){

struct alumno doc;
int i, con=0, registros=1, reg;
int val = 0;

//Ingreso el alumno a buscar
printf("Ingrese el dni del alumno para buscarlo\n");
fflush(stdin);
gets(doc.dni);

//Busco el alumno
for(i=0;i<valor;i++){
if(strcmp(doc.dni, b[i].dni) == 0){
val = 1;
break;
}
else{
printf("El alumno no existe\n");
val = 0;
return;
}
}

return val;
}
y esta llamado así en el menú

Cita:
case 2:
valbool = buscoAlm(b,con);
if(valbool == 1){
cargoNota(b, con);
}
break;
con es la cantidad de alumnos ingresados. (lo verifique y funciona bien eso)

La función cargo nota funciona bien. La que funciona mal es buscoAlm (que siempre ponga lo que ponga siempre encuentra el primer valor, despues nunca encuentra)

No veo cual es el error.

Muchas gracias de antemano
saludos