En el siguiente programa se actualizan los tiempos de los ciclistas:
Código C:
Ver originalvoid actualizar_tiempos(FILE *pf){
ciclista corredor;
double tiempo_sumar;
int num_dorsal;
char otro;
do{
printf("Dorsal ciclista a modificar: "); scanf("%d", &num_dorsal
); fread(&corredor
,sizeof(ciclista
),1,pf
); while((corredor.
dorsal != num_dorsal
) && (!feof(pf
))) fread(&corredor
,sizeof(ciclista
),1,pf
); if(corredor.dorsal == num_dorsal){
printf("Valor del tiempo a sumar: "); scanf("%d", &num_dorsal
); corredor.tiempo += tiempo_sumar;
fseek(pf
,-(sizeof(ciclista
)),SEEK_CUR
); fwrite(&corredor
,sizeof(ciclista
),1,pf
); }
else{
printf("Dorsal no encontrado.\n"); }
printf("¿Buscar otro corredor? (s/n) "); LEE_CAR(otro);
}while((otro == 's') || (otro == 'S'));
}
Cuando doy la opción de actualizar tiempos introduzco el dorsal del corredor a modificar y a continuación le doy el tiempo, una vez le doy enter me pregunta ¿otro corredor? (s/n) y justamente al lado me pone Elija una opción mostrándome todas las opciones sin dejarme poner si o no. Os lo muestro tal y como me sale al compilar:
Dorsal ciclista a modificar: 12
Valor del tiempo a sumar: 14.85
¿Buscar otro corredor? (s/n) Elija opción:
a--> Crear el fichero del Tour
b--> Actualizar tiempo
c--> Clasificación por equipos
d--> Ordenar el fichero por tiempos
e--> Listar por tiempos
f--> Listar por tiempos y equipos
g--> Dar de baja dorsales
h--> Media total de los equipos
i--> Media de cada equipo
j--> Salir
¿Dónde puede estar el fallo?. Gracias.