Calcular peso ideal de acordo com o sexo[Resolvido]

9 respostas
C

Amigos, neste programinha é necessário calcular o peso ideal conforme o sexo masculino ou feminino, eu fiz assim, digam se esta certo.
public class Segundo {

public static void main(String[] args) {


          double  a, pim, pif ;
          char s;
          pim = (72.7 * a) - 58;
          pif = (62.1 * a) - 44.7;
          
                            

          a = InOut.leDouble("Entre com sua altura");
          s = InOut.leChar ("Entre com seu sexo");
          
          
       
   if ( s == 'm'){
       
        pi = pim;
        
        System.out.println(" Seu peso ideal eh"+ pi);
        }else if(s == 'f'){
            
            pi = pif;
          System.out.println("Seu peso ideal eh"+pi);
        }
  }

    }

9 Respostas

nel

Oi!

1 - Sempre poste código usando as tags code

2 - O que é o “peso ideal”? É baseado no IMC da pessoa? Se sim, você tem que saber a fórmula e para saber se o seu código está correto, muito simples.
Use uma calculadora ou procure na net mesmo que deve ter zilhões de páginas que fazem isso, digita 3 tipos diferentes de entrada para homem e mulher. Anote os valores e aplique em seu programa e veja se obtém os mesmos resultados.

Observação: pesquise a fórmula corretamente e tenha certeza que está calculando corretamente, para depois testar os valores em seu código. Pegar valores errados como referência não resolve :wink:

Abraços.

C
nel:
Oi!

1 - Sempre poste código usando as tags code

2 - O que é o "peso ideal"? É baseado no IMC da pessoa? Se sim, você tem que saber a fórmula e para saber se o seu código está correto, muito simples.
Use uma calculadora ou procure na net mesmo que deve ter zilhões de páginas que fazem isso, digita 3 tipos diferentes de entrada para homem e mulher. Anote os valores e aplique em seu programa e veja se obtém os mesmos resultados.

Observação: pesquise a fórmula corretamente e tenha certeza que está calculando corretamente, para depois testar os valores em seu código. Pegar valores errados como referência não resolve ;)

Abraços.

o calculo deve ser feito com essa base

pim = (72.7 * a) - 58; // pmi eh peso ideal masculino
 pif = (62.1 * a) - 44.7;// pif eh peso ideal feminino
[code]
henriqueluz

double a, pim, pif ; char s; pim = (72.7 * a) - 58;
Da problema aqui porque você tenta multiplicar o “a” que não é inicializado.
Você primeiro deve receber o “a” para depois então fazer o calculo.

Abraço,

C

henriqueluz:
double a, pim, pif ; char s; pim = (72.7 * a) - 58;
Da problema aqui porque você tenta multiplicar o “a” que não é inicializado.
Você primeiro deve receber o “a” para depois então fazer o calculo.

Abraço,

Ok, o a representa a altura do usuario, e eh o proprio usuario que ira indicar o valor de a, como devo atribuir ?
Essa atribuição não esta sendo feita nessa linha:

a = InOut.leDouble("Entre com sua altura");

?

henriqueluz
Atribua primeiro a altura que o usuário informa para depois fazer o calculo:
double a, pim, pif ;
char s;

a = InOut.leDouble("Entre com sua altura");
s = InOut.leChar ("Entre com seu sexo"); 

pim = (72.7 * a) - 58;
pif = (62.1 * a) - 44.7;

Abs,

C
henriqueluz:
Atribua primeiro a altura que o usuário informa para depois fazer o calculo:
double a, pim, pif ;
char s;

a = InOut.leDouble("Entre com sua altura");
s = InOut.leChar ("Entre com seu sexo"); 

pim = (72.7 * a) - 58;
pif = (62.1 * a) - 44.7;

Abs,

Isso já não esta sendo feito aqui?
a = InOut.leDouble("Entre com sua altura");
henriqueluz

Não. Vou explicar, de acordo com o seu código escrito no primeiro post.

double a, pim, pif ; char s; /* Aqui você tenta fazer o cálculo ANTES de receber o valor da variável "a" Logo como o "a" ainda não foi inicializado, dá erro. */ pim = (72.7 * a) - 58; pif = (62.1 * a) - 44.7; //Você só está recebendo o "a" depois do cálculo, por isso não funciona a = InOut.leDouble("Entre com sua altura");
Entendeu agora?

Por isso falei para você colocar a atribuição a = InOut.leDouble(“Entre com sua altura”); antes de fazer seu cálculo.
Ok?

C

henriqueluz:
Não. Vou explicar, de acordo com o seu código escrito no primeiro post.

double a, pim, pif ; char s; /* Aqui você tenta fazer o cálculo ANTES de receber o valor da variável "a" Logo como o "a" ainda não foi inicializado, dá erro. */ pim = (72.7 * a) - 58; pif = (62.1 * a) - 44.7; //Você só está recebendo o "a" depois do cálculo, por isso não funciona a = InOut.leDouble("Entre com sua altura");
Entendeu agora?

Por isso falei para você colocar a atribuição a = InOut.leDouble(“Entre com sua altura”); antes de fazer seu cálculo.
Ok?

Falou amigo, entendi.
Consertei aki, mas vc acha que tem mais algum erro no codigo, ou ta beleza?

R

Boa tarde,

Eu fiz aqui, fico assim:

public class Weight {

	public static void main(String[] args) {
		double a = 0, pi = 0;
		char s;

		a = 1.53; // ALTURA
		s = 'f'; // SEXO

		if (s == 'm') {
			pi = (72.7 * a) - 58;
			System.out.println(pi);
		} else if (s == 'f') {
			pi = (62.1 * a) - 44.7;
			System.out.println(pi);
		}
	}
}
Criado 10 de agosto de 2011
Ultima resposta 10 de ago. de 2011
Respostas 9
Participantes 4