Alguien me puede echar un cable? Al ejecutar esta función en su programa el programa me deja de funcionar algunas veces, otras no, y las que deja de funcionar los datos que meto por pantalla y guardo en el fichero se quedan guardados.
void valorar_equipos(){
int i=0,j,aux;
T_equipos *sequipo;
FILE *fichero;
system("cls");
if(( fichero = fopen( "Futbolistas.txt" , "r+" )) == NULL ){
printf("ERROR: No existe el archivo 'Futbolista.txt'\n");
}else{
sequipo = (T_equipos *)malloc(tam*sizeof(T_equipos));
do{
fscanf(fichero,"%d %d %s %s %d %d",&sequipo[i].codigo, &sequipo[i].equipo, sequipo[i].nombre, sequipo[i].apellido, &sequipo[i].precio, &sequipo[i].puntuacion);
do{
printf("Introduce la puntuacion de %s %s : ",sequipo[i].nombre, sequipo[i].apellido);
scanf("%d",&sequipo[i].puntuacion);
}while( sequipo[i].puntuacion < 0 || sequipo[i].puntuacion > 10);
i++;
}while(!feof(fichero));
rewind(fichero);
aux=i-1;
for(j=0; j < aux; j++ )
fprintf(fichero, "%0.2d %0.2d %s %s %d %d\n",sequipo[j].codigo, sequipo[j].equipo, sequipo[j].nombre, sequipo[j].apellido, sequipo[j].precio, sequipo[j].puntuacion);
fprintf(fichero, "%0.2d %0.2d %s %s %d %d",sequipo[j].codigo, sequipo[j].equipo, sequipo[j].nombre, sequipo[j].apellido, sequipo[j].precio, sequipo[j].puntuacion);
rewind(fichero);
free(sequipo);
fclose(fichero);
printf("Puntuacion guardada\n");
system("pause");
menu_cronista();
}//else
}
#522 editado, que tenia un comentario y quite los comentarios para postearlo y se me quedo un trozo de el