Escolar Documentos
Profissional Documentos
Cultura Documentos
h>
#include<stdlib.h>
char pop(){
if(topo != NULL){
NODE *aux = topo; /* auxiliar aponta para topo; Fazer free depois */
int c = topo->info; /*informa��o que est� no topo*/
topo = topo->ant; /* "decrementa" o topo */
free(aux);
return c;
}else{
return '*'; /* pilha vazia */
}
}
void imprime(int topo){
NODE *imp = topo;
while(imp != "\0"){
printf("%d", imp -> info);
imp->ant;
}
printf("----\n");
int main(){
char func;
int num, des;
do{
printf("Selecione uma funcao:\ne - Empilhar\nd - Mostrar o caractere
desempilhado\ni - Estado da pilha\ns - Sair do programa\n");
fflush(stdin);
scanf("%s", &func);
switch (func){
case 'e':
printf("Numero a ser empilhado: \n");
fflush(stdin);
scanf("%d", &num);
push(num);
break;
case 'd':
des = pop();
printf("O caractere desempilhado: %d\n", des);
break;
case 'i':
imprime(topo);
break;
case 's':
printf("Ate logo!\n");
break;
default:
printf("Caractere invalido!");
}
}while(func != 's');
return 0;
}