[C++ 언어-기초실습-11] 비만도 계산하기?

in #kr-dev5 years ago

[C++ 언어-기초실습-11] 비만도 계산하기?



우연히 기사글을 보게 되었는데 비만도 계산을 코딩해보면 어떠할까 하고 실습 주제로 결정했습니다. 그러면 코딩을 해볼까요.

1. 비만도 계산 공식


[신체질량지수인 BMI(Body Mass Index)에 근거한 방식]

  • BMI지수= 몸무게(kg) ÷ (신장(m) × 신장(m))

[산출된 값]

  • 18.5 이하면 저체중
  • 18.5~23은 정상
  • 23~25는 과체중
  • 25~30은 비만
  • 30이상은 고도비만

찾아 보니깐 위와 같은 공식이 있더군요. 이걸 C++ 구현을 하면 어떻게 해야 할까요.

먼저, 키와 몸무게를 입력 받아 BMI 지수를 구해야 겠죠.

  • BMI지수= 몸무게(kg) ÷ (신장(m) × 신장(m))
float cm, m, kg,  bmi;

cin>>cm>>kg;
m=cm/100;
bmi= kg/(m*m);

bmi를 구하고 나서 이 산출 된 값을 기준으로 현재 몸상태를 알려줘야 하는데 범위에 따른 결과이니깐 선택문을 사용하면 됩니다. 지난시간에 이어 이번에서 if문을 사용하여 범위 선택을 해보도록 하죠.

if(bmi>=30) cout<<"고도비만"<<endl;
else if(bmi>=25 )cout<<"비만"<<endl;
else if(bmi>=23) cout<<"과체중"<<endl;
else if(bmi>=18.5) cout<<"정상"<<endl;
else cout<<"저체중"<<endl;

점수에 따른 학점 출력과 동일한 방식입니다.

이제 코딩을 완성시켜서 결과를 살펴보도록 하죠.

2. 코딩


[전체소스]

#include <iostream>
#include <string.h>

using namespace std;


int main(int argc, char** argv) {
    float cm, m, kg, bmi;
    
    
    cout<<"키(cm)와 몸부게(kg) 입력하시오? "; 
    cin>>cm>>kg;
    m=cm/100;
    bmi= kg/(m*m);
    cout<<"cm : "<<cm<<endl;
    cout<<"kg : "<<kg<<endl;
    cout<<"bmi : "<<bmi<<" => ";
    
    /*
    - 18.5 이하면 저체중
    - 18.5~23은 정상
    - 23~25는 과체중
    - 25~30은 비만
    - 30이상은 고도비만
    */
    if(bmi>=30) cout<<"고도비만"<<endl;
    else if(bmi>=25 )cout<<"비만"<<endl;
    else if(bmi>=23) cout<<"과체중"<<endl;
    else if(bmi>=18.5) cout<<"정상"<<endl;
    else cout<<"저체중"<<endl;
    
    return 0;
}

[결과]
a1.jpg

마무리


오늘의 실습 주제는 비만도 측정기입니다. 간단히 비만도 계산 공식울 그대로 코딩하여 산출 된 값을 기준으로 비만도 상태를 선택하는 내용입니다. 수학식을 코딩으로 표현과 비만도 상태표를 기준으로 선택문 코딩을 할 수 있는 능력을 테스트 할 수 있는 좋은 예제가 만들어졌네요.


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

Congratulations @codingman! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published more than 500 posts. Your next target is to reach 550 posts.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 62796.11
ETH 3045.55
USDT 1.00
SBD 3.85