14/10/05 15:10
sofia_++
ricerco un elemento in una lista per poi restituirlo alla funzione modifica per modificarne i dati.ecco la ricerca del mio programma che non so perche se inserisco il nome del primo cliente e poi chiedo di cercarlo ,lo trova ma se per esempio cerco il nome del terzo cliente non lo trova.si limita a cercare nel primo nodo(in basso ho riportato la funzione di inserimento)
persona* azienda :: ricerca()
{
persona * pt=punt;
char name[20];
cout<<"\nInserisci il nome della persona da cercare: ";
cin>>name;
while(pt!=0)
{
if(strcmp(name,pt->nome)==0)
{
return pt;
}
pt=pt->succ;
}
return 0;
}
//questo e linserimento ma penso sia giusto
istream& operator>>(istream &is,azienda ®istro)
{
clrscr();
persona * pt = registro.punt;
persona * aux=new persona;
if(registro.punt==0) //primo nodo
registro.punt=aux;
else
{
while(pt)
pt=pt->succ;
pt=aux;
}
aux->succ=0;
// aux=new persona; //alloco una variabile dinamica
cout<<"\nInserisci il nome del cliente: ";
is>>aux->nome;
cout<<"\nInserisci il cognome del cliente: ";
is>>aux->cognome;
cout<<"\nInserisci l'indirizzo del cliente: ";
is>>aux->indirizzo;
cout<<"\nInserisci il numero civico del cliente: ";
is>>aux->n_civico;
cout<<"\nInserisci la ragione sociale del cliente: ";
is>>aux->r_sociale;
cout<<"\nInserisci il telefono del cliente: ";
is>>aux->n_tel;
return is;
}
domani devo consegnare il programma al prof,,,,
aaa