SHARE
TWEET

Untitled

a guest Jan 19th, 2018 78 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. /*!
  3.  *
  4.  * @begin @section terms_of_use Terms of Use
  5.  *
  6.  * This library is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU Lesser General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 3.0 of the License, or (at your option) any later version.
  10.  *
  11.  * @end @section terms_of_use Terms of Use
  12.  *
  13.  * @begin @section author Author
  14.  *
  15.  * @file       source6
  16.  * @version    0.1
  17.  * @brief      Pilha Desempliha como estrutura dinamica.
  18.  * @consult    estruturas de dados algoritmos, an├ílise da complexidade e implementa├ž├Áes em java e cc++ - ana fernanda gomes ascencio & graziela santos ara├║jo.pdf
  19.  * @author     Jean Zonta
  20.  * @Copyright (C) 2013 Jean Zonta.
  21.  *
  22.  * @end @section author Author
  23.  *
  24.  */
  25.  
  26. struct pilha
  27. {
  28.  int op;
  29.  int num;
  30.  pilha *prox;
  31. };
  32.  
  33. int main()
  34. {
  35.  pilha opt;
  36.  pilha *aux;
  37.  pilha *topo = NULL;
  38.  
  39.   do
  40.    {
  41.     std::cout << "\n\n\tPILHA DESEMPLILHA COMO ESTRUTURA DINAMICA"
  42.                  "\n\tMENU DE ESCOLHA DA PILHA"
  43.                  "\n\t1 - INSERIR NA PILHA"
  44.                  "\n\t2 - CONSULTAR TODA PILHA"
  45.                  "\n\t3 - REMOVER DO TOPO"
  46.                  "\n\t4 - DESEMPILHAR E REMOVER"
  47.                  "\n\t5 - ESVAZIAR A PILHA"
  48.                  "\n\t6 - SAIR"
  49.                  "\n\tESCOLHA: ";
  50.     std::cin >> opt.op;
  51.    
  52.        if(opt.op == 1)
  53.         {
  54.          std::cout<<"\n\tQUANTOS NUMEROS DESEJA INSERIR?\n\tDIGITE: ";
  55.          std::cin>>opt.num;
  56.          for(int i=0;i<opt.num;i++)
  57.          {
  58.           std::cout << "\n\tINSIRA NA PILHA O NUMERO "<<i+1<<": ";
  59.            pilha *novo = new pilha();
  60.            std::cin >> novo->num;
  61.            novo->prox = topo;
  62.            topo = novo;
  63.           std::cout << "\n\tNUMERO "<<novo->num<<" INSERIDO COM SUCESSO!!!\n";
  64.          }
  65.         }
  66.        
  67.        if(opt.op == 2)
  68.         {
  69.          if(topo == NULL)std::cout << "\n\tPILHA VAZIA!!!";
  70.          else
  71.           {
  72.            std::cout << "\n\tPILHA COMPLETA: ";
  73.            aux = topo;
  74.            while(aux != NULL)
  75.            {  
  76.             std::cout << aux->num << " ";
  77.             aux = aux->prox;
  78.            }
  79.           }
  80.         }
  81.        
  82.        if(opt.op == 3)
  83.         {
  84.          if(topo == NULL)std::cout << "\n\tPILHA VAZIA!!!";
  85.          else
  86.           {
  87.            aux = topo;
  88.            std::cout << "\n\tNUMERO: " << topo->num << " REMOVIDO COM SUCESSO!!!";
  89.            topo = topo->prox;
  90.            delete(aux);
  91.           }
  92.         }
  93.                
  94.        if(opt.op == 4)
  95.         {
  96.          if(topo == NULL)std::cout << "\n\tPILHA VAZIA!!!";
  97.          else
  98.           {
  99.            aux = NULL;
  100.            //std::cout<<"\n\tTOPO: "<<topo->num;
  101.            if(topo->prox != NULL)
  102.             {
  103.              if(topo->prox->prox)
  104.               aux = topo->prox->prox;
  105.               std::cout << "\n\tNUMERO: " << topo->prox->num << " REMOVIDO COM SUCESSO!!!";
  106.               delete topo->prox;    
  107.              topo->prox = aux;
  108.             }
  109.           }
  110.         }
  111.        
  112.        if(opt.op == 5)
  113.         {
  114.          if(topo == NULL)std::cout << "\n\tPILHA VAZIA!!!";
  115.          else
  116.           {
  117.            aux = topo;
  118.            while(aux != NULL)
  119.            {
  120.             topo = topo->prox;
  121.             delete(aux);
  122.             aux = topo;
  123.            }
  124.            std::cout << "\n\tPILHA ESVAZIADA COM SUCESSO!!!!";
  125.           }
  126.         }
  127.        
  128.        if(opt.op < 1 || opt.op > 6)
  129.        std::cout << "\n\tOPCAO INVALIDA!!!";
  130.         else
  131.        if(opt.op == 6)  
  132.        std::cout << "\n\tGOOD BYE ...!!\n\n";
  133.  
  134.    }while(opt.op != 6);
  135.  return 0;
  136. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top