Capturas:
Codigo:
Agenda.cpp
#include#include #include "agenda.h" using namespace std; int main() { arbol A; Tarbol b; char nombre[30]; char telefono[10]; char direccion[30]; char Email[40]; int op; A.insertar(A.miarbol,"m"," 1"," 1"," 1"); cout< >op; switch(op) { case 1: {fflush(stdin); system("cls"); //agregar cout< nombre< telefono< Email< direccion< nombre)<0){ insertar(aux->Izdo,nom,tel,dir,e); }else if(strcmpi(nom,aux->nombre)>0 ){ insertar(aux->Dcho,nom,tel,dir,e);} } } Tarbol arbol::buscar(Tarbol aux,char nom[30]) { if (aux==NULL){ return NULL;} else {if (strcmpi(nom,aux->nombre)==0){ return aux;} else { if (strcmpi(nom,aux->nombre)<0){ return buscar(aux->Izdo, nom);} else{ return buscar(aux->Dcho, nom);}} } } void arbol::borrar( Tarbol &aux,char nom[30]) { if (aux==NULL){ cout<<"contacto no encontrado no encontrado !!";} else {if (strcmpi(nom,aux->nombre)<0){ borrar(aux->Izdo, nom);} else {if (strcmpi(nom,aux->nombre)>0){ borrar(aux->Dcho,nom);} else{ Tarbol temp=aux; if (aux->Izdo== NULL){ aux = aux->Dcho; }else {if (aux->Dcho == NULL){ aux = aux->Izdo;} else {reemplazar(temp,temp->Izdo);} delete temp; } } } } } void arbol::reemplazar(Tarbol &temp, Tarbol &aux) { if(aux->Dcho!=NULL){ reemplazar(temp,aux->Dcho);} else{ strcpy(temp->nombre,aux->nombre); strcpy(temp->telefono,aux->telefono); strcpy(temp->Email,aux->Email); strcpy(temp->direccion,aux->direccion); temp=aux; aux=temp->Izdo; } } void arbol::Inorden( Tarbol aux){//muestra de la A-Z if(aux!=NULL){ Inorden(aux->Izdo); //recorre el subárbol Izquierdo if(strcmpi(aux->nombre,"m")!=0){ cout<<"--NOMBRE: "<< aux->nombre<<" "< telefono<<" "< Email<<" "< direccion<<" "< Dcho); //recorre el subárbol Derecho } } int arbol::Peso( Tarbol aux)//muestra el numero de contactos { if(aux!=NULL){ p++; Peso(aux->Izdo); //recorre el subárbol Izquierdo Peso(aux->Dcho); return p; }else { return -1;} }
Agenda.h
#includeclass nodo{ public: char nombre[30]; char telefono[10]; char direccion[30]; char Email[40]; nodo *Izdo, *Dcho; nodo(char nom[30],char tel[10],char dir[30],char e[40], nodo *Iz=NULL, nodo *Dr=NULL){ strcpy(nombre,nom); strcpy(telefono,tel); strcpy(direccion,dir); strcpy(Email,e); Izdo=Iz; Dcho=Dr; } class arbol; }; typedef nodo *Tarbol; class arbol{ public: Tarbol miarbol; int p; int a; arbol(){ miarbol=NULL; p=0; a=0; } void insertar(Tarbol &aux,char nom[30],char tel[10],char dir[30],char e[40]); Tarbol buscar(Tarbol aux,char nom[30]); void borrar(Tarbol &aux,char nom[30]); void reemplazar(Tarbol &temp, Tarbol &aux); void Inorden(Tarbol aux); int arbol::Peso(Tarbol aux); };
descarga todo el proyecto desde aqui.