Commits

Gilson Filho  committed 83eb7be

Implementando a funcao de alertar quando a pilha estiver vazia ou cheia.

  • Participants
  • Parent commits 5016444

Comments (0)

Files changed (1)

File pilha/pilha_01.c

         //Montando as opcoes
         switch(valor) {
             case 1:     //Insercao do elemento
+                printf("\33[H\33[2J");
                 valor_pilha = 0;
                 printf("Digite o valor desejado: ");
                 scanf("%d", &valor_pilha);
 
+                //Incrementa o topo
+                topo++;
+
                 //Insere o valor na pilha
-                topo++;
-                pilha[topo] = valor_pilha;
+                if(topo == VALOR_MAX) {
+                    printf("\n\n ALERTA!!: A pilha esta cheia. Caso queira inserir mais um elemento, retire algum da pilha.");
+                } else {
+                    pilha[topo] = valor_pilha;
+                }
+                getchar();
                 break;
             case 2:
-                pilha[topo] = 0;
-                topo--;
+                if (topo < 0) {
+                    printf("ALERTA!!: A pilha ja esta vazia.");
+                } else {
+                    pilha[topo] = 0;
+                    topo--;
+                }
+                getchar();
                 break;
             case 3:
                 total = 0;
+                printf("\33[H\33[2J");
                 printf("Valores da pilha: ");
                 for (i = 0; i <= topo; i++) {
                     printf("%d, ", pilha[i]);
                     total++;
                 }
-                printf("Total de elementos da pilha: %d", total);
+                printf("\nTotal de elementos da pilha: %d", total);
                 break;
             default:
-                printf("Valor invalido.");
+                printf("\nValor invalido.");
                 break;
         }
     } while (valor < 4);