Salve a tutti. Mi trovo alle prese con un piccolo problema di ordinamento. Dopo aver scritto dei record su un file in modalità "w" vorrei ordinarli con il semplice algoritmo bubble sort.
Supponendo che questo sia il codice per la normale stampa dei record:
FILE * lettura;
struct struttura{
char nome[20];
int anni;
int punti;
int numero;
};
struct struttura stru;
int main()
{
lettura = fopen ("dati.dat", "r");
if (lettura == NULL){
fprintf(stderr, "\nERRORE\n");
exit (1);
}else{
while(fread(&stru, sizeof(struct struttura), 1, lettura)){
printf("dati %s, %d, %d, %d\n", stru.nome, stru.anni, stru.punti, stru.numero);
}
}
fclose(lettura);
}
Come potrei fare per stamparli ordinati in base a stru.numero? Conosco l'algoritmo (due cicli for e scambi che avvengono tramite variabile temporanea) ma non so come applicarlo con i record su file.