Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #define TAM 10
- struct fila{
- int inicio;
- int fim;
- int vet[TAM];
- };
- typedef struct fila Fila;
- Fila* inicializaFila(){
- Fila* fila = (Fila*)malloc(sizeof(Fila));
- fila->inicio = 0;
- fila->fim = 0;
- return fila;
- }
- void imprimeFila(Fila* fila){
- int i;
- for(i=fila->inicio;i<fila->fim; i++){
- printf("%d t", fila->vet[i]);
- }
- }
- int retiraFila(Fila* fila){
- int valor;
- if (fila->inicio == fila->fim){
- printf("fila vazia.n");
- exit(0);
- }
- valor = fila->vet[fila->inicio];
- fila->inicio = incremento(fila->inicio);
- return valor;
- }
- int incremento(int i){
- if(i==TAM-1){
- return 0;
- }
- else{
- return i+1;
- }
- }
- void insere(Fila* fila, int valor){
- int incr = incremento(fila->fim);
- if(incr == fila->inicio){
- printf("Capacidade da fila estouroun");
- exit(1);
- }
- fila->vet[fila->fim]=valor;
- fila->fim=incremento(fila->fim);
- }
- int insereNumero(){
- int numero;
- printf("Entre com um valor: ");
- scanf("%d", &numero);
- return numero;
- }
- int main(){
- int opc, valor;
- Fila* fila_preferencial;
- Fila* fila_nao_preferencial;
- fila_preferencial = inicializaFila();
- fila_nao_preferencial = inicializaFila();
- do{
- printf("n**************************************");
- printf("n* CONTROLE DE FILAS *n");
- printf("* *n");
- printf("* 0- Sair *n");
- printf("* 1- Insere na Fila Preferencial *n");
- printf("* 2- Insere na Fila nao Preferencial *n");
- printf("* 3- Imprime *n");
- printf("* 4- Retira *n");
- printf("* *n");
- printf("**************************************");
- printf("nDigite a opcao desejada: ");
- scanf("%d", &opc);
- switch (opc){
- case 1:{
- valor = insereNumero();
- insere(fila_preferencial, valor);
- break;
- }
- case 2:{
- valor = insereNumero();
- insere(fila_nao_preferencial, valor);
- break;
- }
- case 3:{
- printf(" nFila Preferencial: ");
- imprimeFila(fila_preferencial);
- printf("nFila nao Preferencial: ");
- imprimeFila(fila_nao_preferencial);
- printf("n");
- break;
- }
- case 4:{
- retiraFila(fila_preferencial);
- break;
- }
- case 0:{
- break;
- }
- default:{
- printf("Opção invalida");
- break;
- }
- }
- }while(opc!=0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement