Mia132 0 Denunciar post Postado Maio 28, 2014 Olá! Tô com dúvida nesse exercício: Cada pesquisador do eBOPE recebe 100 fichas para uma pesquisa em uma determinada região. O pesquisador deve conseguir 100 voluntários e coletar, de cada um, as seguintes informações:sexo (M ou F), idade, renda mensal e escolaridade. O campo escolaridade apresenta a seguinte codificação: 0–analfabeta; 1-fundamental, 2-médio, 3-superior. Faça um programa que leia cada uma dessas fichas, armazene-as na memória e, ao final, mostre as seguintes estatísticas: a média da renda mensal de cada sexo; a média da renda mensal para cada uma das escolaridades; e a média da renda mensal para cada uma das seguintes faixas de idade: 0 a 18, 19 a 29, 30 a 45, 46 a 65, 65 ou mais. Comecei um código com 4 vetores, um para cada dado, mas não sei como fazer o cálculo. Por favor, ajudem. Vlw! #include <stdio.h>int main(){ char sexo [100]; int idade [100]; float renda [100]; int escol [100]; int s,i,r,e; for (s=0;s>100;s++); { printf ("Sexo:"); scanf ("%c",&sexo); } for (i=0;i>100;i++); { printf ("Idade:"); scanf ("%d",&idade); } for (r=0;r>100;r++); { printf ("Renda:"); scanf ("%f",&renda[r]); } for (e=0;e>100;e++); { printf ("Escolaridade:"); scanf ("%d",&escol[e]); } } return 0;} Compartilhar este post Link para o post Compartilhar em outros sites
GBecker 51 Denunciar post Postado Maio 28, 2014 Você já aprendeu sobre struct? http://pt.wikibooks.org/wiki/Programar_em_C/Estruturas A fórmula para calcular média é a soma de todos os elementos dividido pela quantidade de elementos. Por exemplo, supondo que queira calcular a media da renda mensal das 100 pessoas: float totalRenda = 0.0; float mediaRenda = 0.0; int contaPessoas = 0; for(int i = 0; i<100; i++) { totaRenda = totaRenda + renda; contaPessoas++; } mediaRenda = (totaRenda/contaPessoas); Mas perceba que no enunciado pede a média de renda de pessoas de cada sexo. Logo, é necessário um if para saber qual o sexo da pessoa antes de considerar a renda dela no cálculo. Compartilhar este post Link para o post Compartilhar em outros sites
Mia132 0 Denunciar post Postado Maio 29, 2014 Vlw pela dica! Não posso usar struct, pq o professor ainda não ensinou. Meu código ficou cheio de erros..por favor ajudaaaa #include <stdio.h> #include <stdlib.h> int main() { char f, m, sexo [100]; int idade [100]; float media_id5, renda_id5, media_id4, renda_id4, media_id3, renda_id3, media_id2, renda_id2, media_sup, renda_sup, media_med, renda_med, media_fun, renda_fun, media_analfa, renda_analfa, mediam, rendam, mediaf, rendaf, renda [100]; int id5, conta_id5, id4, conta_id4, id3, conta_id3, id2, conta_id2, sup, conta_sup, med, conta_med, fun, conta_fun, analfa, conta_analfa, contam, x, y, contaf, s, i, r, e, escol [100]; for (s=0;s>100;s++); { printf ("Sexo:"); scanf ("%c",&sexo[s]); } for (i=0;i>100;i++); { printf ("Idade:"); scanf ("%d",&idade[i]); } for (r=0;r>100;r++); { printf ("Renda:"); scanf ("%f",&renda[r]); } for (e=0;e>100;e++); { printf ("Escolaridade:"); scanf ("%d",&escol[e]); } if (sexo[]=={f}) { rendaf = 0.0; mediaf = 0.0; contaf = 0; for( y = 0; y<100; y++) { rendaf = rendaf + renda; contaf++; } mediaf = (rendaf/contaf); } else { rendam = 0.0; mediam = 0.0; contam = 0; for( x = 0; x<100; x++) { rendam = rendam + renda; contam++; } mediam = (rendam/contam); } if (escol[]=={0}) { renda_analfa = 0.0; media_analfa = 0.0; conta_analfa = 0; for( analfa = 0; analfa<100; analfa++) { renda_analfa = renda_analfa + renda; conta_analfa++; } media_analfa = (renda_analfa/conta_analfa); } else { if (escol[]=={1}) { renda_fun = 0.0; media_fun = 0.0; conta_fun = 0; for( fun = 0; fun<100; fun++) { renda_fun = renda_fun + renda; conta_fun++; } media_fun = (renda_fun/conta_fun); } } else { if (escol[]=={2}) { renda_med = 0.0; media_med = 0.0; conta_med = 0; for( med = 0; med<100; med++) { renda_med = renda_med + renda; conta_med++; } media_med = (renda_med/conta_med); } } else { renda_sup = 0.0; media_sup = 0.0; conta_sup = 0; for( sup = 0; sup<100; sup++) { renda_sup = renda_sup + renda; conta_sup++; } media_sup = (renda_sup/conta_sup); } if (idade[]=={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}) { renda_id1 = 0.0; media_id1 = 0.0; conta_id1 = 0; for( id1 = 0; id1<100; id1++) { renda_id1 = renda_id1 + renda; conta_id2++; } media_id1 = (renda_id1/conta_id1); } else { if (idade[]=={19,20,21,22,23,24,25,26,27,28,29}) { renda_id2 = 0.0; media_id2 = 0.0; conta_id2 = 0; for( id2 = 0; id2<100; id2++) { renda_id2 = renda_id2 + renda; conta_id2++; } media_id2 = (renda_id2/conta_id2); } } else { if (idade[]=={30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45}) { renda_id3 = 0.0; media_id3 = 0.0; conta_id3 = 0; for( id3 = 0; id3<100; id3++) { renda_id3 = renda_id3 + renda; conta_id3++; } media_id3 = (renda_id3/conta_id3); } } else { if (idade[]=={46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65}) { renda_id4 = 0.0; media_id4 = 0.0; conta_id3 = 0; for( id4 = 0; id4<100; id4+) { renda_id4 = renda_id4 + renda; conta_id4++; } media_id4 = (renda_id4/conta_id4); } } else { renda_id5 = 0.0; media_id5 = 0.0; conta_id5 = 0; for( id5 = 0; id5<100; id5+) { renda_id5 = renda_id5 + renda; conta_id5++; } media_id5 = (renda_id5/conta_id5); } printf ("\n Renda Mensal: \n "); printf ("\n Por Sexo \n"); printf ("Feminino: %f\n",mediaf); printf ("Masculino: %f \n",mediam); printf (" \n Por Escolaridade \n"); printf ("Analfabetas: %f\n",media_analfa); printf ("Fundamental: %f \n",media_fun); printf ("Medio: %f \n",media_med); printf ("Superior: %f \n",media_sup); printf ("\n Por Idade \n"); printf ("0 a 18 anos: %f \n",media_id1); printf ("19 a 29 anos: %f \n",media_id2); printf ("30 a 45 anos: %f \n",media_id3); printf ("46 a 65 anos: %f \n",media_id4); printf ("Acima de 65: %f \n",media_id5); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites