Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- //use uma das interfaces criadas (".h")
- #include "filaInteligente.h"
- //#include "filaCirc.h"
- int contaElementos(Fila *f)
- {
- Fila *aux=fila_cria();
- int conta=0;
- while(!fila_vazia(f))
- {
- fila_insere(aux,fila_retira(f));
- conta++;
- }
- while(!fila_vazia(aux))
- fila_insere(f,fila_retira(aux));
- fila_libera(aux);
- return conta;
- }
- int somaElementos(Fila *f)
- {
- Fila *aux=fila_cria();
- int n,soma=0;
- while(!fila_vazia(f))
- {
- fila_insere(aux,fila_retira(f));
- }
- while(!fila_vazia(aux))
- {
- n=fila_retira(aux);
- soma=soma+n;
- fila_insere(f,n);
- }
- fila_libera(aux);
- return soma;
- }
- void menu()
- {
- system("clear" || "cls"); //clear for unix
- printf("Escolha uma das opcoes do menu: \n");
- printf("1. Enfileira\n");
- printf("2. Retira \n");
- printf("3. Mostra a fila\n");
- printf("4. Conta Elementos\n");
- printf("5. Soma Elementos\n");
- printf("9. Fim\n");
- }
- //função principal
- main()
- {
- Fila *fi=fila_cria();
- int opmenu;
- int item;
- do
- {
- menu();
- scanf("%d", &opmenu);
- switch (opmenu)
- {
- case 1 : //insere
- printf("Digite o valor a ser enfileirado: ");
- scanf("%d", &item);
- fila_insere(fi,item);
- break;
- case 2 : //retira
- if(fila_vazia(fi))
- printf("fila vazia.\n");
- else
- printf("Elemento retirado = %d\n",
- fila_retira(fi));
- break;
- case 3 : //mostra
- mostra_fila(fi);
- break;
- case 4 : //conta elementos
- printf("Numero de Elementos = %d\n", contaElementos(fi));
- break;
- case 5 : //soma elementos
- printf("Soma dos Elementos = %d\n", somaElementos(fi));
- break;
- default :
- printf("Escolha uma opção válida!");
- }//switch
- printf("\n");
- system("pause");
- } while(opmenu!=9);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement