Les quiero realizar la siguiente consulta.
Tengo un archivo en el que guardo los datos de equipos y otro archivo en el que guardo los datos de jugadores.
Para jugadores tengo realizada la alta, baja y modificación sin problemas.
En el caso de equipos me esta dando problemas.
Puedo dar de baja al equipo sin inconvenientes pero el el problema se presenta cuando intento dar de baja a los jugadores que tiene asociado ese equipo.
En la estructura jugador tengo un miembro "jugador.codigoequipo" que la relaciono con el miembro "equipo.codigoequipo"
Estuve probando el siguiente código y entra en un ciclo infinito, es decir nunca sale del while
cpp
fread(&jugador, sizeof(struct jugadores), 1, archivo); while (!feof(archivo)) { if (jugador.codigoequipo==codigoequipo) { jugador.borrado=-1; fseek(archivo, sizeof(struct jugadores)*(ftell(archivo)/(sizeof(struct jugadores))-1), 0); fwrite(&jugador, sizeof(struct jugadores), 1, archivo); } else { fread(&jugador, sizeof(struct jugadores), 1, archivo); } }
Lo que note es que el campo "jugador.codigoequipo" toma el valor "1" y no llega a tomar otro valor, por ejemplo "2" que es el codigo de otro equipo que tiene otro jugador que esta cargado en el archivo.
La variable "codigoequipo" tiene bien su valor, que es "1" por ejemplo y por eso siempre compara "1==1" y se queda ciclando infinitamente, necesitaria que el registro avance.
Gracias por la ayuda!