//#include #include #include #include using namespace std; class PilaE { private: int tam,tope; int *P; public: PilaE(int); void Insertar(int); int Sacar(); bool EstaVaciaPila(); bool EstaLlenaPila(); void VerPila(); }; PilaE::PilaE(int n){ tope = 0; tam = n; P = new int[tam]; //P = (int*)malloc(tam*sizeof(int)); } void PilaE::Insertar(int dato){ printf("el valor de tope es: %d",tope); P[tope++] = dato; } int PilaE::Sacar(){ int db; db=P[--tope]; return db; } bool PilaE::EstaVaciaPila(){ return tope==0; } bool PilaE::EstaLlenaPila(){ return tope==tam; } void PilaE::VerPila(){ for(int i=0; i"); cin >> op1; switch(op1){ case 1: if(!P1.EstaLlenaPila()) { printf(" Introducir el dato ->"); scanf("%d",&dato); //cin >> dato; P1.Insertar(dato); } else printf(" \nLa Pila esta llena "); break; case 2: if(!P1.EstaVaciaPila()) { dato = P1.Sacar(); printf(" \nEl dato borrado es %d", dato); } else printf(" \nLa Pila esta vacia "); break; case 3: if(!P1.EstaVaciaPila()) P1.VerPila(); else printf(" \nLa Pila esta vacia "); break; case 0: printf("\n Terminamos"); break; default: printf(" \nOperacíon no valida "); break; } }while(op1!=0); }