Pilha
Publicado por Leonardo Barrozo dos Santos 10/03/2003
[ Hits: 13.457 ]
Código fonte de um programa de pilha.
/*
+-----------------------------------------------------------+
| Programador: Leonardo Barrozo dos Santos |
| Descrição..: Programa que demonstra o funcionamente de |
| ...........: uma pilha. |
| Arquivo....: pilha.c |
+-----------------------------------------------------------+
*/
#include<stdio.h>
#define MAX 10 //MAX = Quantidade de elementos máximos na pilha
int topo=-1; //Indica o topo da pilha
int pilha[MAX]; //Declaração da pilha
void insere (void); //Função que insere itens na pilha
void remover(void); //Função que remove itens da pilha
void exibe (void); //Função que exibe os itens da pilha
int main (void)
{
int op;
for (;;)
{
system("clear"); //Limpa a tela, somente no Linux
//---------------------------------
//MENU PRINCIPAL
//---------------------------------
printf("\nMenu");
printf("\n\n1- Insere");
printf("\n2- Remover");
printf("\n3- Exibir");
printf("\n4- Sair");
printf("\n\nEntre a sua opção:");
//---------------------------------
scanf("%d",&op);
switch(op) {
case 1 : insere();
break;
case 2 : remover();
break;
case 3 : exibe();
break;
case 4 : exit(0);
default: printf("\nOpção Errada");
getchar();
break;
}
}
}
void insere (void)
{
int i;
topo = topo + 1;
if (topo == MAX) //Insere itens na pilha até que topo for diferente de MAX
{
printf("\nPilha Cheia");
topo = topo - 1;
getchar();
}
printf("Entre com o número (TOPO = %d): ",topo);
scanf ("%d",&i);
pilha[topo] = i;
}
void remover (void)
{
if (topo >= 0)
{
pilha[topo] = 0;
topo = topo - 1;
}
else
{
printf("Pilha Vazia");
getchar();
}
}
void exibe (void)
{
int x;
char s[80];
system("clear");
for (x=0;x<=topo;x++)
printf("\n %d",pilha[x]);
printf("\n (S)air");
scanf("%s",s);
}
Métodos de Ordenação - Quick Sort
Algoritmo estatístico para cálculo de PI em C
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Atalho para usar interrogação (1)
VOL já não é mais como antes? (12)
Scripts ou binários [RESOLVIDO] (4)
Pergunta: Meu teclado não está respondendo direito como e consertar? ... (4)









