肥満度判定プログラム

テキストの入出力にチャレンジしてみました。お馴染み肥満度プログラムです。
まず最初は準備です。
フォームに、「Label」を4つ、「Edit」を5つ、「RadioGroup」を1つ、「BitBtn」を1つ、貼り付け、位置を調整します。
LabelのCaptionには文字(下記イメージ)を入力し、Editの初期文字列は削除します。
BitBtnの「Kind」プロパティで「bkOK」を選択します。
RadioGroupは、Itemsプロパティをダブルクリックすると、文字列を設定するダイアログが出ますので、「男性」と入力し、Enterをクリック「女性」と入力し、Enterをクリックします。

text-1

実行結果

himando

プログラム(プロシジャーのみ)

procedure TfrmBMI.btnOKClick(Sender: TObject);

   Type
   //Gender型を宣言(maleかfemaleしかとらない)
   Gender = (male,female);
   var
   //変数の宣言
   //Extended型は10バイトの実数値
    height,
    weight,
    BMI,
    max,
    min :Extended;
    sex :Gender;

begin
     //性別をチェックする
     case RadioGroup1.ItemIndex of
      0 : sex := male;
      1 : sex := female;
      else
        ShowMessage('性別を入力してください');
     end;

     //データの取り込みと計算
     height := StrToFloat(Edit1.Text) / 100;
     weight := StrToFloat (Edit2.Text);

     BMI := weight / (height * height);
     Edit4.Text := FloatToStrF(BMI, ffFixed,4,2);
   //判定
     case sex of
       male: begin
          if (BMI >= 0 ) and (BMI <19 ) then
          begin
            Edit3.Text := '体重が少なすぎます'
          end;
          if (BMI >= 19) and (BMI <=24) then
          begin
            Edit3.Text := '体重は正常範囲です'
          end;
          if (BMI >= 24) and (BMI <=29.4) then
          begin
            Edit3.Text := '体重が多すぎます'
          end;
          if (BMI >=29.4) then begin
            Edit3.Text := '肥満傾向が顕著です。'
          end;
          //正常範囲の計算
          max := 24 * height * height;
          min := 19 * height * height;
          Edit5.Text := '正常範囲:' + IntToStr(Round(min)) +
                        'Kg ---' + IntToStr(Round(max)) + 'kg';
                        end;

       female: begin

                  if (BMI >= 0 ) and (BMI <18.2 ) then
          begin
            Edit3.Text := '体重が少なすぎます'
          end;
          if (BMI >= 18.2) and (BMI <=23) then
          begin
            Edit3.Text := '体重は正常範囲です'
          end;
          if (BMI >= 23) and (BMI <=29.4) then
          begin
            Edit3.Text := '体重が多すぎます'
          end;
          if (BMI >=29.4) then begin
            Edit3.Text := '肥満傾向が顕著です。'
          end;
          //正常範囲の計算
          max := 23 * height * height;
          min := 18.2 * height * height;
          Edit5.Text := '正常範囲:' + IntToStr(Round(min)) +
                        'Kg ---' + IntToStr(Round(max)) + 'kg';
                        end;
       end;

     end;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です