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?