ho scritto questo codice sorgente c++ funziona ma solo che l acquisizione di piu alunni non la fa ne fa solamente una come posso risolvere? grazie:
codice:
#include <iostream>
#include <stdlib.h>
#include <string.h>

using namespace std;

typedef char Tstring20[21];
typedef char Tstring25[26];
typedef char Tstring15[16];
typedef float tvettfloat[4];
typedef char vuoto[1];

struct Talunno{
    Tstring20 nome;
    Tstring25 cognome;
    Tstring15 classe;
    float  scritto1quad;
    float  orale1quad;
    float  pratico1quad;
    float  scritto2quad;
    float  orale2quad;
    float  pratico2quad;
};

typedef Talunno Tregistro[33];

void acquisiscialunni(Tregistro &alunni, int &N){
    int I;
    vuoto a;
    do{
      cout<<"Inserisci quanti alunni acquisire: ";
      cin>>N;
      cin.getline(a,1);
    }while((N<1)||(N>32));
    for(I=0;I<N;I++){
      cout<<endl;
      cout<<I+1<<char(248)<<" alunno "<<endl;
      cout<<endl;            
      cout<<"Nome: ";
      cin.getline(alunni[I].nome,20);
      cout<<"Cognome: ";
      cin.getline(alunni[I].cognome,25);
      cout<<"Classe: ";
      cin.getline(alunni[I].classe,15);
      
      cout<<endl;
      cout<<"Scritto 1"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Scritto: ";
        cin>>alunni[I].scritto1quad;
      }
    
      cout<<endl;
      cout<<"Orale 1"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
    
      for(I=0;I<4;I++){
        cout<<"Orale: ";
        cin>>alunni[I].orale1quad;
      }
    
      cout<<endl;
      cout<<"Pratico 1"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Pratico: ";
        cin>>alunni[I].pratico1quad;
      }
      
      cout<<endl;
      cout<<"Scritto 2"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Scritto: ";
        cin>>alunni[I].scritto2quad;
      }
      
      cout<<endl;
      cout<<"Orale 2"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Orale: ";
        cin>>alunni[I].orale2quad;
      }
            
      cout<<endl;
      cout<<"Pratico 2"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Pratico: ";
        cin>>alunni[I].pratico2quad;
      }
      
    }    
}

void visualizzaalunni(Tregistro alunni, int N){
    int I; 
    cout<<endl;      
    cout<<"----------------Riepilogo----------------"<<endl;      
    cout<<endl; 
    for(I=0;I<N;I++){
      cout<<I+1<<char(248)<<" alunno "<<endl;
      cout<<endl;     
      cout<<"Nome: "<<alunni[I].nome<<endl;
      cout<<"Cognome: "<<alunni[I].cognome<<endl;
      cout<<"Classe: "<<alunni[I].classe<<endl;
      cout<<endl;
      cout<<"Scritto 1"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
      cout<<"Scritto: "<<alunni[I].scritto1quad<<endl;
      }
          
      cout<<endl;
      cout<<"Orale 1"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
      cout<<"Orale: "<<alunni[I].orale1quad<<endl;
      }
      cout<<endl;
      cout<<"Pratico 1"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Pratico: "<<alunni[I].pratico1quad<<endl;
      }
      
      cout<<endl;
      cout<<"Scritto 2"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Scritto: "<<alunni[I].scritto2quad<<endl;
      }
            
      cout<<endl;
      cout<<"Orale 2"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Orale: "<<alunni[I].orale2quad<<endl;
      }
      
      cout<<endl;
      cout<<"Pratico 2"<<char(248)<<" quadrimestre: "<<endl;
      cout<<endl;
      
      for(I=0;I<4;I++){
        cout<<"Pratico: "<<alunni[I].pratico2quad<<endl;
      }  
    }    
}        
               

int main()
{
  Tregistro alunni;
  int N;
  
  acquisiscialunni(alunni,N);
  visualizzaalunni(alunni,N);
  
    
  system("PAUSE");	
  return 0;
}