• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rkixa

[Ajuda] Nutrition Calc

1 mensagem neste tópico

Boas,

Estou a tentar criar uma calculadora para ajudar a criar dietas e saber alguma DDR.

O problema até agora foi num case que está dentro do comentário que não funciona.

program nutr_calc;

uses CRT;

var dados:record
    idade:integer;
    peso,alt,bf:real;
    sex:char
    end;

procedure pede_dados;
begin
  writeln('Insira a sua idade: ');
  readln(dados.idade);

  writeln('Insira a sua altura [M]: ');
  readln(dados.alt);

  writeln('Insira o seu peso [Kg]: ');
  readln(dados.peso);

  writeln('Insira a sua percentagem de gordura corporal: ');
  readln(dados.bf);

  writeln('Insira o seu sexo [M/F]: ');
  readln(dados.sex);
end;

procedure imc_calc;

var imc:real;

begin
  imc:=dados.peso/(dados.alt*dados.alt);
  writeln;
  writeln('O seu IMC é de ',imc:3:2);

   {writeln;
    write('Você está: ');
      case imc of
        0..15 : writeln('Abaixo do peso I');
        15.1..18.5 : writeln('Abaixo do peso');
        18.6..24.9 : writeln('Peso Normal');
        25..29.9 : writeln('Acima do peso');
        30..39.9 : writeln('Obesidade I');
        40..100 : writeln('Obesidade II');
      end;}

end;

procedure cal_calc;

var ddr_cal:real;
    alt:real;

begin
  alt:=dados.alt*100; {redução de m para cm}

  if dados.sex='m' then
    ddr_cal:=66+(13.7*dados.peso)+(5*alt)-(6.8*dados.idade)
      else
        if dados.sex='f' then
          ddr_cal:=655+(9.6*dados.peso)+(1.8*alt)-(4.7*dados.idade)
            else
              writeln('O sexo introduzido é inválido!!');

  writeln;
  writeln('A dose diária calórica para manter o seu peso é de ',ddr_cal:3:2);
end;

begin
  clrscr;
  pede_dados;
  imc_calc;
  cal_calc;

  readkey;
end.

Já agora digam o que posso melhorar. Ainda falta muita coisa para acrescentar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora