[C con Clase] Pilas
Jose Villafañe
joev89 en gmail.com
Lun Abr 27 16:32:26 CEST 2009
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!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090427/5e0b6404/attachment.html>
Más información sobre la lista de distribución Cconclase