Calcular peso ideal de acordo com o sexo[Resolvido]
9 respostas
C
Ckralls
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 {
publicstaticvoidmain(String[]args){doublea,pim,pif;chars;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);}elseif(s=='f'){pi=pif;System.out.println("Seu peso ideal eh"+pi);}}}
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.
C
Ckralls
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 ;)
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
Ckralls
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
Ckralls
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
Ckralls
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?