Ciao ragazzi, stavo scrivendo questo codice. Ci sono dei problemi che non riesco a capire
Premettendo che su Xcode non mi appaiono avvisi o altro, questo è l'errore che mi sbuca dal compilatore: "Segmentation fault (core dumped)"
#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
struct corso
{
string nomecorso;
string nomedocente;
string giornicorso;
}datiCorso;
int main()
{
string giornidellasettimana[][20] = {"lun", "mar", "mer", "giov", "ven"};
int numgiorni;
string trova;
string cerca;
int numerocorsi=0, scelta=0;
corso S[numerocorsi];
while(scelta<4)
{
cout<<" MENU\n"<<endl;
cout<<"1. Inserisci un corso"<<endl;
cout<<"2. Cerca un corso"<<endl;
cout<<"3. Mostra tutti i corsi"<<endl;
cout<<"4. Esci"<<endl;
cout<<"Inserisci qui la tua scelta: "<<flush;
cin>>scelta;
switch(scelta)
{
case 1:
{
cout<<endl<<endl;
cout<<"Quanti corsi vuoi inserire?"<<endl;
cin>>numerocorsi;
cout<<endl<<endl;
int i=0;
for(i=0;i<numerocorsi;i++)
{
cout<<"Inserisci il nome del corso : ";
getline(cin,S.nomecorso);
cout<<"Inserisci il nome del docente : ";
getline(cin,S.nomedocente);
cout<<"Quanti giorni alla settimana hai il corso? "<<endl;
cin>>numgiorni;
for(i=0;i<numgiorni;i++){
cout<<"Inserisci il giorno del corso : ";
cin>>S.giornicorso;
}
cout<<endl<<endl;
cout<<"\t\t\t";
cout<<endl<<endl;
}
break;
}
case 2:
{
system("clear");
cout<<endl<<endl;
cout<<"Inserisci il nome del corso da cercare : ";
cin>>cerca;
system("clear");
for(int i=0;i<numerocorsi;i++)
{
if(cerca==S.nomecorso)
{
cout<<endl<<endl;
cout<<"Nome del corso : "<<S.nomecorso<<endl;
cout<<"Nome del docente : "<<S.nomedocente<<endl;
cout<<"Giorni del corso : "<<S.giornicorso<<endl;
}
else
{
cout<<endl<<endl;
cout<<"\t\tInformazioni non trovate.";
}
}
break;
}
case 3:
{
system("clear");
cout<<endl<<endl;
for(int i=0;i<numerocorsi;i++)
{
cout<<"\t\t\tInformazioni del semestre "<<(i+1)<<" ."<<endl<<endl;
cout<<"Nome del corso : "<<S.nomecorso<<endl;
cout<<"Nome docente : "<<S.nomedocente<<endl;
for(i=0;i<numgiorni;i++){
cout<<"Giorno"<<i+1<<":" <<S.giornicorso<<endl;
}
}
break;
}
}
if (scelta==4)
break;
}
cout<<endl<<endl;
cout<<"\t\t\tProgramma terminato";
return 0;
}