#include "pilha_dinam.c"

int imprime_op(void);

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

    Pilha F1 = cria_pilha();
    Pilha aux = cria_pilha();

    system("clear");
    while(op != 5) {
        op = imprime_op();
        switch(op) {
            case 1:
                printf("Qual elemento será inserido? ");
                scanf("%d", &elemento);
                if(push(&F1, elemento))
                    printf("Elemento enfilado\n");
                else
                    printf("Erro:\n\tElemento não enfilado\n");
                getchar();
                break;
            case 2:
                printf("Desenfilando...\n");
                if(pop(&F1))
                    printf("Elemento desenfilado\n");
                else
                    printf("Erro:\n\tElemento nao enfilado\n");
                getchar();
                break;
            case 3:
                printf("Separando...\n");
                separa_parimpar(&F1);
                getchar();
                break;
            case 4:
                imprimir(&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] - Separar pares e impares\n");
        printf("[4] - Imprimir a pilha\n");
        printf("[5] - Sair do programa\n");
        printf("Operacao: "); setbuf(stdin,NULL);
        scanf("%d", &op);
    } while(op < 0);

    return op;
}


