daily pastebin goal
23%
SHARE
TWEET

Untitled

a guest Jun 14th, 2018 74 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <windows.h>
  5.  
  6. struct  cafeteira {
  7.     int codigo;
  8.     float quantidade;
  9.     int luzLigada;
  10.     int luzSemCafe;
  11.     int luzFazendoCafe;
  12.     char mensagem[21];
  13. };
  14. typedef struct cafeteira TipoCafeteira;
  15.  
  16. TipoCafeteira criar (TipoCafeteira);
  17. TipoCafeteira ligar (TipoCafeteira);
  18. TipoCafeteira desligar (TipoCafeteira);
  19. TipoCafeteira repositorioVazio(TipoCafeteira);
  20. void imprimir(TipoCafeteira);
  21. TipoCafeteira reporCafe(float, TipoCafeteira cafe);
  22. TipoCafeteira fazerCafe(TipoCafeteira cafe);
  23.  
  24. TipoCafeteira criar(TipoCafeteira cafeteira){
  25.     srand(time(0));
  26.     cafeteira.codigo = rand() % 1000;
  27.     cafeteira.quantidade = 0;
  28.     cafeteira.luzLigada = 0;
  29.     cafeteira.luzSemCafe = 0;
  30.     cafeteira.luzFazendoCafe = 0;
  31.     cafeteira.mensagem[0] = '\0';
  32.     return cafeteira;
  33. }
  34.  
  35. TipoCafeteira ligar(TipoCafeteira cafe){
  36.     int cond = 1;
  37.     printf("Gostaria de ligar a cafeteira? [1 para sim ou 0 para nao]\n");
  38.     scanf("%d", &cond);
  39.     if(cond== 1){
  40.         cafe.luzLigada = 1;
  41.         char msg[] = "Ligada\n\n";
  42.         for(int i = 0; i < 7; i++)
  43.         {
  44.             cafe.mensagem[i] = msg[i];
  45.         }
  46.         imprimir(cafe);
  47.     }
  48.  
  49.     return cafe;
  50. }
  51.  
  52. TipoCafeteira desligar(TipoCafeteira cafe){
  53.     int cond = 1;
  54.  
  55.     printf("Gostaria de desligar a cafeteira? [1 para sim ou 0 para nao]\n");
  56.     scanf("%d", &cond);
  57.     if (cafe.luzLigada == 0){
  58.         printf("Cafeteira ja esta desligada\n\n");
  59.     } else {
  60.         if(cond== 1){
  61.             cafe.luzLigada = 0;
  62.             char msg[] = "Desligada\n\n";
  63.             for(int i = 0; i < 11; i++)
  64.             {
  65.                 cafe.mensagem[i] = msg[i];
  66.             }
  67.             imprimir(cafe);
  68.         }
  69.     }
  70.     return cafe;
  71. }
  72.  
  73. TipoCafeteira repositorioVazio(TipoCafeteira cafe){
  74.     if(cafe.luzLigada == 0){
  75.         printf("Cafeteira desligada, opcao de verificacao indisponivel\n\n");
  76.     } else {
  77.         if(cafe.quantidade <= 10){
  78.             cafe.luzSemCafe = 1;
  79.             char msg[] = "Sem po de cafe\n\n";
  80.             for(int i = 0; i < 15; i++)
  81.             {
  82.                 cafe.mensagem[i] = msg[i];
  83.             }
  84.             imprimir(cafe);
  85.  
  86.         }
  87.     }
  88.     return cafe;
  89. }
  90.  
  91. void imprimir(TipoCafeteira cafe){
  92.     printf("\nMensagem: %s\n\n", cafe.mensagem);
  93. }
  94.  
  95. TipoCafeteira reporCafe(float quantPo,  TipoCafeteira cafe){
  96.     float quantTotal;
  97.     int cond = 1;
  98.     if(cafe.luzLigada == 0){
  99.         printf("Cafeteira desligada, opcao de repor indisponivel\n\n");
  100.     } else {
  101.         while (cond == 1){
  102.             printf("Insira a quantidade de po de cafe: ");
  103.             scanf("%f", &quantPo);
  104.  
  105.             quantTotal = cafe.quantidade + quantPo;
  106.  
  107.             if(quantTotal > 500){
  108.                 char msg[] = "Passou quant. maxima";
  109.                 for(int i = 0; i < 21; i++){
  110.                     cafe.mensagem[i] = msg[i];
  111.                 }
  112.                 imprimir(cafe);
  113.                 printf("Quantidade: %.2f gramas\n", cafe.quantidade);
  114.             }
  115.  
  116.             if(quantTotal <= 500){
  117.                 char msg[] = "Cafeteira recarregada";
  118.                 for(int i = 0; i < 21; i++){
  119.                     cafe.mensagem[i] = msg[i];
  120.                 }
  121.                 quantTotal = cafe.quantidade + quantPo;
  122.                 cafe.quantidade = quantTotal;
  123.                 printf("Quantidade: %.2f gramas\n", cafe.quantidade);
  124.             }
  125.             printf("\nInserir po de cafe? [1 para sim ou 0 para nao]\n"); scanf("%d", &cond);
  126.             fflush(stdin);
  127.         }
  128.     }
  129.     return cafe;
  130. }
  131.  
  132. TipoCafeteira fazerCafe(TipoCafeteira cafe){
  133.     int cond1 = 1, cond2 = 1, cond3 = 1;
  134.     float quantPo;
  135.     if(cafe.luzLigada == 0){
  136.         printf("Cafeteira desligada, opcao de fazer cafe indisponivel\n\n");
  137.     } else {
  138.         printf("Gostaria de fazer uma xicara de cafe? [1 para sim ou 0 para nao]\n\n");
  139.         scanf("%d", &cond1);
  140.         if(cond1 == 1){
  141.             while(cond2 == 1){
  142.                 if(cafe.quantidade >= 25){
  143.                     cafe.luzFazendoCafe = 1;
  144.                     char msg[] = "Produzindo cafe";
  145.                         for(int i = 0; i < 16; i++){
  146.                             cafe.mensagem[i] = msg[i];
  147.                         }
  148.                         imprimir(cafe);
  149.                     Sleep(5000);
  150.                     char msg2[] = "Cafe pronto";
  151.                         for(int i = 0; i < 12; i++){
  152.                             cafe.mensagem[i] = msg2[i];
  153.                         }
  154.                         imprimir(cafe);
  155.                     cafe.quantidade = cafe.quantidade - 25;
  156.                 }
  157.                 if(cafe.quantidade < 25) {
  158.                     printf("Sem po de cafe\n\n");
  159.                     /*printf("Gostaria de por mais po de cafe? [1 para sim ou 0 para nao]\n\n");
  160.                     scanf("%d", cond2);
  161.                     if(cond3 == 1) {
  162.                         cafe = reporCafe(quantPo, cafe);
  163.                     }*/
  164.                 }
  165.                 printf("Gostaria de fazer mais uma xicara de cafe? [1 para sim ou 0 para nao]\n\n");
  166.                     scanf("%d", &cond2);
  167.             }
  168.         } else {
  169.             printf("Obrigado por utilizar a cafeteira!");
  170.         }
  171.     }
  172. }
  173.  
  174. int main(){
  175.     float quantPo;
  176.     TipoCafeteira cafe1;
  177.  
  178.     cafe1 = criar(cafe1);
  179.     cafe1 = ligar(cafe1);
  180.     cafe1 = desligar(cafe1);
  181.     cafe1 = repositorioVazio(cafe1);
  182.     cafe1 = reporCafe(quantPo, cafe1);
  183.     cafe1 = fazerCafe(cafe1);
  184. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top