Advertisement
GuiBrust

Untitled

Oct 19th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream>
  4. const int MAXTAM=10;
  5. using namespace std;
  6. struct Fila{
  7.     int ini;
  8.     int fim;
  9.     int nItens;
  10. };
  11.  
  12. void Criafila(struct Fila *F){
  13.     F->ini=0;
  14.     F->fim=0;
  15.     F->nItens=0;
  16. }
  17.  
  18. int FilaVazia(struct Fila *F)
  19. {
  20.   if(F->nItens==0)
  21.     return 1;
  22.   else
  23.     return 0;  
  24. }
  25. int FilaCheia(struct Fila *F)
  26. {
  27.   if(F->nItens==MAXTAM)
  28.     return 1;
  29.   else
  30.     return 0;  
  31. }
  32.  
  33. void QUEUE(struct Fila *F, int vlr){
  34.     int i=0;
  35.     if(F->nItens+vlr==MAXTAM+1){
  36.           printf("Maquina nao suporta\n");
  37.           system("pause");
  38.       }
  39.       else{
  40.         for(i=0;i<vlr;i++){
  41.             F->fim++;
  42.             F->nItens++;
  43.             printf("%d bola(s) na fila\n",F->nItens);  
  44.                 if(F->fim==MAXTAM){
  45.                     F->fim=0;
  46.                 }
  47.           }      
  48.       }
  49. }
  50.  
  51. void DEQUEUE(struct Fila *F, int vlr){
  52.   int i=0;
  53.   if(F->nItens<vlr){
  54.       printf("Quantidade maior que a disponivel\n");
  55.       system("pause");
  56.   }
  57.   else{
  58.     for(i=0;i<vlr;i++){
  59.       F->ini++;
  60.       F->nItens--;
  61.       printf("%d bola(s) na fila\n",F->nItens);
  62.           if(F->ini==MAXTAM){
  63.               F->ini=0;
  64.           }
  65.       }
  66.   }
  67. }
  68. void ModPro(struct Fila *F){
  69.     int AUX=0;
  70.     AUX=F->nItens-10;
  71.     AUX=AUX*-1;
  72.     QUEUE(F,AUX);
  73.     AUX=10;
  74.     DEQUEUE(F,AUX);
  75. }
  76. int menu(){
  77.     int n;
  78.     printf("|---------------------------|\n");
  79.     printf("|1- Colocar 1 bola.........:|\n");
  80.     printf("|2- Lancar 1 bola..........:|\n");
  81.     printf("|3- Colocar varias bolas...:|\n");
  82.     printf("|4- Lancar varias bolas....:|\n");
  83.     printf("|5- Modo profissional......:|\n");
  84.     printf("|---------------------------|\n");
  85.     printf("Escoha uma opcao: ");
  86.     scanf("%d", &n);
  87.     printf("\n\n");
  88.         system("cls"); 
  89.         return n;
  90. }
  91.  
  92. int main(int argc, char** argv){   
  93.     int n=1, bl=0;
  94.     struct Fila Fila;
  95.     Criafila(&Fila);
  96.  
  97.     while(n!=6){
  98.         n=menu();
  99.         if(n==1){
  100.             if(FilaCheia(&Fila)){
  101.                 printf("Maquina cheia\n");
  102.             }
  103.             else{
  104.                 bl=1;
  105.                 QUEUE(&Fila,bl);
  106.             }
  107.         }
  108.         else if(n==2){
  109.             if(FilaVazia(&Fila)){
  110.                 printf("Maquina Vazia\n");
  111.             }
  112.             else{
  113.                 bl=1;
  114.                 DEQUEUE(&Fila,bl);
  115.             }
  116.         }
  117.         else if(n==3){
  118.             if(FilaCheia(&Fila)){
  119.                 printf("Maquina cheia\n");
  120.             }
  121.             else{
  122.                 printf("Quantidade de bolas para colocar na fila: ");
  123.                 scanf("%d", &bl);
  124.                 QUEUE(&Fila,bl);
  125.             }
  126.         }
  127.         else if(n==4){
  128.             if(FilaVazia(&Fila)){
  129.                 printf("Maquina Vazia\n");
  130.             }
  131.             else{
  132.                 printf("Quantidade de bolas para lancar: ");
  133.                 scanf("%d", &bl);
  134.                 DEQUEUE(&Fila,bl);
  135.             }  
  136.         }
  137.         else if(n==5){
  138.             ModPro(&Fila);
  139.         }  
  140.     }
  141.     return 0;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement