tengo esta función
Cita:
y esta llamado así en el menú//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;
}
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;
}
Cita:
con es la cantidad de alumnos ingresados. (lo verifique y funciona bien eso)case 2:
valbool = buscoAlm(b,con);
if(valbool == 1){
cargoNota(b, con);
}
break;
valbool = buscoAlm(b,con);
if(valbool == 1){
cargoNota(b, con);
}
break;
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