Salve, ho scritto questo codice.
Se trovo la persona funziona bene
Se scrivo qualcosa casualmente Segmentation fault (core dumped)
Se non scrivo niente mi viene fuori: �F���k��F���������� -1452

Che devo fare?

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];  

//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; 
// 

cout << "Cerca: "; 
cin.getline(cerca,sizeof(cerca));   

for(int a=0; sizeof(dade); 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 0;		 		
}  	}  	
cout << "Risultato non trovato" ;  
}