Pues la verdad es que sí que me funciona lo de apuntar a la posición que me interesa y modificarla luego :huh:
Sea como sea el caso es que ahora todo funciona bien :D
Sea como sea el caso es que ahora todo funciona bien :D
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menu
/*Funcion que permite modificar los datos de 1 piloto*/
void EditarPiloto(struct ficha &piloto)
{
char nombre_piloto[40];
int i = 0;
struct ficha FichaPiloto[300];
/*Abrimos el archivo*/
FILE *archivo;
archivo = fopen("PilotManager.txt","r+");
/*Pregunto por el nombre del piloto que hay que editar*/
printf("Escribe el nombre del piloto que quieres editar: ");
gets(nombre_piloto);
/*Si no se puede abrir el archivo doy un mensaje de aviso*/
if(archivo == NULL)
{
printf("ERROR: PilotManager.txt no se ha podido abrir\n");
}
else
{
/*No salimos del bucle mientras no se lea todo el archivo o bien,
mientras no se encuentren coincidencias con el nombre metido*/
fread(&FichaPiloto[i],sizeof(FichaPiloto[i]),1,archivo);
while( (feof(archivo) == 0) && (strcmp(nombre_piloto,FichaPiloto[i].nombre) != 0) )
{
i++;
fread(&FichaPiloto[i],sizeof(FichaPiloto[i]),1,archivo);
}
fclose(archivo);
archivo = fopen("PilotManager.txt","r+");
/*Si se encuentra el nombre volvemos a meter todos los datos*/
if(strcmp(nombre_piloto,FichaPiloto[i].nombre) == 0)
{
cout << "Nombre del piloto?: ";
gets(FichaPiloto[i].nombre);
cout << "Escuderia / Motor: ";
gets(FichaPiloto[i].escuderia);
cout << "Edad?: ";
cin >> FichaPiloto[i].edad;
cout << "Titulos mundiales?: ";
cin >> FichaPiloto[i].titulos;
cout << "GPs disputados?: ";
cin >> FichaPiloto[i].GPs_disputados;
cout << "GPs ganados?: ";
cin >> FichaPiloto[i].GPs_ganados;
cout << "Pole Positions?: ";
cin >> FichaPiloto[i].poles;
cout << "\n\n\n";
fwrite(&FichaPiloto[i],sizeof(FichaPiloto[i]),1,archivo);
}
else
{
cout << "ERROR: " << nombre_piloto << " no esta en la base de datos\n";
}
fclose(archivo);
}
}