salve ragazzi, ho creato un programmino che immessi i dati delle squadre mi permette di calcolarli, ORDINARLI, e visualizzarli in una classifica, scriverli su disco, leggerli da disco poi di fare modifiche; cioè cambio dei parametri(nome partite vinte ecc) e di aggiornare la classifica senza riscriverla da 0. il problema come dicevo nel titolo sorge nell'ordinamento, che non ordina, e il secondo prob è che vorrei aggiungere una funzione (void cancella) che dato il nome della squadra mi visualizzi il record e me lo cancelli...è possibile farlo??? intanto posto il mio programmino(vi chiedo di passare direttamente a void caricamento, visto che è la parte di prog che non funziona) grazie mille

codice:
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<string.h>
#include<iomanip.h>

struct dati {
	     char nome[16];int vinte,pareggiate,perse,tot,punti,gf,gs,dg;
	    };
void caricamento(dati squadra[],int&n);
void calcoli(dati squadra[],int n);
void ordinamento(dati squadra[],int n);
void visualizza(dati squadra[]);
void pari(dati squadra[],int n);
void nome(dati squadra[],int n);
void vinte(dati squadra[],int n);
void scrittura(dati squadra[],int n);
void lettura(dati squadra[]);
void modifica(dati squadra[],int n);
void parametri(dati squadra[],int n);
void perse(dati squadra[],int n);
void gf(dati squadra[],int n);
void gs(dati squadra[],int n);
void aggiorna(dati squadra[],int n);

void main()
       {
	dati squadra[999];
	int n=0,scelta;
	do{
	   clrscr();
	   cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
	   cout<<endl;
	   cout<<"³"<<"Seleziona:          ³"<<endl;
	   cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
	   cout<<endl<<"³ "<<"1-Inserire Dati    ³"<<endl;
	   cout<<"³ "<<"2-Classifica       ³"<<endl;
	   cout<<"³ "<<"3-Archiviare Dati  ³"<<endl;
	   cout<<"³ "<<"4-Lettura da Disco ³"<<endl;
	   cout<<"³ "<<"5-Modificare       ³"<<endl;
	   cout<<"³ "<<"0-Uscire           ³"<<endl;
	   cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
	   cout<<endl<<"Scelta: ";
	   cin>>scelta;
	   clrscr();
	   switch (scelta)
		  {
		   case 1:caricamento(squadra, n);
		   calcoli(squadra, n);
		   ordinamento(squadra, n);
		   scrittura(squadra, n);
		   break;
		   case 2:visualizza(squadra);
		   break;
		   case 3:scrittura(squadra, n);
		   break;
		   case 4:lettura(squadra);
		   break;
		   case 5:parametri(squadra, n);
		  }
	  }while(scelta!=0);
}

void caricamento(dati squadra[], int&n)
{
 int incremento;
 cout<<endl;
 do{
    clrscr();
    cout<<"Caricamento"<<endl;
    cout<<endl<<"Nome squadra: ";
    cin>>squadra[n].nome;
    cout<<endl<<"Partite Vinte: ";
    cin>>squadra[n].vinte;
    cout<<endl<<"Partite pareggiate: ";
    cin>>squadra[n].pareggiate;
    cout<<endl<<"Partite perse: ";
    cin>>squadra[n].perse;
    cout<<endl<<"Goal Fatti: ";
    cin>>squadra[n].gf;
    cout<<endl<<"Goal Subiti: ";
    cin>>squadra[n].gs;
    n++;
    cout<<endl<<endl<<" "<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
    cout<<endl<<" "<<"³"<<"Inserire scelta:³"<<endl<<" "<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´"<<endl<<" "<<"³ "<<"1-Caricare     ³"<<endl<<" "<<"³ "<<"0-Terminare    ³"<<endl<<" "<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"<<""<<endl<<" "<<"Scelta: ";
    cin>>incremento;
    cout<<endl;
   }while(incremento==1);
}

void calcoli(dati squadra[], int n)
{
 clrscr();
 int i;
 for(i=0;i<n;i++)
    {
     squadra[i].punti=squadra[i].vinte*3;
     squadra[i].tot=squadra[i].punti+squadra[i].pareggiate;
     squadra[i].dg=squadra[i].gf-squadra[i].gs;
    }
}

void ordinamento(dati squadra[], int n)
{
 int i,j;
 dati casella;
 for(i=0;i<n;i++)
    {
     for(j=i++;j<n;j++)
	{
	 if(squadra[i].tot>squadra[j].tot)
	   {
	    casella=squadra[i];
	    squadra[i]=squadra[j];
	    squadra[j]=casella;
	   }
	}
    }
}

void visualizza(dati squadra[])
{
 lettura(squadra);
}

void scrittura(dati squadra[], int n)
{
 int i;
 ofstream nout;
 nout.open("n.txt");
 nout<<n;
 nout.close();

 ofstream fout;
 fout.open("classifi.txt");
    for(i=0;i<n;i++)
       {
	fout<<setw(11)<<squadra[i].nome
	    <<setw(6)<<squadra[i].tot
	    <<setw(6)<<squadra[i].vinte
	    <<setw(6)<<squadra[i].perse
	    <<setw(5)<<squadra[i].pareggiate
	    <<setw(4)<<squadra[i].gf
	    <<setw(4)<<squadra[i].gs<<endl;
       }
 fout.close();
}

void lettura(dati squadra[])
{
 int i=0,j;
 cout<<endl<<"                Classifica"<<endl;
 cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
 textcolor(7);
 textbackground(2);
 cout<<endl<<"³";

 textcolor(4);
 textbackground(2);
 cprintf("   Squadra");
 textcolor(1);
 textbackground(2);
 cprintf("  Punti");
 textcolor(4);
 textbackground(2);
 cprintf(" Vinte");
 textcolor(1);
 textbackground(2);
 cprintf(" Pari");
 textcolor(4);
 textbackground(2);
 cprintf(" Perse");
 textcolor(1);
 textbackground(2);
 cprintf(" Gf");
 textcolor(1);
 textbackground(2);
 cprintf("  Gs");
 cout<<"³";
 cprintf("\r\n");
 cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
 cout<<endl;
 ifstream fin;
 fin.open("classifi.txt");
 fin>>squadra[i].nome>>squadra[i].tot>>squadra[i].vinte>>squadra[i].pareggiate>>squadra[i].perse>>squadra[i].gf>>squadra[i].gs;
 while(!fin.eof())
      {
       i++;
       fin>>squadra[i].nome
	  >>squadra[i].tot
	  >>squadra[i].vinte
	  >>squadra[i].pareggiate
	  >>squadra[i].perse
	  >>squadra[i].gf
	  >>squadra[i].gs;
      }
 fin.close();
       for(j=0;j<i;j++)
	  {
	   cout<<"³"<<setw(10)<<squadra[j].nome
	       <<setw(6)<<squadra[j].tot
	       <<setw(6)<<squadra[j].vinte
	       <<setw(5)<<squadra[j].pareggiate
	       <<setw(6)<<squadra[j].perse
	       <<setw(4)<<squadra[j].gf
	       <<setw(4)<<squadra[j].gs<<"³"<<endl;
	  }
	   cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
getch();
textcolor(7);
textbackground(0);
}

void parametri(dati squadra[],int n)
{
 int scelta;
 do{
    clrscr();
    cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
    cout<<endl<<"³"<<"Modifica:                 ³"<<endl;
    cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
    cout<<endl<<"³ "<<"1-Modificare Parametri   ³"<<endl;
    cout<<"³ "<<"2-Inserire Altre Squadre ³"<<endl;
    cout<<"³ "<<"0-Uscire                 ³"<<endl;
    cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
    cout<<endl<<"Scelta: ";
    cin>>scelta;
    clrscr();
    switch (scelta){
		    case 1:modifica(squadra, n);
		    break;
		    case 2:aggiorna(squadra, n);
		   }
   }while(scelta!=0);
}

void modifica(dati squadra[],int n)
{
{
  lettura(squadra);
}
{
 int scelta;
 do{
    clrscr();
    cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
    cout<<endl<<"³"<<"Modifica:     ³"<<endl;
    cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
    cout<<endl<<"³ "<<"1-Nome       ³"<<endl;
    cout<<"³ "<<"2-Vinte      ³"<<endl;
    cout<<"³ "<<"3-Pari       ³"<<endl;
    cout<<"³ "<<"4-Perse      ³"<<endl;
    cout<<"³ "<<"5-Goal Fatti ³"<<endl;
    cout<<"³ "<<"6-Goal Subiti³"<<endl;
    cout<<"³ "<<"0-Uscire     ³"<<endl;
    cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
    cout<<endl<<"Scelta: ";
    cin>>scelta;
    clrscr();
    switch (scelta){
		    case 1:nome(squadra, n);
		    break;
		    case 2:vinte(squadra, n);
		    break;
		    case 3:pari(squadra, n);
		    break;
		    case 4:perse(squadra, n);
		    break;
		    case 5:gf(squadra, n);
		    break;
		    case 6:gs(squadra, n);
		   }

   }while(scelta!=0);
}
}

void nome(dati squadra[],int n)
{
 int i;char modifica[16];
 lettura(squadra);
 cout<<endl<<"Inserire nome squadra: ";
 cin>>modifica;
 for(i=0;i<n;i++)
    {
     if(strcmp(modifica,squadra[i].nome)==0)
       {
	cout<<endl<<"Squadra"<<endl;
	cout<<endl;
	cout<<squadra[i].nome<<endl;
	    cout<<endl<<"Inserire il nuovo nome: ";
	    cin>>squadra[i].nome;
	     }

    }
     calcoli(squadra, n);
     ordinamento(squadra, n);
     scrittura(squadra, n);
}

void perse(dati squadra[],int n)
{
 int i;char modifica[16];
 lettura(squadra);
 cout<<endl<<"Inserire nome squadra: ";
 cin>>modifica;
 for(i=0;i<n;i++)
    {
     if(strcmp(modifica,squadra[i].nome)==0)
       {
	cout<<endl<<"Perse"<<endl;
	cout<<endl;
	cout<<squadra[i].perse<<endl;
	    cout<<endl<<"Inserire partite perse: ";
	    cin>>squadra[i].perse;
	     }

    }
     calcoli(squadra, n);
     ordinamento(squadra, n);
     scrittura(squadra, n);
}

void gf(dati squadra[],int n)
{
 int i;char modifica[16];
 lettura(squadra);
 cout<<endl<<"Inserire nome squadra: ";
 cin>>modifica;
 for(i=0;i<n;i++)
    {
     if(strcmp(modifica,squadra[i].nome)==0)
       {
	cout<<endl<<"Goal Fatti"<<endl;
	cout<<endl;
	cout<<squadra[i].gf<<endl;
	    cout<<endl<<"Inserire goal fatti: ";
	    cin>>squadra[i].gf;
	     }

    }
     calcoli(squadra, n);
     ordinamento(squadra, n);
     scrittura(squadra, n);
}

void gs(dati squadra[],int n)
{
 int i;char modifica[16];
 lettura(squadra);
 cout<<endl<<"Inserire nome squadra: ";
 cin>>modifica;
 for(i=0;i<n;i++)
    {
     if(strcmp(modifica,squadra[i].nome)==0)
       {
	cout<<endl<<"Goal Subiti"<<endl;
	cout<<endl;
	cout<<squadra[i].gs<<endl;
	    cout<<endl<<"Inserire goal subiti: ";
	    cin>>squadra[i].gs;
	     }

    }
     calcoli(squadra, n);
     ordinamento(squadra, n);
     scrittura(squadra, n);
}

void vinte(dati squadra[],int n)
{
 int i;char modifica[16];
 lettura(squadra);
 cout<<endl<<"Inserire nome squadra: ";
 cin>>modifica;
 for(i=0;i<n;i++)
    {
     if(strcmp(modifica,squadra[i].nome)==0)
       {
	cout<<endl<<"Vinte"<<endl;
	cout<<endl;
	cout<<squadra[i].vinte<<endl;
	    cout<<endl<<"Inserire vinte: ";
	    cin>>squadra[i].vinte;
	}
    }
     calcoli(squadra, n);
     ordinamento(squadra, n);
     scrittura(squadra, n);
}

void pari(dati squadra[],int n)
{
 int i;char modifica[16];
 lettura(squadra);
 cout<<"Inserire nome squadra: ";
 cin>>modifica;
 for(i=0;i<n;i++)
    {
     if(strcmp(modifica,squadra[i].nome)==0)
       {
	cout<<endl<<"Pari"<<endl;
	cout<<endl;
	cout<<squadra[i].pareggiate<<endl;
	    cout<<endl<<"Inserire pari: ";
	    cin>>squadra[i].pareggiate;
	     }

    }
     calcoli(squadra, n);
     ordinamento(squadra, n);
     scrittura(squadra, n);
}


void aggiorna(dati squadra[], int n)
{
  {
   int i=0,j;
   ifstream nin;
   nin.open("n.txt");
   nin>>n;
   while(!nin.eof())
	{
	 i++;
	 nin>>n;
	}
   nin.close();
  }
   int incremento;
   do{
      clrscr();
      cout<<endl<<"Aggiornamento"<<endl;
      cout<<endl<<"Nome squadra: ";
      cin>>squadra[n].nome;
      cout<<endl<<"Partite Vinte: ";
      cin>>squadra[n].vinte;
      cout<<endl<<"Partite pareggiate: ";
      cin>>squadra[n].pareggiate;
      cout<<endl<<"Partite perse: ";
      cin>>squadra[n].perse;
      cout<<endl<<"Goal Fatti: ";
      cin>>squadra[n].gf;
      cout<<endl<<"Goal Subiti: ";
      cin>>squadra[n].gs;
      n++;
      cout<<endl<<endl<<" "<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
      cout<<endl<<" "<<"³"<<"Inserire scelta:³"<<endl<<" "<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´"<<endl<<" "<<"³ "<<"1-Caricare     ³"<<endl<<" "<<"³ "<<"0-Terminare    ³"<<endl<<" "<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"<<""<<endl<<" "<<"Scelta: ";
      cin>>incremento;
      cout<<endl;
     }
      while(incremento==1);
      calcoli(squadra, n);
      ordinamento(squadra, n);
      scrittura(squadra, n);
}