yala neb 0 Denunciar post Postado Novembro 4, 2012 TIPO, ELE COMPILA CERTINHO, SOH QUE não mostra A QUNTIDADE DE GADO QUE VAI PARA O ABATE...SOH OSTRA 1. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <conio.h> #define TAM 2 #define clear fflush(stdin) typedef struct{ int codigo; float leite; float alim; char abate[3]; }Gado; void QLeite(Gado gado,int l); int main() { /** Elaborar um algoritmo que auxilie no controle de uma fazenda de gado que possuí um total de 2000 cabeças de gado. A base de dados é formada por um conjunto de estruturas (registros) contendo os seguintes campos referente a cada cabeça de gado: código: código da cabeça de gado, leite: número de litros de leite produzido por semana, alim: quantidade de alimento ingerida por semana - em quilos, abate: ‘N" (não) ou ‘S’ (sim). 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) Devolver a quantidade total de leite produzida por semana na fazenda. c) Devolver a quantidade total de alimento consumido por semana na fazenda. d) Devolver número de cabeças de gado que iram para o abate. */ Gado gado[TAM]; int i,morte=0,vida=0,l=0,c=0; float qleite[TAM],qalim[TAM],a,b; for(i=0;i<TAM;i++) { printf("\n informe o codigo da cabeca de gado:"); scanf("%d",&gado[i].codigo); printf("\n informe a quantidade de leite produzido por semana:"); scanf("%f",&gado[i].leite); qleite[i]=gado[i].leite; printf("\n informe a quantidade de alimento ingerido por semana:"); scanf("%f",&gado[i].alim); qalim[i]=gado[i].alim; printf("\n o gado vai para o abate:"); clear; gets(gado[i].abate); if(gado[i].abate=='s') { morte++; } l++; a=qleite[i]*l; b=qalim[i]*l; c=morte++; } printf("\n vao para o abate %d cabecas de gado.",c); printf("\n quantidade de leite produzido por semana:%.2f ",a*7); printf("\n quantidade de alimento produzido por semana:%.2f\n ",a*7); system("pause"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Mateus GP 13 Denunciar post Postado Novembro 21, 2012 Corrigi o seu código, veja: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define TAM 2 #define clear fflush(stdin) typedef struct{ int codigo; float leite; float alim; char abate; // Não é necessário um string, pois só será usado um caractere para "s" ou "n". }Gado; void QLeite(Gado gado,int l); int main() { /** Elaborar um algoritmo que auxilie no controle de uma fazenda de gado que possuí um total de 2000 cabeças de gado. A base de dados é formada por um conjunto de estruturas (registros) contendo os seguintes campos referente a cada cabeça de gado: código: código da cabeça de gado, leite: número de litros de leite produzido por semana, alim: quantidade de alimento ingerida por semana - em quilos, abate: ‘N" (não) ou ‘S’ (sim). 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)/>/> Devolver a quantidade total de leite produzida por semana na fazenda. c) Devolver a quantidade total de alimento consumido por semana na fazenda. d) Devolver número de cabeças de gado que iram para o abate. */ Gado gado[TAM]; int i,morte=0,l=0; // c e vida eram inúteis. float a = 0, b = 0; // qleite e qalim também eram inúteis, pois teriam os mesmos valores de gado. for(i=0;i<TAM;i++) { printf("\n informe o codigo da cabeca de gado:"); scanf("%d%*c",&gado[i].codigo); printf("\n informe a quantidade de leite produzido por semana:"); scanf("%f%*c",&gado[i].leite); printf("\n informe a quantidade de alimento ingerido por semana:"); scanf("%f%*c",&gado[i].alim); printf("\n o gado vai para o abate:"); clear; scanf("%c%*c", gado[i].abate); // Troquei gets por scanf para não haver um overflow. if(*gado[i].abate=='s') { morte++; } l++; a += gado[i].leite; // Foi modificado, pois no código anterior a logica estava errada. b += gado[i].alim; // Este também pelo mesmo motivo. } printf("\n vao para o abate %d cabecas de gado.",morte); printf("\n quantidade de leite produzido por semana:%.2fl ",a); printf("\n quantidade de alimento ingerido por semana:%.2fkg\n ", B); system("pause"); return 0; // Há outras modificações, mas creio que sejam evidentes. } Se houver mais problemas e só postar. Compartilhar este post Link para o post Compartilhar em outros sites
GBecker 51 Denunciar post Postado Novembro 21, 2012 Mateus GP, Seria interessante se você explica-ce o que corrigiu no código. Para facilitar o entendimento do autor do tópico e de outras pessoas que possam vir a pesquisar algo no post. Não vamos alimentar a "preguiça" entregando as tarefas prontas. Compartilhar este post Link para o post Compartilhar em outros sites
Mateus GP 13 Denunciar post Postado Novembro 22, 2012 Na realidade não estou incentivando a preguiça, apenas a alimentando. Mas veja por outro lado não explicitando as alterações feitas por mim, estou incentivando-os a lerem os dois códigos e descobrir quais as diferenças e a partir destas descobertas aprender a ler e interpretar os mesmos de forma mais clara, mas levando em conta seu ponto de vista vou explicar. Compartilhar este post Link para o post Compartilhar em outros sites