MENU DE PILAS Y COLAS
#include "stdio.h"
#include <stdlib.h>
#include "conio.h"
#include <iostream.h>
#define MAX=99;
void menu1(void);
void adicionar(void);
void eliminar(void);
void visualisar(void);
void menu2(void);
void agregar(void);
void retirar(void);
void mostrar(void);
int a[100],n,pila[100],tope=0,max=100;
int i=0,cola[100],maxc=100,frente=-1,final=-1;
char ch;
main()
{
char opc;
do{
clrscr();
gotoxy(28,8);printf("MENU PRINCIPAL");
gotoxy(35,10);printf("1. COLAS");
gotoxy(35,12);printf("2. PILAS");
gotoxy(35,14);printf("3. SALIR");
gotoxy(30,16);
printf("escoja una opcion de 1 a 3==> ");
opc=getch();
switch(opc){
case '1':
menu1();
break;
case '2' :
menu2();
break;
case '3':
exit(0);
break;
}
}while(opc!='4');
return 0;
}
/******************COLAS*******************/
void menu1(void)
{
char opc='0';
clrscr();
do
{
clrscr();
gotoxy(32,8);printf("MENU COLAS");
gotoxy(35,10);printf("1.Añadir");
gotoxy(35,12);printf("2.Eliminar");
gotoxy(35,14);printf("3.visualisarr");
gotoxy(35,16);printf("4.regresar");
gotoxy(35,18);printf("Escoja una opcion=>");
cin>>opc;
switch(opc){
case'1':adicionar();
break;
case'2':eliminar();
getch();
break;
case'3':visualisar();
getch();
break;
case'4':
break;
default:
clrscr();
gotoxy(28,14);
printf("OPCIONES DE 1 A 4");
getchar();
break;
}
}while(opc!='4');
}
/***********AGREGAR ELEMENTO EN LA COLA****/
void adicionar()
{
char seguir='s';
if(final==max)
{
gotoxy(28,14);printf("LA COLA ESTA LLENA");
}
else
{
clrscr();
do
{
final++;
gotoxy(28,14);printf("Elemento:=>");
cin>>cola[final];
if(final==0)
frente=0;
clrscr();
gotoxy(30,16);printf("Desea añadir otro elemento(s/n):=>");
cin>>seguir;
clrscr();
}while((seguir=='s')||(seguir=='S')&&(final<=max));
}
}
/******************ELIMINAR****************/
void eliminar()
{
clrscr();
if(frente==-1)
{
gotoxy(28,14);printf("LA COLA ESTA VACIA");
}
else
{
gotoxy(20,15);cout<<"Eliminar "<<cola[frente]<<" De la cola..";
cola[frente]=NULL;
frente=frente+1;
if(frente>final)
{
frente=-1;
final=-1;
}
}
}
/*****VISUALISAR EL CONTENIDO DE LA COLA*****/
void visualisar()
{
clrscr();
if(final==-1)
{
gotoxy(28,14);printf("LA COLA ESTA VACIA");
}
else
printf("nnn");
for(i=0;i<=final;i++)
{
cout<<cola[i]<<"t";
}
}
/*****************PILAS*******************/
void menu2(void)
{
char sc;
do{
clrscr();
gotoxy(24,8);printf("MENU PILAS");
gotoxy(24,10);printf("1.Agregar a la Pila");
gotoxy(24,12);printf("2.Retirar de la Pila");
gotoxy(24,14);printf("3.Mostrar la Pila");
gotoxy(24,16);printf("0.regresar");
gotoxy(24,18);printf("Digite una Opcion [ ]");
gotoxy(43,18);sc=getch();
switch(sc)
{
case '1':
adicionar();
break;
case '2' :
retirar();
break;
case '3':
mostrar();
break;
}
}while(sc!='0');
}
/*********AGREGAR ELEMENTO A LA PILA******/
void agregar(void)
{
clrscr();
if(tope==max)
{
gotoxy(15,5);printf("OVERFLOW.....");
ch=getch();
}
else
{
gotoxy(15,6);printf("Digite el Valor a Adicionar");
tope=tope+1;
scanf("%d",&pila[tope]);
}
}
/*************RETIRAR ELEMENTOS***********/
void retirar(void)
{
clrscr();
if(tope==0)
{
gotoxy(15,5);printf("UNDERFLOW....presione una tecla..");
ch=getch();
}
else
{
gotoxy(15,5);printf("Retirado %d de la Pila",pila[tope]);
ch=getch();
pila[tope]=0;
tope=tope-1;
}
}
/***MOSTRAR EL CONTENIDO DE LA PILA*******/
void mostrar(void)
{
int j,flag;
clrscr();
if(tope==0)
{
gotoxy(15,5);printf("La Pila Esta Vacia...");
gotoxy(15,6);printf("....Presione una Tecla..");
ch=getch();
}
else
{
gotoxy(10,3);printf("Contenido de la Pila");
for(j=tope;j>0;j--)
{
gotoxy(15,20+(j*(-1)));printf("%d",pila[j]);
}
ch=getch();
}
}