boa noite pode me ajuda eu fiz esse exercício e queria
saber se está certo de acordo com o enunciado
3) Faça um programa que leia uma quantidade de cartões determinada pelo
digitador, contendo a idade e o sexo de uma pessoa (1-Masculino, 2-Feminino).
Calcule e imprima a idade média destas pessoas, quantas pessoas do sexo
feminino estão na faixa dos 18 aos 25 anos e número total de pessoas do sexo
masculino.
#include
#include
int main()
{
int quantidade, idade, sexo;
int numMulher=0, numHomem=0, idadeTotal=0;
int numPessoa=0;
int a;
while(a>0)
{
puts("\nQuantidade de cartoes determinada pelo digitador: ");
scanf("%d", &quantidade);
do
{
{
puts("\nEntre com a idade: ");
scanf("%d", &idade);
do
{
puts("\n\nEntre com o sexo: ");
scanf("%d", &sexo);
}while(sexo!=1 && sexo!=0);
idadeTotal+=idade;
numPessoa++;
if(sexo==1 && idade >18 && idade<25)
{
numMulher++;
}
else
numHomem++;
}
printf("\nA idade media e' %d.", idadeTotal/numPessoa);
printf("\nO total de mulheres de 18 aos 25 anos e' %d.", numMulher );
printf("\nO numero de homens e' %d\n\n", numHomem);
return 0;
}
Respostas
Resposta:
Vou pontuar alguns erros que eu percebi, faz um tempo que eu não programo em C, mas acredito que já vai dar uma ajuda.
Bem no início você coloca duas bibliotecas (#include), mas não especifica quais são, é importante que você coloque pelo menos a biblioteca geral/padrão
"#include <stdio.h>"
Você colocou uma variável a (int a), e disse que while (a > 0), o código vai rodar, mas não tem nenhum input de 'a', para 'a' ser igual ou diferente de 0.
Na questão diz que sexo = 1, masculino e sexo = 2, feminino, mas na parte da soma das pessoas do sexo feminino na faixa de 18 aos 25, você coloca o valor 1, logo, o gênero está representando é o masculino e não o feminino.
"if(sexo==1 && idade >18 && idade<25)
{
numMulher++;
}"
Também acredito que haja um erro com as {chaves} do código, possivelmente, nem vai copilar, como a quantidade de chaves não é equivalente.