ho provato ad utilizzare il metodo di "selection sort", che è l'unico che conosco meglio, solamente che io lo utilizzavo per ordinare un vettore contenente numeri e non riesco a riadattarlo per i char, ho provato ad abbozzare la funizione che mi dovrebbe ordinare i nomi(avrò combinato sicuramente un casino):
codice:
void ordina(struct elenco *A,int B,FILE *C)
{
	int i,j,k,imin;
	char V[10],temp[10];
	fprintf(C,"Hanno superato l'esame:\n");
	for(i=0;i<B;i++)
	{
		if(A[i].voto>15)
		{
			for(j=0;j<B-1;j++)
			{
				imin=j;
				for(k=j+1;k<B;k++)
				if(A[k].cognome<V[imin])
					imin[j]=k;
				temp[j]=A[j].cognome;
				A[j].cognome=V[imin];
				V[imin]=temp[j];
			}
			
				
					fprintf(C,"%s %s %d %d %d\n",A[i].cognome,A[i].nome,A[i].matricola,A[i].voto,A[i].posizione);
	
			
		}
	}
}