Ir ao conteúdo
  • Cadastre-se
TMC

O programa esta calculando errado em vez de dividir esta somando

Recommended Posts

1.    Construir um programa em C que leia a idade e a altura de uma quantidade indeterminada de pessoas, calcule e imprima a média das alturas das pessoas com mais de 50 anos. Flag de saída: idade negativa.

#include<stdio.h>
main(){
    
    int idade,qtd=0;
    float altura, soma=0;
    
    printf("Digite sua Idade: ");
    scanf("%d", &idade);
    
    printf("Digite sua Altura: ");
    scanf("%f", &altura);
    
    
    while(idade > 0){
    printf("Digite sua Idade: ");
    scanf("%d", &idade);
    
    printf("Digite sua Altura: ");
    scanf("%f", &altura);
 
 
 
 
  if(idade > 50){
      
   soma += altura;
   qtd++;
   
}else{
    
    printf("Idade Errada");
}

}
    
soma /= qtd;

printf("A media das Alturas e: %.2f",soma);
getch();    
    
    
    
    
}

 

Bem eu gostaria de saber se alguém pode me ajudar com essa programação pois o programa esta calculando errado em vez de dividir esta somando e quando digita 0 para sair dá um erro J#

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem obrigado por ter tentado me ajudar, pois eu já tinha feito isso mais quando você divide ele sai com resultado errado.

Por exemplo

você digita 4 idades acima de 50 com alturas 1.8 e o resultado sai 1,20 e o certo era sair 1.8

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o que eu fiz.. neste caso eu já não consigo sair do programa quando é digitado um numero negativo.. mas a media está funcionando.

 

#include<stdio.h>


main()
{
    int idade = 0, qtd = 0 ;
    float altura, soma = 0, media = 0;

    printf("Digite a idade e altura da pessoa == para SAIR, digite uma idade negativa!!!\n\n");

        printf("Digite a idade da pessoa: ");
        scanf("%d", &idade);
        printf("Digite o altura da pessoa: ");
        scanf("%f", &altura);

    while ( idade > 0 )
    {
        printf("Digite a idade da pessoa: ");
        scanf("%d", &idade);
        printf("Digite o altura da pessoa: ");
        scanf("%f", &altura);
        printf("\n");

        if ( idade > 50 )
        {
            soma += altura;
            qtd++;
            media = (soma)/qtd;

        }

}
    printf("A media das alturas e: %.2f\n",media);

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
44 minutos atrás, TMC disse:

Bem Fabio,

Muito Obrigado Funcionou,

 

Mas aqui não está saindo quando se digita o numero negativo.. não sei o porque.... sou novo em linguagem C

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou... consertei aqui

 

/* 1.    Construir um programa em C que leia a idade e a altura de uma quantidade indeterminada de pessoas,
calcule e imprima a média das alturas das pessoas com mais de 50 anos. Flag de saída: idade negativa. */

#include<stdio.h>


main()
{
    int idade = 0, qtd = 0 ;
    float altura, soma = 0, media = 0;

    printf("Digite a idade e altura da pessoa == para SAIR, digite uma idade negativa!!!\n\n");

    while ( idade >= 0 )
    {
        printf("Digite a idade da pessoa: ");
        scanf("%d", &idade);
        if ( idade >= 0 )
        {
            printf("Digite o altura da pessoa: ");
            scanf("%f", &altura);
            printf("\n");

            if ( idade > 50 )
            {
                soma += altura;
                qtd++;
                media = (soma)/qtd;

            }
        }
    }
    printf("A media das alturas e: %.2f\n",media);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include<stdio.h>

main(){
    
    int idade,qtd=0;
    float altura, soma=0, md=0;
    
    printf("Digite a idade e altura da pessoa == para SAIR, digite 0 \n\n");
    
    printf("Digite sua Idade %d : ",qtd);
    scanf("%d", &idade);
    
    printf("Digite sua Altura: ");
    scanf("%f", &altura);
    
    
    
    while(idade > 0){

    
    printf("Digite sua Idade %d: ",qtd+1);
    scanf("%d", &idade);
    
    printf("Digite sua Altura: ");
    scanf("%f", &altura);
    
    
       
  if(idade > 50){
      
   soma += altura;
    qtd++;
    md= (soma)/qtd;
   
}

}
    

printf("A media das Alturas e: %.2f",md);

getch();    
    
    
    
    
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×