ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ejemplo Pilas en CodeBlocks


Enviado por   •  4 de Marzo de 2019  •  Reseñas  •  1.457 Palabras (6 Páginas)  •  98 Visitas

Página 1 de 6

[pic 1][pic 2]


[pic 3]

Al seleccionar la opción 1 podrás ingresas un número a la pila

[pic 4]

AL elegir la opción 2 se eliminara el último número ingresado en la pila

[pic 5]

Al seleccionar la opción tres se mostrara la pila.

[pic 6]

Con la opción se eliminara todo lo que pusimos en la pila.

[pic 7]

Con la opción 5 se mostrara el último número que se ingresó.

[pic 8]

Al elegir la opción 6 podremos salirnos del programa.

[pic 9]

CODIGO

Librerias  para entrada y salida de datos

#include

#include

using namespace std;

struct nodo{

   int nro;

   struct nodo* sgte;

};

Definimos el puntero tipo nodo donde declararemos nuestros nodos

typedef struct nodo *Puntero;

Se crea la Clase Pila donde se declaran las funciones que se usaran

class Pila{

  public:

    Pila(void);

    void Apilar(int);

    int Desapilar (void);

    void Cima(void);

    bool PilaVacia(void);

    void MostrarPila(void);

    void DestruirPila(void);

  private:

      Puntero cima;

};

Código para limpiar la pila

Pila::Pila(void){

   cima=NULL;  }

Se crea una condición que nos devolverá un valor booleano para saber si hay un valor en la pila o no.

bool Pila::PilaVacia(void){

    if (cima==NULL)

        return true;

    else

        return false;

}

Se crea la función “Apilar” donde se ingresara un valor tipo entero.

void Pila::Apilar(int x){

Se crea una variable para el puntero en este caso se llamara “p_aux”

    Puntero p_aux;

   Este código es para que el puntero se vaya a la cima.

    p_aux = new(struct nodo);

    p_aux -> nro = x;

    p_aux -> sgte = cima;

    cima = p_aux;

}

Se crea la función Cima

void Pila::Cima(){

   Se crea una condición para ver si hay algún dato en la cima de la pila si no hay ningún dato nos mandara el mensaje “Pila Vacía” y si hay algún dato en la cima de la pila nos devolverá ese valor.

     int x;

    if(cima==NULL)

        cout<<"\n\n\tPila Vacia...!";

    else{

        x = cima->nro;

        cout<<"\n\tLa Cima es :"<

Se crea la función desapilar

int Pila::Desapilar (void){

 En esta función se crea otra condición donde verificaremos que haya datos en la pila de no ser así nos devolverá el mensaje “Pila Vacía”, en cambio si hay algún dato en la pila borrara el último dato ingresado en esta (el dato que está en la cima de la pila).  

   int x;

    Puntero p_aux;

    if (cima==NULL)

      cout<<"\n\ntPila Vacia...!!";

    else{

       p_aux=cima;

       x = p_aux->nro;

       cima=cima->sgte;

       delete (p_aux);

     }

     return x;

}

Se crea la función Mostrar pila

void Pila::MostrarPila (void){

Se declara un puntero que nos ayudara a recorrer todos los nodos de la pila, este se situara en la cima de la pila.

     Puntero p_aux;

     p_aux=cima;

Si la pila no está vacía nos mostrara los datos de la pila

     while (p_aux!=NULL){

         cout<<"\t"<nro<

         p_aux=p_aux->sgte;

}}

Creamos la función Destruir Pila

void Pila::DestruirPila (void){

    Puntero p_aux;

Si la pila no está vacía el puntero ira recorriendo todos los nodos de la pila y los eliminara

    while(cima!=NULL){

        p_aux=cima;

        cima=cima->sgte;

        delete(p_aux);

}}

Creamos un método donde personalizaremos un menú para hacer más estético la navegación por las opciones del programa

void menu(void){

cout<<"\t----------------------------------------------------------\n";

cout<<"\t|          IMPLEMENTACION DE UNA PILA                    |\n";

...

Descargar como (para miembros actualizados)  txt (6.3 Kb)   pdf (775 Kb)   docx (884.4 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com