Pilha
Publicado por Leonardo Barrozo dos Santos 10/03/2003
[ Hits: 13.449 ]
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);
}
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
VOL já não é mais como antes? (6)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









