MCalligaris
(usa Arch Linux)
Enviado em 18/02/2011 - 08:08h
Antes só gostaria de informar que eu não programo em C :O
Mas resolvi dar pitaco mesmo assim.
@rs23 vamos fazer como Jack The Ripper, vamos por partes.
Eu tive um professor de matemática que tinha a mania de dizer que a maioria dos problemas de alunos com a matemática são na verdade problemas de português. Vamos desconsiderar o fato de que ainda tenho problema com os dois :x e nos concentrar no seu programa :D
"para encerrar a entrada de dados entre a idade menor ou igual a zero"
No seu código você colocou assim:
while (idade >=0)
O problema dessa condição é que ela vai ser interpretada dessa maneira:
enquanto (idade for maior ou igual a zero)
Entretanto não queremos que o programa termine se a idade for igual ou menor que zero, para isso ocorrer basta mudar o while dessa maneira:
while (idade > 0)
agora o programa será interpretado da seguinte forma:
enquanto (idade for maior que zero)
agora em relação a porcentagem de mulheres com salario até 300
" if (sexo == 'F' && salario <= 300)
cont_mulher = cont_mulher + 1;
porcentagem_mulher = (porcentagem_mulher *100) / cont_mulher;"
Pelo menos ao que me parece o seu código está sendo interpretado assim:
Se (sexo é Feminino E salario menor ou igual a 300)
adiciona um ao contador de mulher
porcentagem de mulher é igual a (porcentagem de mulher * 100) dividido pelo contador de mulher
O que vai fazer com que o seu programa não funcione, principalmente por que vc está tentando calcular a porcentagem de mulheres que recebem salários de até R$300, todavia você só está contando as mulheres que estão nessa condição. Como eu já disse no começo não programo em C :x mas creio que você deva fazer algo mais ou menos assim:
"cont_mulher = cont_mulher + 1;
if (sexo == 'F' && salario <= 300)
cont_mulher300 = cont_mulher300 + 1;"
Você já deve ter reparado que eu retirei a linha do percentual, retirei ela por não achar conveniente fazer o percentual de mulheres ou o calculo de média de salários dentro do while. Se você deixar essas duas partes do código dentro do while e pesquisar 50 pessoas terá efetuado 50 vezes cada um deles, e vc só precisa fazer uma.
Espero que eu tenha conseguido ajudar pelo menos um pouco ;D