Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda Con Programa De C

Estas en el tema de Ayuda Con Programa De C en el foro de C/C++ en Foros del Web. Holaa... Primero que nada acbe destacar que soy relativamente nuevo en estooo y talvez lo que me pase es un error obviooo pero si alguien ...
  #1 (permalink)  
Antiguo 27/11/2009, 18:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Ayuda Con Programa De C

Holaa... Primero que nada acbe destacar que soy relativamente nuevo en estooo y talvez lo que me pase es un error obviooo pero si alguien me puede ayudar estariaaa muyy bien...
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

struct Nodo{
static const int n = 2;
char * d;
struct Nodo * hijos[n];
int nhijos;
};

typedef struct Nodo Nodo;

void print(Nodo * raiz);

Nodo * crearNodo(char * d)
{
int i, n=2;
Nodo * nuevo;
nuevo=(Nodo*)malloc(sizeof(Nodo));
nuevo->d=(char*)malloc(strlen(d)*sizeof(char)+1);
strcpy(nuevo->d,d);
nuevo->nhijos=0;
for(i=0; i<n; i++)
nuevo->hijos[i]=0;
return nuevo;
}
Nodo * agregar(char * d, Nodo * raiz, char * padre)
{
int i;
if(!raiz)
return crearNodo(d);
if(strcmp(raiz->d,padre)==0)
{
raiz->hijos[raiz->nhijos++]=crearNodo(d);
return raiz;
}
for(i=0; i<raiz->nhijos; i++)
agregar(d, raiz->hijos[i],padre);
return raiz;
}

void print(Nodo* raiz)
{
int i;
if(raiz==NULL) return;
printf("%s\n",raiz->d);
for(i=0; i<raiz->nhijos; i++){

printf("\n");
print(raiz->hijos[i]);
}
getchar();
}
void menu()
{
printf("\n\n\t\t Elige una opcion:\n\n\n");
printf("\t1- Llenar Diagrama De Pert\n");
printf("\t2- Imprimir\n");
printf("\t3- Salir\n");
}

int main()
{
int flag=1;
Nodo *raiz= 0;


do{

menu();
int opcion =0;
Nodo * tree=0;
char cont[2];
scanf("%i", &opcion);
char padre[2]=" ";

switch(opcion)
{
case 1:
raiz=agregar(padre,raiz,0);
break;

case 2: print(raiz);

break;
case 3: flag=0;
break;
} system("cls");
}while(flag==1);

getch();
return 0;
}

En Teoriaaaaa ME debe guardar los datos que le pongaa y hacer un arbol ... peroo uan de dos o no lo guarda o no lo imprime que puede ser?? alguien que me pueda ayudarr ?? Gracias De antemano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:21.