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(); }

Rispondi quotando