il problema credo sia nell'apertura dei vari txt files "destinazioniroma", "destinazionimilano", e con il push_back, perchè il file .txt "aeroportidisponibili" me lo legge e stampa a video tranquillamente,,,,
il main è
le funzioni chiamate sonocodice:int main(){ chooseToDo(chooseAirport()); return 0; }
si blocca quicodice:Airport* chooseAirport(){ string linea; int aeroporto; cout<<"scegli il numero corrispondente all'areoporto desiderato"<<endl; ifstream read("aeroportidisponibili.txt", ios::in); if(read){ while(!read.eof()){ //qui funziona normalmente getline(read,linea,'\n'); cout<<linea<<endl; } read.close(); } cin>>aeroporto; switch(aeroporto){ case 1: { Airport*Roma; Roma=new Airport(); vector <string> filedestination; string name; name="Roma"; ifstream read("destinazioniroma.txt", ios::in); if(read){ //
string str;
while(!read.eof()){
getline(read,str,'\n');
filedestination.push_back(str);
}
read.close();
}
Roma->setName(name);
Roma->setDestinations(filedestination);
return Roma;
break;
}
case 2:
{
Airport* Milano;
Milano=new Airport();
vector <string> filedestination;
string name;
name="Milano";
ifstream read("destinazionimilano.txt", ios::in);
if(read){
string str;
while(!read.eof()){
getline(read,str,'\n');
filedestination.push_back(str);
}
read.close();
}
Milano->setName(name);
Milano->setDestinations(filedestination);
return Milano;
break;
}
case 3:
{
Airport*Pisa;
Pisa=new Airport();
vector <string> filedestination;
string name;
name="Pisa";
ifstream read("destinazionipisa.txt", ios::in);
if(read){
string str;
while(!read.eof()){
getline(read,str,'\n');
filedestination.push_back(str);
}
read.close();
}
Pisa->setName(name);
Pisa->setDestinations(filedestination);
return Pisa;
break;
}
case 4:
{
Airport*Bologna;
Bologna=new Airport();
vector <string> filedestination;
string name;
name="Bologna";
ifstream read("destinazionibologna.txt", ios::in);
if(read){
string str;
while(!read.eof()){
getline(read,str,'\n');
filedestination.push_back(str);
}
read.close();
}
Bologna->setName(name);
Bologna->setDestinations(filedestination);
return Bologna;
break;
}
case '0':
{
break;
}
}return 0;
}
e poi la funzione dovrebbe proseguire con chooseToDo, che non ho ancora completato
codice:void chooseToDo(Airport*name){ bool end=false; cout<<"aeroporto di "<<name->getName()<<endl; cout<<"destinazioni disponibili\n"<<endl; for(unsigned int i=0;i<(name->getDestinations()).size();i++){ cout<<(name->getDestinations())[i]; } do{ int choice; cout<<"Cosa vuoi fare?"<<endl; cout<<"1.Inserisci nuovo volo; 2.Cancella un volo;3.Prenota un volo; 0.Esci"<<endl; cin>>choice; Airport*airport; switch(choice){ case 1: { airport->createFlight(name); break; } case 2: ........ ........... -.............(altro) }

Rispondi quotando