viciado 1 Denunciar post Postado Dezembro 8, 2008 Foi realizada uma pesquisa sobre algumas características físicas de 50 habitantes de certa região. De cada habitante foram coletados os seguintes dados: sexo, altura, idade e cor dos olhos (a - azuis, v - verdes ou c - castanhos). Faça um programa que leia esses dados, armazene-os em um registro tipo vetor e determine: * a média da idade das pessoas com olhos castanhos e altura superior a 1,60 m * a maior idade entre os habitantes * a quantidade de indivíduos do sexo feminino com idade entre 20 e 45 anos (inclusive) ou que tenham olhos verdes e altura inferior a 1,70m * o percentual de homens Estou tendo prolemas nas linhas 16, 28 e 72. Não consigo determinar o erro para resolver #include <stdio.h> #include <stdlib.h> #define M 3 struct { int sexo; float altura; int idade; char olhos[2]; }dados[M]; float media_id_olhos(){ int i; int soma = 0; for(i=0;i<M;i++){ if(dados[i].altura > 1,6 && dados[i].olhos == 'c'){ soma = soma + dados[i].idade; } float media; media = soma/2; return(media); } int individuos(){ int i; int count; for(i=0;i<M;i++){ if(dados[i].sexo = 2){ if(dados[i].idade >19 && dados[i].idade <46 || dados[i].olhos == 'v' && dados[i].altura < 1,7){ count ++; } } } return (count); } float percentual(){ int i; int count; for(i=0;i<M;i++){ if(dados[i].sexo == 1) count ++; } float perc; perc = (count * 100)/M; return (perc); } int maior(){ int i; int maior; maior = dados[0].idade; for(i=0;i<M;i++){ if(dados[i].idade > maior){ maior = dados[i].idade; } } return (maior); } int main() { int i; for(i=0;i<M;i++){ printf("Informe o seu sexo:\n (1)Masculino (2)Feminino \n"); scanf("%d",&dados[i].sexo); printf("Digite sua altura \n"); scanf("%f",&dados[i].altura); printf("Digite sua idade \n"); scanf("%d",&dados[i].idade); printf("Informe a cor dos seus olhos: \n (a) azuis\n (v) verdes\n (c) castanhos \n"); scanf("%s",&dados[i].olhos); } system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 8, 2008 o separador de casas decimais e inteiras não é vírgula, é ponto PS: Você tem um tópico aberto com essa dúvida, Não precisa abrir outro. Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Dezembro 9, 2008 Estou tendo problema de logica pq as respostas nao estao corretas #include <stdio.h> #include <stdlib.h> #define M 3 struct { int sexo; float altura; int idade; char olhos[2]; }dados[M]; float media_id_olhos(){ int i; int soma = 0; for(i=0;i<M;i++){ if(dados[i].altura > 1.6 && dados[i].olhos == 'c'){ soma = soma + dados[i].idade; } } float media; media = soma/2; return(media); } int individuos(){ int i; int count; for(i=0;i<M;i++){ if(dados[i].sexo = 2){ if(dados[i].idade >19 && dados[i].idade <46 || dados[i].olhos == 'v' && dados[i].altura < 1.7){ count ++; } } } return (count); } float percentual(){ int i; int count; for(i=0;i<M;i++){ if(dados[i].sexo == 1) count ++; } float perc; perc = (count * 100)/M; return (perc); } int maior(){ int i; int maior; maior = dados[0].idade; for(i=0;i<M;i++){ if(dados[i].idade > maior){ maior = dados[i].idade; } } return (maior); } int main() { int i; for(i=0;i<M;i++){ printf("Informe o seu sexo:\n (1)Masculino (2)Feminino \n"); scanf("%d",&dados[i].sexo); printf("Digite sua altura \n"); scanf("%f",&dados[i].altura); printf("Digite sua idade \n"); scanf("%d",&dados[i].idade); printf("Informe a cor dos seus olhos: \n (a) azuis\n (v) verdes\n (c) castanhos \n"); scanf("%s",&dados[i].olhos); } printf("A media da idade das pessoas com os olhos castanhos e: \n %f \n",media_id_olhos()); printf("A maior idade entre os habitantes e: \n %d \n",maior()); printf("A quantidade mulher entre 20 e 45 anos ou com olhos verdes e altura menor que 1,7m \n %d \n",individuos()); printf("O percentual de homens e: \n %f \n",percentual()); system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites