#include "fila.c"

int imprime_op(void);

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

	Fila F1 = cria_fila();

	system("clear");
	while(op != 4)
	{
		op = imprime_op();
		switch(op)
		{
			case 1:
				printf("Qual elemento será inserido? ");
				scanf("%d", &elemento);
				if(insere_fim(F1, elemento))
					printf("Elemento enfilado\n");
				else
					printf("Erro:\n\tElemento não enfilado\n");
				getchar();
				break;
			case 2:
				printf("Desenfilando...\n");
				if(remove_elem(F1, &elemento))
                    printf("Elemento desenfilado: %d\n", elemento);
				else
					printf("Erro:\n\tElemento nao enfilado\n");
				getchar();
				break;
			case 3:
                print_fila(F1);
				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;
}

