void main(){

    le_dados();
}
int main(int argc, char *argv[]){
     system("cls");
     root = NULL;
     printf("\n  ROOT: \n");
     le_dados(2);
      
     //A função recebe dados do ente familiar como parametro 
	 cria_estrutura(nome,1,root,sexo);
     char escolha;
     for (;;){
      escolha = menu();
      switch (escolha){
             case '1':  printf("\nQuem da familia vai casar ?\n");
                        le_dados(1);
                        aux =(tabela*)malloc(sizeof(tabela));
                        aux = busca(root,nome);
                        if (aux == NULL){
                           printf ( "\nE R R O --> %s nao encontrado!\n\n", nome);  
                           system("pause");   }
                        else{
                            if ( strlen(aux->nome_B)!= 0){
                               printf ( "\nE R R O --> %s ja possui conjuge!\n\n", nome);
                               system("pause");}
                            else{ 
                               printf("\nQuem sera a pessoa ?\n"); 
                               le_dados(2); 
                               if ( strlen(nome) != 0 )
                                  cria_estrutura(nome,0,aux,sexo);} }       
                        break;
             case '2':  printf("\nQuem da familia vai ter filhos ?\n");
                        le_dados(1);
                        aux =(tabela*)malloc(sizeof(tabela));
                        aux = busca(root,nome);
                        if (aux == NULL){
                           printf ( "\nE R R O --> %s nao encontrado!\n\n", nome );  
                           system("pause");   }
                        else{
                            if ( strlen(aux->nome_B)== 0 ){
                               printf ( "\nE R R O --> %s Nao tem conjuge!\n\n", nome );
                               system("pause");}
                            else{ 
                               printf("\nComo se chamara o filho de %s com %s?\n",&aux->nome_A,&aux->nome_B); 
                               le_dados(2); 
                               if ( strlen(nome) != 0 )
                                  cria_estrutura(nome,1,aux,sexo);} }
                        break;
             case '3':  le_dados(1);
              			aux = (tabela*)malloc(sizeof(tabela));
                        aux = busca(root,nome);
                        if (aux != NULL){
                           printf ( "\n --->>> Encontrado --> %s(%s)" ,&aux->nome_A,&aux->sexo_A);
                           if ( strlen(&aux->nome_B)!= 0 ) 
                              printf (" e %s(%s)\n" ,&aux->nome_B,&aux->sexo_B);
                           else
                              printf("\n");    
                           if ( aux->pai != NULL){
                              aux2 = aux->pai; 
                              printf(" PAIS --> %s(%s) e %s(%s)\n", &aux2->nome_A,&aux2->sexo_A,&aux2->nome_B,&aux2->sexo_B);}
                           else{
                              if ( strlen(&aux->nome_B)== 0 )
                                printf(" %s(%s) eh o patriarca e nao eh casado!\n", &aux->nome_A,&aux->sexo_A);
                              else
                                printf(" %s(%s) e %s(%s) sao os patriarcas!\n", &aux->nome_A,&aux->sexo_A,&aux->nome_B,&aux->sexo_B);
                              } 
                           if ( aux->filho == NULL )
                              printf(" %s(%s) nao tem filhos!\n", &aux->nome_A,&aux->sexo_A);
                           else{
                              aux = aux->filho; 
                              printf(" FILHOS --> %s(%s)",&aux->nome_A,&aux->sexo_A);
                              aux = aux->irmao;
                              while (aux != NULL){
                                    printf("\n            %s(%s)",&aux->nome_A,aux->sexo_A); 
                                    aux = aux->irmao;}}} 
                        else
                           printf ( "\nE R R O  --> %s não faz parte da familia!\n" );  
                        printf("\n");   
                        system("pause");        
                        break;  
             case '4':  imprime(root,0);
                        printf("\n\n");
                        system("pause");
                        break;                                             
             case '0':  exit(0);}}
}