Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- /*controle de uma fazenda de gados, com controle de 2000 cabeças*/
- char imprime_menu () {
- char menu=' ';
- printf("\t\t ***MENU DE CONTROLE***\n");
- printf("\t 1 - CADASTRAMENTO DAS CABECAS DE GADO \n");
- printf("\t 2 - QUANTIDADE DE LEITE PRODUZIDO POR SEMANA\n");
- printf("\t 3 - QUANTIDADE DE ALIMENTO PRODUZIDO POR SEMANA\n");
- printf("\t 4 - TOTAL DE CABEÇAS SELECIONADAS PARA ABATE\n");
- printf("\t 0 - SAIR\n");
- printf("\t *Escolha sua opcao*\n");
- }
- struct data {
- int mes;
- int ano;
- };
- struct fazenda {
- int codigo;
- float leite; //litros por semana
- float alimento; //quilos por semana
- char abate;
- struct data nascimento;
- };
- int main () {
- struct fazenda vacas[2000];
- int cont=0, cont2=0, cont3=0, cont4=0, cont5=0;
- int AA, AN, MA, MN; //ano atual, mes atual, ano nascimento, mes nascimento.
- char menu=' ';
- char lixo[10];
- float total_leite=0;
- float total_alimento=0;
- int acumulador=0;
- printf("BEM VINDO AO PROGRAMA!\n\n");
- printf("Digite o ANO ATUAL:\n");
- scanf("%i", &AA);
- printf("Digite o MES ATUAL:\n");
- scanf("%i", &MA);
- do {
- imprime_menu ();
- scanf("%s", &menu);
- switch(menu) {
- case '1':
- gets(lixo);
- printf("\t ***MENU DE CADASTRAMENTO SELECIONADO***\n\n");
- printf("Digite o codigo da cabeça de gado\n");
- scanf("%i", &vacas[cont].codigo);
- printf("Digite a quantidade de leite produzida por semana\n");
- scanf("%f", &vacas[cont].leite);
- printf("Digite a quantidade de alimento consumida por semana\n");
- scanf("%f", &vacas[cont].alimento);
- printf("Digite o ano de nascimento\n");
- scanf("%i", &vacas[cont].nascimento.ano);
- printf("Digite o mes de nascimento\n");
- scanf("%i", &vacas[cont].nascimento.mes);
- 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,
- vacas[cont].abate ='S'; //se consideram os meses, mas dias ainda podem ser pedidos.
- }
- else
- vacas[cont].abate ='N';
- cont++;
- break;
- case '2':
- gets(lixo);
- printf("\t\t ***MENU DE QUANTIDADE DE LEITE SELECIONADO***\n");
- for (cont2=0; cont2<cont; cont2++) {
- total_leite = total_leite + vacas[cont2].leite;
- }
- printf("%f Litros e a quantidade de leite produzida por suas vacas na semana.\n", total_leite);
- case '3':
- gets(lixo);
- printf("\t\t ***MENU DE QUANTIDADE DE ALIMENTO SELECIONADO***\n");
- for (cont3=0;cont3<cont;cont3++) {
- total_alimento = total_alimento + vacas[cont3].alimento;
- }
- printf("%f Kilogramas e a quantidade de alimento consumido por suas vacas na semana.\n\n", total_alimento);
- case '4':
- gets(lixo);
- printf("\t\t ***MENU DE ABATE SELECIONADO***\n\n");
- for (cont4=0; cont4<cont; cont4++) {
- if ((((AA-vacas[cont4].nascimento.ano)>4) && (MA>vacas[cont4].nascimento.mes)) || (vacas[cont4].leite < 40)) {
- acumulador = acumulador + 1;
- }
- }
- printf("%d vaca(s) sera(ao) abatida(s)!\n\n", acumulador); //imprime as vacas que serão abatidas
- printf("as vacas que serao abatidas tem os codigos abaixo:\n\n");
- for (cont5=0; cont5<cont; cont5++) {
- if (vacas[cont5].abate =='S') {
- printf("-> vaca %i. \n\n", vacas[cont5].codigo);
- }
- }
- break;
- }
- } while (menu!='0');
- return (0);
- }
Add Comment
Please, Sign In to add comment