Ho risolto così:
codice:
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main(){
struct dati {
char* nome;
char* cognome;
short int eta;
};
dati dade[10];
char cerca[10];
for(int i=0; i<sizeof(dade); i++){
dade[i].nome=(char*)malloc(sizeof(char)*20);
dade[i].cognome=(char*)malloc(sizeof(char)*20);
}
//Dati di esempio
dade[0].nome= "Davide";
dade[0].cognome= "Cavallini";
dade[0].eta = 25;
dade[1].nome= "Elena";
dade[1].cognome= "Berti";
dade[1].eta = 23;
dade[2].nome= "Sara";
dade[2].cognome= "Tagliapietra";
dade[2].eta = 22;
//
cout << "Cerca: ";
cin.getline(cerca,sizeof(cerca));
for(int a=0; strlen(dade[a].nome)>1; a++){
if(strncmp(cerca,dade[a].nome, 4)==0 || strncmp(cerca,dade[a].cognome, 4)==0){
cout << dade[a].nome << " " << dade[a].cognome << " " <<dade[a].eta << endl;
return main();
}
}
cout << "Risultato non trovato"<<endl; ;
return main();
}