Advertisement
Guest User

Untitled

a guest
Jun 14th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.51 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement