#include "pilha_dinamica.c"

int imprime_op(void);

int main(int argc, char **argv)
{
	int op = -1, elemento = 0;

	Pilha L1 = cria_pilha();

	system("clear");
	while(op != 4)
	{
		op = imprime_op();
		switch(op)
		{
			case 1:
				printf("Qual elemento será inserido? ");
				scanf("%d", &elemento);
				if(push(&L1, elemento))
					printf("Elemento empilhado\n");
				else
					printf("Erro:\n\tElemento não empilhado\n");
				getchar();
				break;
			case 2:
				printf("Desempilhando...\n");
				if(pop(&L1, &elemento))
                    printf("Elemento removido: %d\n", elemento);
				else
					printf("Erro:\n\tElemento nao removido\n");
				getchar();
				break;
			case 3:
				imprime_pilha(&L1);
				getchar();
				break;
		}
		getchar();
		system("clear");
	}
	return 0;
}

int imprime_op()
{
	int op;

	do
	{
		printf("---------------- Qual a operacao? -----------------\n");
		printf("[1] - Inserir um elemento\n");
		printf("[2] - Remover um elemento\n");
		printf("[3] - Imprimir a pilha\n");
		printf("[4] - Sair do programa\n");
		printf("Operacao: "); setbuf(stdin,NULL);
		scanf("%d", &op);
	} while(op < 0);

	return op;
}

