Informática, perguntado por Breno1986, 8 meses atrás

Me ajudem..
Faça um programa que leia sexo, o peso e a altura de uma determinada pessoa. Após a digitação, exibir se esta pessoa está ou não com seu peso ideal. Veja tabela da relação

Femininos
R < 19 (Abaixo do peso)
19 <= R < 24 (peso ideal)
R >= 24 (acima do peso)

Masculino
R < 20 (Abaixo do peso)
20 <= R < 25 (peso ideal)
R >= 25(acima do peso)

eu fiz esse código, porem esta dando erro:

Algoritmo "Calculo_peso"
Var
peso, altura, r: real
sexo: caractere
Inicio
escreva("Informe o sexo M ou F:")
leia(sexo)

escreva("Informe o peso (Kg):")
leia(peso)

escreva("Informe a altura (M):")
leia(altura)

r <- peso / (altura^2)

se(sexo = F) entao
escreva("Feminino", sexo)
senao
escreva("Masculino", sexo)

se(r < 19)entao
escreva("Você está abaixo do peso.")
senao
se(19 <= r < 24) entao
escreva("Você está com peso ideal.")
senao
se(r >= 24) entao
escreva("Você esta acima do peso.")

se(r < 20)entao
escreva("Você está abaixo do peso.")
senao
se(20 <= r < 25) entao
escreva("Você está com peso ideal.")
senao
se(r >= 25) entao
escreva("Você esta acima do peso.")

escreva("Seu IMC é:",r)

fimse
fimse
fimse
fimse

Fimalgoritmo

Soluções para a tarefa

Respondido por jiujitsujoao
1

Resposta:

A logica do seu algoritmo esta errada, quando se compara o sexo ja tem que cair nas próximas condições, para identificar se a pessoa esta acima do peso ou abaixo do pessoa ou no peso ideal. Por gentileza verifique o programa executado abaixo, caso tenha alguma dúvida estou a disposição.

Explicação:

#include <stdio.h>

#include <stdlib.h>

/* Program developed by JIUJITSUJOAO*/

int main(int argc, char *argv[]) {

int sexo;

float peso;

float altura;

char nome [100];

float R;

 

printf ("=======================\n");  

printf ("\n Digite o seu nome: ");

scanf("%s", &nome);

 

printf ("=======================\n");  

printf ("Digite o seu sexo: \n");

printf ("1 - Para sexo Feminino\n");

printf ("2 - Para sexo Masculino\n");

scanf("%d", &sexo);

printf ("\n=======================");  

 

 

printf ("=======================\n");  

printf ("\n Digite a sua altura: ");

scanf("%f", &altura);

printf ("\n=======================");  

printf ("\n Digite o seu peso: ");

scanf("%f", &peso);

printf ("\n=======================");

 

 R = peso / (altura * altura);

 

if(sexo==1){

 

 

 if( R <19){

  printf ("\n=========================================================");

  printf("\nA pessoa %s sexo feminino esta com o peso %.2f", nome, peso);

  printf("\n ESTA ABAIXO DO PESO - IMC = %.2f", R);

  printf ("\n=========================================================");

 }

 if( 19 <= R && R < 24){

  printf ("\n==========================================================");

  printf("\n A pessoa %s sexo feminino esta com o peso %.2f", nome, peso);

  printf("\n ESTA COM O PESO IDEAL - IMC = %.2f", R);

  printf ("\n==========================================================");

 }

  if( R >= 24){

  printf ("\n==========================================================");

  printf("\n A pessoa %s sexo feminino esta com o peso %.2f", nome, peso);

  printf("\n ESTA ACIMA DO PESO - IMC = %.2f", R);

  printf ("\n==========================================================");

 }

 

 

}

if(sexo==2){

 

 if( R <20){

 printf ("\n======================================================");

 printf("\n A pessoa %s sexo Masculino esta com o peso %.2f", nome, peso);

 printf("\n ESTA ABAIXO DO PESO - IMC = %.2f", R);

 printf ("\n======================================================");

 }

 if( 20 <= R && R < 25){

 printf ("\n======================================================");

 printf("\n A pessoa %s sexo Masculino esta com o peso %.2f", nome, peso);

 printf("\n ESTA COM O PESO IDEAL - IMC = %.2f", R);

 printf ("\n=======================================================");

 }

 if( R >= 25){

 printf ("\n======================================================");

 printf("\n A pessoa %s sexo Masculino esta com o peso %.2f", nome, peso);

 printf("\n ESTA ACIMA DO PESO - IMC = %.2f", R);

 printf ("\n======================================================");

 }

 

}  

 

 

 

 

return 0;

}

Anexos:
Perguntas interessantes