Guest User

Untitled

a guest
Jan 14th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.37 KB | None | 0 0
  1. #include<stdio.h>
  2. #define TAM 20
  3.  
  4. int topo = -1;
  5. int pilha[TAM];
  6.  
  7. void push(void);
  8. void pop(void);
  9. void listar(void);
  10.  
  11. int main()
  12. {
  13.    int opcao = -1;
  14.    while(opcao != 4)
  15.    {
  16.       printf("\nO que quer fazer?\n");
  17.       printf("\n1. Inserir elemento na pilha.\n");
  18.       printf("\n2. Retirar elemento da pilha.\n");
  19.       printf("\n3. Ver a pilha.\n");
  20.       printf("\n4. Sair\n");
  21.       printf("\nOpção desejada: ");
  22.       scanf("%d", &opcao);
  23.  
  24.       switch(opcao)
  25.       {
  26.          case 1: push(); break;
  27.          case 2: pop(); break;
  28.          case 3: listar(); break;
  29.          case 4: return 0; break;
  30.          default: printf("\nOpção inválida.\n");
  31.       }
  32.    }
  33. }
  34.  
  35. void push(void)
  36. {
  37.    if(topo < TAM - 1)
  38.    {
  39.       topo++;
  40.       printf("\nDigite o elemento a ser colocado na pilha: ");
  41.       scanf("%d", &pilha[topo]);
  42.       printf("\nO elemento foi colocado na pilha.\n");
  43.    }
  44.    else
  45.    {
  46.       printf("\nA pilha está cheia.\n");
  47.    }
  48. }
  49.  
  50. void pop(void)
  51. {
  52.    if(topo < 0)
  53.    {
  54.       printf("\nA pilha está vazia.\n");
  55.    }
  56.    else
  57.    {
  58.       topo--;
  59.       printf("\nO elemento foi retirado da pilha.\n");
  60.    }
  61. }
  62.  
  63. void listar(void)
  64. {
  65.    int i;
  66.    if(topo < 0)
  67.    {
  68.       printf("\nA pilha está vazia.\n");
  69.    }
  70.    else
  71.    {
  72.       for(i = topo; i >= 0; i--) printf("%d\n", pilha[i]);
  73.    }
  74.    printf("\n\n");
  75. }
Add Comment
Please, Sign In to add comment