[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