Devo creare una rubrica telefonica utilizzando la standard template library.
Se simulo una chiamata e poi torno al menù quando vado a far visualizzare la lista il compilatore salta la lettura del file e quindi non mi stamoa i numeri di telefono delle chiamate.
Non riesco a capire dove sbaglio mi potete aiutare grazie
Se simulo una chiamata e poi torno al menù quando vado a far visualizzare la lista il compilatore salta la lettura del file e quindi non mi stamoa i numeri di telefono delle chiamate.
Non riesco a capire dove sbaglio mi potete aiutare grazie
chiamateEff.clear(); system("CLS"); chiamateEffettuate.open("ChiamateEffetuate.txt"); cout<<"\t\tChiamate effettuate"<<endl<<endl; while(!chiamateEffettuate.eof()){ getline(chiamateEffettuate,line); cstr = new char [line.length()+1]; strcpy (cstr, line.c_str()); char * p = strtok (cstr,"\t\t/:"); while (p!=NULL){ // cout << p << endl; infoChiamateEff.push_back(p); p = strtok(NULL,"\t\t/:"); } } for(int f=0;f!=infoChiamateEff.size();f=f+7){ c.numero=infoChiamateEff[f]; c.durata=infoChiamateEff[f+1]; c.giorno=atoi(infoChiamateEff[f+2]); c.mese=atoi(infoChiamateEff[f+3]); c.anno=atoi(infoChiamateEff[f+4]); c.ora=atoi(infoChiamateEff[f+5]); c.minuti=atoi(infoChiamateEff[f+6]);; chiamateEff.push_back(c); } while(!rubrica.eof()){ //Si legge da file il numero e il nome del contatto e si inserisce nella classe rubrica>>r.nome; rubrica>>r.numero; rubricaTelefonica[r.nome]=r.numero; } for(ce=chiamateEff.begin();ce!=chiamateEff.end();ce++){ trovato=false; for(it=rubricaTelefonica.begin();it!=rubricaTelefonica.end();it++){ if(ce->numero==it->second){ cout<< it->first<<" "<<ce->durata<<" "<<ce->giorno<<"/"<<ce->mese<<"/"<<ce->anno<<" "<<ce->ora<<":"<<ce->minuti<<endl; trovato=true; break; } } if(!trovato){ cout<< ce->numero<<"(Sconosciuto)"<<" "<<ce->durata<<" "<<ce->giorno<<"/"<<ce->mese<<"/"<<ce->anno<<" "<<ce->ora<<":"<<ce->minuti<<endl; } } delete[] cstr; chiamateEffettuate.close(); cout<<endl<<"Vuoi tornare al menu'? y/n"; cin>>ritorno; break; |