Ir ao conteúdo
  • Cadastre-se

Duvida programa em C


LuckC

Posts recomendados

Bom galera, estou começando com a matéria de programação agora na faculdade, e estou com dificuldade para identificar um erro em um programa que fiz aqui, vou mostra-lo abaixo para vocês porém me ajudar rs:

Primeiro a questão:

Criar um algoritmo, pseudocódigo, que leia a idade e sexo de varias pessoas. Calcule e imprima: a média de idade, total de pessoas do sexo feminino com idade entre 30 – 45 e o numero total de pessoas do sexo masculino. O algoritmo termina quando se digita 0 para idade.

o que eu fiz ate agora foi isso:


int main(int argc, char *argv[])
{ int idade,totalm=0,totalf=0,totalff=0;
char sexo;
float media_idade=0;

printf ("Digite a idade da pessoa: \n");
scanf ("%d",&idade);

while (idade !=0)
{

printf ("Digite o sexo da pessoa:\n");
scanf ("%c",&sexo);



if (sexo=='m'|| sexo=='M')
totalm = totalm+1;
if (sexo=='f' || sexo=='F')
totalf = totalf+1;


if (sexo=='f' || sexo=='F' && idade>=0 && idade<=45)
totalff = totalff+1;

media_idade = media_idade+idade;

printf ("Digite a idade da pessoa: \n");
scanf ("%d",&idade);

}


media_idade=media_idade/(totalm+(totalf-totalff));
printf ("A media de idade e: %.2f\n",media_idade);
printf ("O total de pessoas do sexo masculino e: %d\n",totalm);
printf ("O total de pessoas do sexo feminino entre 30 e 45 anos e: %d\n",totalff);


system("PAUSE");
return 0;
}

Ta ai pessoal, me ajudem ai porque ta difícil >.<.

Link para o comentário
Compartilhar em outros sites

O 'if' que verifica a idade do sexo feminino pode ficar dentro do 'if' que verifica se é sexo feminino.

Outro erro estava na hora de criar a média das idades, onde estava diminuindo da quantidade e quantidade de pessoas numa faixa de idade do sexo feminino.


#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int idade, totalm = 0, totalf = 0, totalff = 0;
char sexo;
float media_idade = 0;

printf( "Digite a idade da pessoa: \n" );
scanf( "%d", &idade );

while( idade != 0 )
{

printf( "Digite o sexo da pessoa:\n" );
fflush(stdin);
scanf( "%c", &sexo );

if( sexo == 'm' || sexo == 'M' )
totalm = totalm + 1;

if( sexo == 'f' || sexo == 'F' )
{
totalf = totalf + 1;

if( idade >= 0 && idade <= 45 )
totalff = totalff + 1;
}

media_idade = media_idade + idade;

printf( "Digite a idade da pessoa: \n" );
scanf( "%d", &idade );

}

media_idade = media_idade / ( totalm + totalf );
printf( "A media de idade e: %.2f\n", media_idade );
printf( "O total de pessoas do sexo masculino e: %d\n", totalm );
printf( "O total de pessoas do sexo feminino entre 30 e 45 anos e: %d\n", totalff );

system( "PAUSE" );
return 0;
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...