Jump to content

Agenda com Arvore Binaria


AprendendoC
 Share

Recommended Posts

boas galera.. tenho um trabalho de Estrutura de Dados para fazer, e o problema e o seguinte:

Como posso adicionar mais de um dado no mesmo no da arvore??

no codigo que tenho ate agora ele insere apenas o nome da pessoa, mas queria inserir telefone e email, mas a minha duvida e como inserir o telefone e o email no mesmo no que o nome??

eis o codigo:


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct arvore
{
 char nome[10];
 struct arvore *pai;
 struct arvore *esq;
 struct arvore *dir;
} arvore;

arvore *Raiz;

void incluir_nome(char novo[])
{
 arvore *p,*q,*r;

 p = (arvore *)calloc(1,sizeof(arvore));

 strcpy(p->nome,novo);
 p->esq = NULL;
 p->dir = NULL;

 if (Raiz == NULL)
Raiz = p;
 else
 {
q = Raiz;
while (q != NULL)
{
  r = q;
  if (strcmp(novo,q->nome) <= 0)
	q = q->esq;
  else
	q = q->dir;
}
if (strcmp(novo,r->nome) <= 0)
  r->esq = p;
else
  r->dir = p;
p->pai = r;
 }
}

void mostrar_arvore(arvore *p)
{
 if (p == NULL)
return;
 mostrar_arvore(p->esq);
 printf("%s\n",p->nome);
 mostrar_arvore(p->dir);
}

int main(int args, char * arg[])
{  
 char op,novo[10];

 Raiz = NULL;

 do
 {
printf("Nome -> ");
scanf("%s",&novo);
if (strcmp(novo,"fim") == 0)
  break;
incluir_nome(novo);
printf("Relacao de assinantes:\n");
mostrar_arvore(Raiz);
printf("\n");
 }
 while (1);  
 printf("\n");
 system("Pause");
 return 0;
}

Desde já agradeço a Ajuda de Todos.

Link to comment
Share on other sites

Pq n usar um array de array de char em vez de só array de char para o nome?

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.