I am trying to insert 2 items (phone number and name), and when entering the phone number I find the name associated with that phone number. What I have currently only inserts the phone number and I do not know how to add the name and what they are associated with. (the code according to what I have works) Full code URL
Main code:
... switch (opcion)
{
case 1:
printf("\nTelefono a insertar: ");
scanf("%d",&aux);
a = insertar(a, aux);
printf("\nTelefono insertado");
/* printf("\nNombre a insertar: ");
scanf("%d",&aux2);
a = insertar(a, aux2);
printf("\nNombre insertado");
*/break;
case 2:
printf("\nNumero a encontrar: ");
scanf("%d",&aux);
if(encontrar(a, aux) != NULL)
{
printf("\nNumero de telefono: %d", encontrar(a, aux)->valor);
//printf("\nNombre insertado: %d", encontrar(a, aux2)->nombre);
}
else
{
printf("\nNo encontrado");
}
break;
}...
Code in the header:
#
ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
typedef struct nodo_arbol
{
int valor; /* Campo donde almacenaremos el valor */
char nombre[255];
struct nodo_arbol *izq; /* Puntero al hijo izquierdo */
struct nodo_arbol *der; /* Puntero al hijo derecho */
}NODO_ARBOL, *P_NODO_ARBOL;
P_NODO_ARBOL crearArbol();
int esVacio(P_NODO_ARBOL a);
P_NODO_ARBOL insertar(P_NODO_ARBOL arbol, int i);
P_NODO_ARBOL encontrar (P_NODO_ARBOL arbol, int i);
void preOrder(P_NODO_ARBOL a);
void postOrder(P_NODO_ARBOL a);
void inOrder(P_NODO_ARBOL a);
#endif // HEADER_H_INCLUDED
Function.h:
P_NODO_ARBOL insertar(P_NODO_ARBOL arbol, int i)
{
int x;
P_NODO_ARBOL p; /* Para no perder la cabeza del arbol */
//P_NODO_ARBOL h; /* Para no perder la cabeza del arbol */
if (arbol == NULL)
{
p = alojar_nodo_arbol();
p->izq = p->der = NULL;
p->valor = i;
return (p);
}
if (arbol->valor == i)
return (arbol);
if (arbol->valor > i) /* "i" es menor que el valor que analizo, por tanto,
inserto a la izquierda */
arbol->izq = insertar(arbol->izq, i);
else
arbol->der = insertar(arbol->der, i);
return (arbol);
}