You are on page 1of 2

#include <stdio.h> #include <conio.h> #include <stdlib.

h> #define maxfila 5 struct fila { int item[maxfila]; int inicio,fim; }; void iniciafila(struct fila *F) { F->inicio=maxfila-1; F->fim=maxfila-1; } int incrementa(int x) { if(x<(maxfila-1)) return(x+1); else return(0); } int filavazia(struct fila *F) { if((F->inicio)==(F->fim)) return(1); else return(0); } int filacheia(struct fila *F) { int x; x=F->fim; x=incrementa(x); if(x==F->inicio) return(1); else return(0); } void inserefila(struct fila *F,int x) { if(filacheia(F)) { printf("fila cheia"); getch(); } else { F->fim=incrementa(F->fim); F->item[F->fim]=x; } } int removefila(struct fila *F) { F->inicio=incrementa(F->inicio); return(F->item[F->inicio]); } void imprimefila(struct fila F) { while(!filavazia(&F)) printf("%d",removefila(&F));

} int main() { int x,i,n; struct fila F; iniciafila(&F); do { system("cls"); printf("1-inserir :"); printf("2-retirar :"); printf("3-imprimir :"); printf("4-sair :"); scanf("%d",&n); switch(n) { case 1: printf("digite o numero a ser inserido") ; {scanf("%d",&x); inserefila(&F,x); } break; case 2:if(filavazia(&F)) { printf("\n filavazia"); getch(); } else { x=removefila(&F); printf("elemento reti rado %d",x); getch(); } break; case 3: imprimefila(F); } } while(n!=4); return(0); }

You might also like