Elaborar um programa que contenha a seguin MIMOSAS ter:
• código: código da cabeça de gado, código
• leite: número de litros de leite produzido por sema leite na,
• alim: quantidade de alimento ingerida por semana - alim em quilos,
• nasc: data de nascimento - mês e ano, nasc
• abate: ‘N" (não) ou ‘S’ (sim). abate
o O campo nasc. é do tipo struct data que por sua vez, possui dois
campos:
mês
ano
Elaborar funções para:
a) Ler a base de dados (código, leite, alim, nasc.mês e nasc.ano),
armazenado em um vetor de estruturas.
b) Preencher o campo abate, considerando que a cabeça de gado irá para o
abate caso:
• Tenha mais de 5 anos, ou;
• Produza menos de 40 litros de leite por semana, ou;
• Produza entre 50 e 70 litros de leite por semana e ingira mais de 50
quilos de alimento por dia.
c) Função para Mostrar a quantidade total de leite produzida por semana na
fazenda.
d) Função para Mostrar a quantidade total de alimento consumido por semana
na fazenda.
e) Função para Mostrar número de cabeças de gado que iram para o abate.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#define T 50
#define ANO 24216
struct data
{
int mes;
int ano;
};
struct cadastro
{
int codigo;
int leite;
int alimento;
struct data m;
struct data a;
};
struct cadastro gado[T];
int i=0, op=0, abate=0;
int qtalimento, qtleite, mes_total=0;
cadastrar ()
{
system("cls");
printf("\n=======================================");
printf("\n\n\tCADASTRO DA MIMOSA\n");
printf("\n=======================================\n");
printf("\nDigite o código: ");
scanf("%d", &gado[i].codigo);
printf("\nLitros de leite produzido na semana: ");
scanf("%d",&gado[i].leite);
qtleite += gado[i].leite;
printf("\nKg de alimento ingerido na semana: ");
scanf("%d",&gado[i].alimento);
qtalimento += gado[i].alimento;
printf("\nDATA DE NASCIMENTO ");
do
{
printf("\nMês: ");
scanf("%d", &gado[i].m.mes);
if ((gado[i].m.mes) > 12)
{
printf("Insira um mês válido de 1 a 12\n");
}
}
while ((gado[i].m.mes) > 12);
do
{
printf("Ano: ");
scanf("%d", &gado[i].a.ano);
if (((gado[i].a.ano) * 12) > ANO)
{
printf("Insira um ano de nascimento válido!\n");
}
}
while ((gado[i].a.ano * 12) > ANO);
mes_total += gado[i].m.mes;
mes_total += gado[i].a.ano * 12;
float alimentodia = gado[i].alimento / 7;
printf("\nAbate: ");
if (mes_total - ANO > 60 )
{
abate++;
printf("S");
}
else if (((( 50 < gado[i].leite) && ( gado[i].leite < 70)) && (alimentodia > 50.00)) || (gado[i].leite < 40))
{
abate++;
printf("S");
}
else
{
printf("N");
}
printf("\n\n");
system("pause");
i++;
return 0;
}
leit ()
{
printf("\n\tA quantidade total de leite produzido na semana foi: %d\n\n\n", qtleite);
system("pause");
return 0;
}
alim ()
{
printf("\n\tA quantidade total de alimento consumido na semana foi: %d\n\n\n", qtalimento);
system ("pause");
return 0;
}
abat()
{
printf("\n\tA quantidade de animais que irão para o abate será: %d\n\n\n", abate);
system ("pause");
return 0;
}
sair()
{
system("cls");
printf("Saindo...\n");
exit(EXIT_SUCCESS);
return 0;
}
main()
{
system("color 1F");
setlocale(LC_ALL, "Portuguese");
while (op != 5){
system("cls");
printf("\n\t\tMENU DE OPÇÕES\n\n");
printf("\n1 - Cadastrar");
printf("\n2 - Exibir qtd. total de leite prod. por semana");
printf("\n3 - Exibir qtd. total de alimento consumido na semana");
printf("\n4 - Exibir qtd. de cabeça de gado que irão para o abate");
printf("\n5 - Sair");
printf("\n\nEscolha uma opção: ");
scanf("%d", &op);
switch (op)
{
case 1 :
cadastrar ();
break;
case 2 :
leit();
break;
case 3:
alim ();
break;
case 4:
abat ();
break;
case 5:
sair ();
break;
default:
printf("Opção inválida, escolha uma opção válida!\n\n\n");
system("pause");
}
}
}
0 comentários:
Postar um comentário