PiLA en c++
LIFO (Last In First Out), el último en entrar es el
primero en salir.
El símil del que deriva el nombre de la estructura es una
pila de platos. Sólo es posible añadir platos en la parte superior de la pila,
y sólo pueden tomarse del mismo extremo.
/* AUTOR: Dtito */
#include <iostream>
#define MAX 3
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
void push();// funcion para cargar datos a la cola
void pop(); // funcion para cargar eliminar datos de la cola
void imprime(); //funcion para imprimir datos
int i;
char pila[MAX],tope;//variable globales
using namespace std;
int main ()
{ //inicio de main
system("color 5F");
char opc;
do
{ //inicio del do while
cout<<"\n\n **Menu**";
cout<<"\n\n1 ...:::::::: Insertar :::::::.......\n\n"<<"2 ....::::::: Quitar :::::......\n\n"<<"3 ....:::::: Ver Pila ::::......\n\n"<<"4 ....::::: SALIR ::::.....";
cout<<"\t\n\nElija una opcion:";
cin>>opc;
system("cls");
switch(opc)
{ //inicio del switch
case '1':push();break;
case '2':pop();break;
case '3':imprime();break;
default:cout<<"\n\n\n Opcion Invalida...";
} //fin del switch
} //fin de do while
while(opc!='4');
cout<<"\n\n";
return 0;
}
void push()
{
if(tope<MAX) // en ves de usar variables banderas lo acemos diractamente prguntando si el tope no esta lleno
{
cout<<"\n\nEscriba el Nombre o dato a ingrsar:";
cin>>pila[tope];
tope++;
}
else //De lo contrario el tope es igual ala max y esta llena la pila
{
cout<<"\n\n **** Pila Llena ****";
}
}
void pop()
{
if(tope==0) // si el tope es igual a cero la pila no a sido cargada y no contiene ningun elemento
{
cout<<"****************\n\n\t\t PILA VACIA \n\n*****************************";
}
else // de lo contrario decrementamos el tope para eliminar el ulitmo elemento cargado
{
tope--;
cout<<"\n\nElemento quitado es:"<<pila[tope]; // para mostrar el elemento sacado
}
}
void imprime()
{ //inicia f.imprime
if(tope==0)
{
cout<<"*************************\n\n\t\t PILAS VACIAS \n\n*************************";
}
else
{// inicio de else
cout<<"PILA";
for(i=0;i<tope;i++)// inprimimos en un for los elemntos q se cargaron o q qedan al usar la f eliminar o pop
{ //inicio de for
cout<<"\n"<<pila[i];
} //inicio de for
} // fin de else
} //fin f.imprime





0 comentarios:
Publicar un comentario