Realizar un menú que permita: ingresar, eliminar y visualizar la pila

Definición de pila: 
Es una estructura de datos que permite almacenar datos en el orden LIFO (Last In First Out, en español, "último en entrar, primero en salir"). 
La recuperación de los datos es realizada en el orden inverso de su inserción. 

Solución:
#include <iostream>
#include <ostream>
#include <sstream>
#include <iomanip>
#include <stdio.h>
#include<conio.h>
using namespace std;
#define MAX 4 // Tamaño de la Pila
int tope=-1,dato;
int EspacioPila[MAX];
void insertar(){
int a;
if (tope>MAX-2){ /*MAX-2 Debido que el tope comienza -1 para que puede ingresar los datos según
el tamaño de la pila se debe restar -2 (el intervalo del -1 "Tope" al 4 "Max de la pila"
  existe 6 por el cual hay que resta 2 )*/
cout<<"Pila llena\n";
}else{
cout<<"Ingrese el dato: ";
cin >>dato;
  tope++;
EspacioPila[tope]=dato;
}
}
void eliminar(){
if(tope==-1){//Verificamos que tenga al menos  un valor la pila para eliminar
cout<<"Pila vacia\n";
}else{
    tope--;
}
}
void visualisar(){
if(tope==-1) ////Verificamos que tenga al menos  un valor la pila para visualisar
cout<<"Pila vacia\n";
else{
cout<<"---Datos de la Pila---\n";
for (int i=tope;  i>=0;i--){
cout<<EspacioPila[i]<<"\n";
}
}


}
int main(){
int op;
bool salir = true;
do{
cout<<"\n---Menu---\n1 Insertar\n2 Eliminar\n3 Visualizar\n4 Salir\n-----------\n";
cin>>op;
switch(op){
case 1:
insertar();
break;
case 2:
eliminar();
break;
case 3:
visualisar();break;
case 4:
salir=false;
}
}while(!salir==false);
}

Related Posts

0 Comments: