[C con Clase] Pilas
David fire
ddfire en gmail.com
Lun Abr 27 18:40:53 CEST 2009
pone el codigo del menu principal.
David
El 27 de abril de 2009 11:32, Jose Villafañe <joev89 en gmail.com> escribió:
> Buenas gente!
> tengo el siguiente problema....en un proyecto de la uni me mandaron a hacer
> un programa que muestre un menu y permita al usuario entre trabajar con
> arreglos, con pilas, con colas o salir del programa...eso lo hice!;
> el menu principal queda asi:
>
> 1.-Arreglos
> 2.-Pilas
> 3.-Colas
> 4.-Salir
>
> Cuando entras a las pilas o las colas el menu queda asi:
>
> 1.-Insertar
> 2.-Extraer
> 3.-Visualizar la Pila/Cola
> 4.-Salir
>
> ahora...el proble es que, en teoria, cuando entras al menu de las
> pilas(notar que esta de segunda opcion) y escoges la opcion Salir, deberia
> regresar al menu principal, pero en vez de eso, se va hacia el menu de las
> colas, y ahi es cuando, si le das a la opcion Salir, regresa al Menu
> Principal
>
> necesito ayuda para saber que puedo hacer para que en vez de pasar del menu
> de pilas al de colas, al darle a la opcion salir..se vaya al menu principal!
>
> Les dejo parte del codigo...especificamente la parte de la pila, a ver si
> me pueden ayudar por favor!
>
> void Pila(void)
> {
> char opc;
> do
> {
> system("cls");
>
> cout << "\t \t \t \tPila." << endl;
> cout << "\n";
>
> cout << "1.- Insertar" << endl;
> cout << "\n";
>
> cout << "2.- Extraer" << endl;
> cout << "\n";
>
> cout << "3.- Visualizar la pila" << endl;
> cout << "\n";
>
> cout << "4.- Salir" << endl;
> opc=getch( );
> switch(opc)
> {
> case '1':
> insertar( );
> break;
> case '2':
> extraer( );
> break;
> case '3':
> visualizar( );
> }
> }while (opc!='4');
> }
>
> void insertar(void)
> {
> AUX=(struct pila *)malloc(sizeof(struct pila));
> system("cls");
> cout << "Nombre: ";
> gets(AUX->nombre);
> if (CAB==NULL)
> {
> CAB=AUX;
> AUX->ant=NULL;
> }
> else
> {
> AUX->ant=CAB;
> CAB=AUX;
> }
> }
>
> void extraer(void)
> {
> if (CAB==NULL) return;
> AUX=CAB;
> CAB=CAB->ant;
> free(AUX);
> }
>
> void visualizar(void)
> {
> if (CAB==NULL) return;
> system("cls");
> AUX=CAB;
> while (AUX!=NULL)
> {
> cout << "Nombre: " << AUX->nombre << endl;
> AUX=AUX->ant;
> }
> getch( );
> }
>
>
> Gracias de antemano!
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
--
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090427/c34b03a9/attachment.html>
Más información sobre la lista de distribución Cconclase