buongiorno a tutti..
sto provando ed eseguire un esercizio però trovo diversi problemi nell'affrontarlo, premetto che l'insegnante non ha nemmeno spiegato gli array però da quanto ho capito guardando qui e li varie guide questo esercizio dovrei svolgerlo con gli array.

così chiedo aiuto a voi

l'esercizio dice: c'è un elenco scolastico in cui ci sono nomi degli alunni e le loro rispettive classi. si vuole contare gli studenti di ogni classe. sapendo che le classi sono 5 (la sezione non è richiesta e nemmeno l'anno)

allora io ho fatto così fino ad ora però sono bloccato perchè non saprei come andare avanti inoltre ciò che ho fatto mi sa tanto che è sbagliato.

vorrei che qualcuno mi desse qualche consiglio su magari come procedere, sicuramente ho sbagliato a priori la logica con cui affrontare l'esercizio perchè lo sento che c'è qualcosa che è sbagliato così vi chiedo una mano

codice:
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string alunno,classe1[20];
    char scelta;
    int n=0;
    cout<<"premere 1 per inserire gli alunni della prima classe"<<endl<<"premere 2 per inserire gli alunni della seconda classe"<<endl<<"premere 3 per inserire gli alunni della terza classe"<<endl<<"premere 4 per inserire gli alunni della quarta classe"<<endl<<"premere 5 per inserire gli alunni della quinta classe"<<endl<<"premere 6 per terminare"<<endl;
    cin>>scelta;
    do{
    switch(scelta)
    {
                  case '1':
                       cout<<"quanti alunni vuoi inserire nella prima classe?"<<endl;
                       cin>>n;
                       for(int i=0;i<n;i++)
                       {
                               cout<<"inserisci l'alunno "<<i+1<<endl;
                               cin>>classe1[i];
                               alunno=classe1[i]+alunno;
                       }
                       break;
                  case '2':
                       cout<<"quanti alunni vuoi inserire nella seconda classe?"<<endl;
                       break;
                  case '6':
                       system("pause");
                       return 0;
                       break;
    }
    }while(scelta!=6);
    cout<<alunno<<endl;  
    system("pause");
    return 0;
}

gli errori sono: se premo 6 esce dal programma, ok, ma se io premo 1 per esempio e compilo i primi alunni appena ho terminato il progrmama mi richiede di compilare gli alunni sempre della stessa classe.
se premo 2 invece mi stampa a video infinite volte la scritta nel case 2
infine gli alunni stampati ( cout<<alunno<<endl; ) me li stampa a video in ordine decrescente e senza spazi mentre io vorrei che magari me li stampasse con gli spazi ma comunque dell'ordine non mi interessa... cioè io alla fine dovrei riuscire a contarli questi alunni come li posso contare? anche la grandezza del vettore non saprei quale mettere una vale l'altra?