C/Visual C - ESTRUCTURA DE DATOS AVANZADO

 
Vista:

ESTRUCTURA DE DATOS AVANZADO

Publicado por Andres Felipe Arboleda (1 intervención) el 09/11/2006 15:28:05
MEDIANTE ESTE CODIGO QUE LES PONGO ALGUIEN QUE ME AYUDE O ME ORIENTE

1. Como puedo llenar de manera automatica cierta cantidad de registros por ejemplo 5
la idea es llenar por defecto esta base de datos

2. Los datos debo poderlos guardar en cualquier momento, que cuando salga de la aplicación preguntar si se desean guardar los cambios o no.

3. Como construyo un árbol que muestre el pasaje de las rutas

---------------------------------------------------------- CODIGO -----------------------------
#include"stdio.h"
#include"malloc.h"
struct ciudad {
int cod;
char nombre[30];
struct ciudad *sig;
struct ruta *cab_r;
};
struct ruta{
struct ruta *sig;
struct ciudad *dest;
};
struct ciudad *cab,*aux,*cola;
struct ruta *aux_r,*aux2_r;

int insertar_ciudad(){
int opc;
aux=((struct ciudad *)malloc(sizeof(struct ciudad)));
aux->sig=NULL;
aux->cab_r=NULL;
printf("Digite el Nombre de la Ciudad: ");
scanf("%s",&aux->nombre);
printf("\n");
if (cab==NULL){
cab=cola=aux;
cab->cod=1;

}
else
{ aux->cod=cola->cod+1;
cola->sig=aux;
cola=aux;
for(aux=cab;aux!=cola;aux=aux->sig){
printf("Digite 1 si hay ruta entre\n");
printf("%s y %s : ",&aux->nombre,&cola->nombre);
scanf("%d",&opc);
if (opc==1){
aux_r=((struct ruta *)malloc(sizeof(struct ruta)));
aux_r->sig=NULL;
aux_r->dest=cola;
if(aux->cab_r==NULL){
aux->cab_r=aux_r;
aux_r=NULL;
}
else{
aux2_r=aux->cab_r;
while(aux2_r->sig!=NULL)
aux2_r=aux2_r->sig;
aux2_r->sig=aux_r;
aux2_r=aux_r=NULL;
}
free(aux_r);
free(aux2_r);
/*
aux_r=((struct ruta *)malloc(sizeof(struct ruta)));
aux_r->sig=NULL;
aux_r->dest=aux;
if(cola->cab_r==NULL){
cola->cab_r=aux_r;
aux_r=NULL;
}
else{
aux2_r=cola->cab_r;
while(aux2_r->sig!=NULL)
aux2_r=aux2_r->sig;
aux2_r->sig=aux_r;
aux2_r=aux_r=NULL;
}
free(aux_r);
free(aux2_r);*/
}
}
}return(0);
}
int mostrar(){
for(aux=cab;aux!=NULL;aux=aux->sig)
for(aux_r=aux->cab_r;aux_r!=NULL;aux_r=aux_r->sig){
printf(" De %s",&aux->nombre);
printf(" a %s \n",aux_r->dest->nombre);
}
return(0);
}


int main(){
insertar_ciudad();
insertar_ciudad();
insertar_ciudad();
mostrar();
return(0);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder