Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. #include<stdio.h>
  2. #define TAM 10
  3.  
  4. struct fila{
  5. int inicio;
  6. int fim;
  7. int vet[TAM];
  8. };
  9.  
  10. typedef struct fila Fila;
  11.  
  12. Fila* inicializaFila(){
  13. Fila* fila = (Fila*)malloc(sizeof(Fila));
  14. fila->inicio = 0;
  15. fila->fim = 0;
  16. return fila;
  17. }
  18.  
  19. void imprimeFila(Fila* fila){
  20. int i;
  21. for(i=fila->inicio;i<fila->fim; i++){
  22. printf("%d t", fila->vet[i]);
  23. }
  24. }
  25.  
  26. int retiraFila(Fila* fila){
  27. int valor;
  28. if (fila->inicio == fila->fim){
  29. printf("fila vazia.n");
  30. exit(0);
  31. }
  32. valor = fila->vet[fila->inicio];
  33. fila->inicio = incremento(fila->inicio);
  34. return valor;
  35. }
  36.  
  37. int incremento(int i){
  38. if(i==TAM-1){
  39. return 0;
  40. }
  41. else{
  42. return i+1;
  43. }
  44. }
  45.  
  46. void insere(Fila* fila, int valor){
  47. int incr = incremento(fila->fim);
  48. if(incr == fila->inicio){
  49. printf("Capacidade da fila estouroun");
  50. exit(1);
  51. }
  52. fila->vet[fila->fim]=valor;
  53. fila->fim=incremento(fila->fim);
  54. }
  55.  
  56. int insereNumero(){
  57. int numero;
  58. printf("Entre com um valor: ");
  59. scanf("%d", &numero);
  60. return numero;
  61. }
  62.  
  63. int main(){
  64. int opc, valor;
  65.  
  66. Fila* fila_preferencial;
  67. Fila* fila_nao_preferencial;
  68.  
  69. fila_preferencial = inicializaFila();
  70. fila_nao_preferencial = inicializaFila();
  71. do{
  72. printf("n**************************************");
  73. printf("n* CONTROLE DE FILAS *n");
  74. printf("* *n");
  75. printf("* 0- Sair *n");
  76. printf("* 1- Insere na Fila Preferencial *n");
  77. printf("* 2- Insere na Fila nao Preferencial *n");
  78. printf("* 3- Imprime *n");
  79. printf("* 4- Retira *n");
  80. printf("* *n");
  81. printf("**************************************");
  82.  
  83. printf("nDigite a opcao desejada: ");
  84. scanf("%d", &opc);
  85. switch (opc){
  86. case 1:{
  87. valor = insereNumero();
  88. insere(fila_preferencial, valor);
  89. break;
  90. }
  91. case 2:{
  92. valor = insereNumero();
  93. insere(fila_nao_preferencial, valor);
  94. break;
  95. }
  96. case 3:{
  97. printf(" nFila Preferencial: ");
  98. imprimeFila(fila_preferencial);
  99. printf("nFila nao Preferencial: ");
  100. imprimeFila(fila_nao_preferencial);
  101. printf("n");
  102. break;
  103. }
  104. case 4:{
  105. retiraFila(fila_preferencial);
  106. break;
  107. }
  108. case 0:{
  109. break;
  110. }
  111. default:{
  112. printf("Opção invalida");
  113. break;
  114. }
  115. }
  116. }while(opc!=0);
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement