jueves, 8 de septiembre de 2011

Ejemplo de como armar un arbol familiar e imprimirlo usando recursividad

#include
#include
#include

using namespace std;

/*
*
*/
struct Persona
{
char nombre[30];
char apellido[30];
struct Persona *hijo;
};

void ShowTree(struct Persona persona, int level)
{
for(int i=0;i<=level;i++)
{
printf("--");
}
printf("%s %s \n ",persona.nombre, persona.apellido);
if(persona.hijo!=NULL)
{
struct Persona hijo=*persona.hijo;
ShowTree(hijo,++level);
}
}

int main(int argc, char** argv) {
struct Persona padre;
struct Persona hijo;
struct Persona nieto;
padre.hijo=&hijo;
hijo.hijo=&nieto;

strncpy(padre.nombre,"Juan",30);
strncpy(padre.apellido,"Perez",30);

strncpy(hijo.nombre,"Juan Jr",30);
strncpy(hijo.apellido,"Perez",30);

strncpy(nieto.nombre,"Juan Jr Jr",30);
strncpy(nieto.apellido,"Perez",30);

ShowTree(padre,0);
}

No hay comentarios:

Publicar un comentario