Guest User

Untitled

a guest
Oct 23rd, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.93 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5.  
  6. /*controle de uma fazenda de gados, com controle de 2000 cabeças*/
  7.  
  8. char imprime_menu () {
  9.  
  10. char menu=' ';
  11.  
  12. printf("\t\t ***MENU DE CONTROLE***\n");
  13. printf("\t 1 - CADASTRAMENTO DAS CABECAS DE GADO \n");
  14. printf("\t 2 - QUANTIDADE DE LEITE PRODUZIDO POR SEMANA\n");
  15. printf("\t 3 - QUANTIDADE DE ALIMENTO PRODUZIDO POR SEMANA\n");
  16. printf("\t 4 - TOTAL DE CABEÇAS SELECIONADAS PARA ABATE\n");
  17. printf("\t 0 - SAIR\n");
  18. printf("\t *Escolha sua opcao*\n");
  19.  
  20.  
  21. }
  22.  
  23.  
  24. struct data {
  25. int mes;
  26. int ano;
  27.  
  28. };
  29.  
  30. struct fazenda {
  31.  
  32. int codigo;
  33. float leite; //litros por semana
  34. float alimento; //quilos por semana
  35. char abate;
  36.  
  37. struct data nascimento;
  38.  
  39. };
  40.  
  41.  
  42.  
  43. int main () {
  44.  
  45. struct fazenda vacas[2000];
  46. int cont=0, cont2=0, cont3=0, cont4=0, cont5=0;
  47. int AA, AN, MA, MN; //ano atual, mes atual, ano nascimento, mes nascimento.
  48. char menu=' ';
  49. char lixo[10];
  50. float total_leite=0;
  51. float total_alimento=0;
  52. int acumulador=0;
  53.  
  54. printf("BEM VINDO AO PROGRAMA!\n\n");
  55. printf("Digite o ANO ATUAL:\n");
  56. scanf("%i", &AA);
  57. printf("Digite o MES ATUAL:\n");
  58. scanf("%i", &MA);
  59.  
  60. do {
  61.  
  62. imprime_menu ();
  63. scanf("%s", &menu);
  64.  
  65. switch(menu) {
  66.  
  67.  
  68. case '1':
  69.  
  70. gets(lixo);
  71. printf("\t ***MENU DE CADASTRAMENTO SELECIONADO***\n\n");
  72. printf("Digite o codigo da cabeça de gado\n");
  73. scanf("%i", &vacas[cont].codigo);
  74. printf("Digite a quantidade de leite produzida por semana\n");
  75. scanf("%f", &vacas[cont].leite);
  76. printf("Digite a quantidade de alimento consumida por semana\n");
  77. scanf("%f", &vacas[cont].alimento);
  78. printf("Digite o ano de nascimento\n");
  79. scanf("%i", &vacas[cont].nascimento.ano);
  80. printf("Digite o mes de nascimento\n");
  81. scanf("%i", &vacas[cont].nascimento.mes);
  82. if ((((AA-vacas[cont].nascimento.ano)>4) && (MA>vacas[cont].nascimento.mes)) || (vacas[cont].leite < 40)) { //para não haver vacas com mais de 5 anos ainda ativas,
  83. vacas[cont].abate ='S'; //se consideram os meses, mas dias ainda podem ser pedidos.
  84. }
  85. else
  86. vacas[cont].abate ='N';
  87.  
  88.  
  89. cont++;
  90.  
  91. break;
  92.  
  93.  
  94. case '2':
  95.  
  96. gets(lixo);
  97. printf("\t\t ***MENU DE QUANTIDADE DE LEITE SELECIONADO***\n");
  98.  
  99. for (cont2=0; cont2<cont; cont2++) {
  100. total_leite = total_leite + vacas[cont2].leite;
  101.  
  102. }
  103. printf("%f Litros e a quantidade de leite produzida por suas vacas na semana.\n", total_leite);
  104.  
  105. case '3':
  106.  
  107. gets(lixo);
  108. printf("\t\t ***MENU DE QUANTIDADE DE ALIMENTO SELECIONADO***\n");
  109.  
  110. for (cont3=0;cont3<cont;cont3++) {
  111. total_alimento = total_alimento + vacas[cont3].alimento;
  112.  
  113. }
  114. printf("%f Kilogramas e a quantidade de alimento consumido por suas vacas na semana.\n\n", total_alimento);
  115.  
  116. case '4':
  117.  
  118. gets(lixo);
  119.  
  120. printf("\t\t ***MENU DE ABATE SELECIONADO***\n\n");
  121.  
  122. for (cont4=0; cont4<cont; cont4++) {
  123. if ((((AA-vacas[cont4].nascimento.ano)>4) && (MA>vacas[cont4].nascimento.mes)) || (vacas[cont4].leite < 40)) {
  124. acumulador = acumulador + 1;
  125. }
  126. }
  127.  
  128.  
  129. printf("%d vaca(s) sera(ao) abatida(s)!\n\n", acumulador); //imprime as vacas que serão abatidas
  130.  
  131. printf("as vacas que serao abatidas tem os codigos abaixo:\n\n");
  132. for (cont5=0; cont5<cont; cont5++) {
  133. if (vacas[cont5].abate =='S') {
  134. printf("-> vaca %i. \n\n", vacas[cont5].codigo);
  135. }
  136. }
  137.  
  138. break;
  139.  
  140. }
  141. } while (menu!='0');
  142. return (0);
  143. }
Add Comment
Please, Sign In to add comment