#include <stdio.h>
#include <stdlib.h>
#define TAMANHO 5
int fila[TAMANHO];
int opcao;
int numero;
int fim;
int inicio;
int vazia = 0;
void menu();
void adicionar(int numero);
int retirar();
int main()
{
opcao = 0;
inicio = 0;
fim = 0;
while(opcao != 3)
{
menu();
switch(opcao)
{
case 1:
printf("Digite o numero: ");
scanf("%d",&numero);
adicionar(numero);
break;
case 2:
if(vazia==0){
printf("\n***FILA VAZIA***\n");
}else{
numero = retirar();
printf("\nRetirado o numero %d da fila\n", numero);
}
break;
case 3:
break;
default:
printf("\nOpcao invalida!\n");
}
printf("\n\n");
}
}
void menu()
{
printf("1 - adicionar\n");
printf("2 - retirar\n");
printf("3 - sair\n");
printf("Digite a opcao: ");
scanf("%d", &opcao);
}
void adicionar(int numero)
{
if(vazia==0){
fila[fim] = numero;
fim++;
printf("\n");
if(fim==TAMANHO){
fim =0;
}
vazia = 1;
}else if(inicio==fim){
printf("\n***FILA CHEIA***\n");
}else{
fila[fim]= numero;
fim++;
}
if(fim==TAMANHO){
fim=0;
}
}
int retirar()
{
int valorParaRetorno=-1;
if(vazia==0){
printf("\n\n***Fila Vazia***\n\n");
} else{
valorParaRetorno = fila[inicio];
inicio++;
if(inicio==TAMANHO){
inicio=0;
}
if(inicio==fim){
vazia = 0;
}
return valorParaRetorno;
}
}