1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BMI指数を求める

Last updated at Posted at 2014-12-12

こんにちは、@Solphaです。

今読んでいる参考書を1/3ぐらいしか読み進めていないくせに、既に発狂しそうになってきたので、モチベーション維持のため、今ある知識を活用してBMI指数を計算するプログラムを書いてみました。

#概要
BMI(体格指数:Body Math Index)指数を計算できるプログラムをつくり、肥満度チェックを行う。

##BMI指数の計算式

BMI.png

#コード

bmi.go
package main

import "fmt"

func main() {
	var height, weight, bmi float32

	// 身長と体重を入力
	fmt.Printf("身長(cm)を入力してください --> ")
	fmt.Scanln(&height)
	fmt.Printf("体重(kg)を入力してください --> ")
	fmt.Scanln(&weight)

	// cmで入力した身長をm換算
	height = height / 100

	// BMIを計算
	bmi = weight / (height * height)

	//BMI値を元に肥満度を判定し、結果を表示。
	if bmi < 18.5 {
		fmt.Printf("あなたのBMI指数は\"%.1f\"で、「痩せぎみ」です。\n", bmi)
	} else if 18.5 <= bmi && bmi < 25.0 {
		fmt.Printf("あなたのBMI指数は\"%.1f\"で、「普通体重」です。\n", bmi)
	} else {
		fmt.Printf("あなたのBMI指数は\"%.1f\"で、「肥満体型」です。\n", bmi)
	}

}

##実行結果

$ go run bmi.go
身長(cm)を入力してください --> 177.5
体重(kg)を入力してください --> 68.5
あなたのBMI指数は"21.7"で、「普通体重」です。

##ポイント

  • 身長をm換算するのが面倒なので、入力は一般的なcmで受け付け、プログラム内でm換算するようにした。
  • そのままBMI値の結果を表示させると小数点以下数桁が表示されてしまうので、Printf関数で「%.1f」とすることで、小数点以下1桁(2桁目を四捨五入してるっぽい)までを表示させるようにした。
  • 自分は”普通体重”らしい。

#所感
これぐらいの条件分岐であれば頭が追いつくのですが、これから先、より複雑になった時に頭がついていくかが心配です。

まぁ、深く考えずに楽しんでやります。プログラムを仕事にしてる人間じゃないですしね・・・。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?