Programación General > C/C++
funcion de pila solo me muestra un elemento
luchojimenez:
como les venia diciendo esta funcion hace parte de un progrma de una pila , pero el problema es que solo me muestra el primer elemento de la pila ingresada no importa si la pila tiene mas elementos, entoces me gustaria que me colaboraran optimizandolo
--- Código: C++ --- void visualizar (void)// funcion de la pila que le permite visualizar datos{char n;p = (struct pila*) malloc(sizeof(struct pila));if (cima==NULL)//si c esta vacio{do{clrscr();cout<<"NO HAY ELEMENTOS A LISTAR";//entoces mostrar estogotoxy(5,19);cout<<"Desea regresar al menu principal S/N"<<endl;gotoxy(5,20);cin>>n;}while((n=='n')||(n=='N'));menu();} else// si no{clrscr();//limpiar pantallado{p=cima;//asignas inicio a pwhile (p!=NULL)//mientras la p no este vacia{ printf("primer nombre : %sn", p->prinomb);printf("segundo nombre : %sn", p->segnomb);printf("primer apellido : %sn", p->priapel);printf("segundo apellido : %sn", p->segapel);printf("cedula : %dn", p->ced);printf("edad: %dn", p->edad);printf("tel : %dn", p->tel);printf("sexo : %sn", p->sex);printf("afiliacion: %sn",p->eps);printf("E_mail: %sn", p->mail); p=p->sig;free(cima);gotoxy(5,19);cout<<"Desea regresar al menu principal S/N"<<endl;gotoxy(5,20);cin>>n;}}while((n=='n')||(n=='N'));menu();} getch();}
m0skit0:
Por favor usa las etiquetas de código la próxima vez (que para eso están)
--- Código: C ---free(cima); ¿Esto no te da ningún error en ejecución? No veo mucho sentido liberar siempre el mismo elemento. Fíjate que cima siempre tiene el mismo valor dentro del bucle while. Supongo que lo que quieres quitar es el elemento que estás mostrando. Si no, no me explico qué pretendes con ese free.
luchojimenez:
hombre hice lo dijistes pero sigue con lamisma dificultad
m0skit0:
Yo no te he dicho que hagas nada, amigo.
luchojimenez:
en ese caso perdone amigo
Navegación
[#] Página Siguiente
Ir a la versión completa