Răspuns :
#include <iostream>
#include <cstring>
using namespace std;
struct persoana {
char nume[100];
int varsta;
char adresa[100];
persoana *urm=NULL;
};
persoana *cautare(persoana *prim){
char nume[100];
cout << "Introduceti numele cautat : ";
cin.get(nume,100);
bool eol=0; //End Of List
while(strcmp(prim->nume,nume)!=0 && !eol){
if(prim->urm == NULL) eol=1;
else prim = prim->urm;
}
if(!eol) return prim;
else return NULL;
}
void afisare_rezultat(persoana *prim){
bool eol=0; //End Of List
while(!eol){
cout << "\nNume :" << prim->nume;
cout << "\nVarsta :" << prim->varsta;
cout << "\nAdresa :" << prim->adresa;
cout << endl;
if(prim->urm == NULL) eol=1;
else prim = prim->urm;
}
}
int main(){
//Creare set de date
persoana p1,p2,p3,p4;
strcpy(p1.nume, "Ana");
p1.varsta = 18;
strcpy(p1.adresa, "11");
strcpy(p2.nume, "Baciu");
p2.varsta = 19;
strcpy(p2.adresa, "22");
p2.urm = &p1;
strcpy(p3.nume, "Carmen");
p3.varsta = 20;
strcpy(p3.adresa, "33");
p3.urm = &p2;
strcpy(p4.nume, "Dan");
p4.varsta = 21;
strcpy(p4.adresa, "44");
p4.urm = &p3;
persoana *prim= &p4;
//Cautare persoana
persoana *rezultat = cautare(prim);
if(rezultat != NULL) cout << "Adresa :" << rezultat << endl;
else cout << "nu exista" << endl;
prim = &p4;
//Afisare informatii noduri
afisare_rezultat(prim);
}