BMI

身体质量指数(BMI,Body Mass Index)是国际上常用的衡量人体肥胖程度和是否健康的重要标准,主要用于统计分析。肥胖程度的判断不能采用体重的绝对值,它天然与身高有关。因此,BMI 通过人体体重和身高两个数值获得相对客观的参数,并用这个参数所处范围衡量身体质量。

计算公式

体重指数BMI=体重/身高的平方(国际单位kg/㎡)
理想BMI(18.5~23.9) = 体重(单位Kg) ÷ 身高的平方 (单位m)根据世界卫生组织定下的标准,亚洲人的BMI(体重指标Body Mass Index)若高于22.9便属于过重。亚洲人和欧美人属于不同人种,WHO的标准不是非常适合中国人的情况,为此制定了中国参考标准:

来源:百度百科
程序可以这么写,先创建两个个文本文档:AldBMI.txt
里面写:


low 0 18.4
right 18.5 23.9
big 24.0 27.9
large 28.0 100.0


和StuBMI.txt


low 10.0 14.6
right 14.7 21.8
big 21.9 24.5
large 24.8 100.0


代表学生版和成人版BMI数据
我们把下限设为0,上限设为100,这样以免麻烦

代码:

#include <iostream>
#include <string>
#include <fstream>#include <conio.h>
#include <iomanip>
#include "windows.h"using namespace std;void OUTlevel(string s)
{if(s == "low")cout << "您的BMI等级为:" << "偏瘦" << endl;else if(s == "big")cout << "您的BMI等级为:" << "超重" << endl;else if(s == "large")cout << "您的BMI等级为:" << "肥胖" << endl;
}void CheckAndOut(double AnsBMI, double high, double weight)//最后检查输出
{const double rightWeightB = 21.8 * (high * high);//常量定义,正常重量边界 const double rightWeightS = 14.7 * (high * high);//常量定义,正常重量边界 if(rightWeightS > AnsBMI)cout << "您还需要加" << rightWeightS - AnsBMI << "Kg" << endl;else if(rightWeightB < AnsBMI)cout << "您还需要减" << AnsBMI - rightWeightB << "Kg" << endl;
}struct BMI_ALL{//结构体定义, string lv;//等级 double score_small;//小成绩 double score_big;//大成绩
};void BMI_STUDENT();
void BMI_ALDULT();//提前声明 void BMI_m()//menu主界面
{while(true){cout << "--------BMI test--------" << endl;cout << "aldult               [1]" << endl;cout << "student              [2]" << endl;cout << "exit                 [0]" << endl;cout << "------------------------" << endl;cout << ">>> ";int Choose;cin >> Choose;//无等待输入-conio.h switch (Choose){case 1:system("cls");BMI_ALDULT();break;case 2:system("cls");BMI_STUDENT();break;case 0:goto loop;}}loop:return;
}void BMI_STUDENT()
{ifstream fin("StuBMI.txt");double high, weight;cout << "BMI for aldult:" << endl;cout << "tips:输入时如无小数点加.0" << endl;cout << "input your high(M)" << endl;cin >> high;cout << "input your weight(kg)" << endl;cin >> weight;double BMIn = weight / (high * high);//19.65BMI_ALL student[4];for(int i = 0; i < 3; i++){fin >> student[i].lv >> student[i].score_small >> student[i].score_big;//录入等级 }/*for(int i = 0; i < 3; i++){cout << student[i].lv << student[i].score_small << student[i].score_big << endl;}*/for(int i = 0; i < 3; i++)if(BMIn >= student[i].score_small && BMIn <= student[i].score_big){cout << "BMI值=" << BMIn << endl; OUTlevel(student[i].lv);if(i == 1)cout << "恭喜!达到正常水平!" << endl;//是否达到正常水平 elseCheckAndOut(BMIn, high, weight);//否则不正常-二阶查看 //cout << "check loop" << endl;}//cout << "check loop" << endl;system("pause");system("cls");return;
}void BMI_ALDULT()
{ifstream fin("AldBMI.txt");double high, weight;cout << "BMI for aldult:" << endl;cout << "tips:输入时如无小数点加.0" << endl;cout << "input your high(M)" << endl;cin >> high;cout << "input your weight(kg)" << endl;cin >> weight;double BMIn = weight / (high * high);//19.65BMI_ALL student[4];for(int i = 0; i < 3; i++){fin >> student[i].lv >> student[i].score_small >> student[i].score_big;//录入等级 }/*for(int i = 0; i < 3; i++){cout << student[i].lv << student[i].score_small << student[i].score_big << endl;}*/for(int i = 0; i < 3; i++)if(BMIn >= student[i].score_small && BMIn <= student[i].score_big){cout << "BMI值=" << BMIn << endl;OUTlevel(student[i].lv);if(i == 1)cout << "恭喜!达到正常水平!" << endl;//是否达到正常水平 elseCheckAndOut(BMIn, high, weight);//否则不正常-二阶查看 //cout << "check loop" << endl;}//cout << "check loop" << endl;system("pause");system("cls");return;
}int main()
{BMI_m();return 0;
}

详细文件、代码、exe文件链接:
https://download.csdn.net/download/cool99781/12149691

BMI指数测量——c++ 1.0.0相关推荐

  1. 【BMI指数计算器V1.0】项目实战

    项目背景         BMI指数(即身体质量指数,简称体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦 ...

  2. 【BMI指数计算器V3.0】项目实战

    [BMI指数计算器V3.0]项目实战震撼发布,欢迎前来交流~~~,如果是刚来的朋友可以先从 [BMI指数计算器V1.0]项目实战,[BMI指数计算器V2.0]项目实战开始,这样循序渐进更能感受到每一个 ...

  3. 【BMI指数计算器V4.0】项目实战

    前言 [BMI指数计算器V4.0]与[BMI指数计算器V3.0]实现的效果是一样的,不同的是在[BMI指数计算器V3.0]的基础上加入了Service层(服务),BroadcastReceiver(广 ...

  4. 【BMI指数计算器V2.0】项目实战

    [BMI指数计算器V2.0]是建立在[BMI指数计算器V1.0]的基础上进行功能的增加,以版本迭代的方式循序渐进的进行Android核心技术的练习. 更新列表: 1.BMI计算标准选择 2.体重状态表 ...

  5. 安卓bmi项目_身高体重指数计算器手机版|bmi体重指数计算器安卓版下载 v1.0.0 - 跑跑车安卓网...

    bmi体重指数计算器是一款手机计算器工具软件,为用户进行身高体重的bmi计算,让你知道你的肥胖特征,让你能够知晓更好去保持好身材,快来下载使用. 软件介绍 体重指数计算器 描述 本应用程序是一款免费的 ...

  6. 森图CAV全尺寸检测服务 ATOS三维扫描测量仪精度达0.0025mm

    森图CAV全尺寸检测服务 ATOS三维扫描测量仪精度达0.0025mm CAV全尺寸检测(简称cav检测)服务,目前还未被广为人知,我们先来了解下它的用途: 一般多用于产品尺寸检测,比如客户下订单给你 ...

  7. python 身体BMI指数判断

    3.30 python身体BMI指数判断 代码: height,weight=eval(input("请输入身高(米)体重(公斤):")) bim=weight/pow(heigh ...

  8. 安卓bmi项目_Android自定义View实现BMI指数条

    最近项目需要,需要做一个BMI指数的指示条,先上效果图: BMI指数从18到35,然后上面指示条的颜色会随着偏移量的变化而改变,数字显示当前的BMI指数,下面的BMI标准也是根据不同数值的范围来判断的 ...

  9. 利用JavaScript实现BMI指数计算

    身体质量指数,是BMI指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准. 当然在做这个demo之前,我们要知道BMI的计算公式:体重(kg)/身高(m)² 实现原理 运用onc ...

最新文章

  1. c++各种数据类型表示范围
  2. NeHe教程Qt实现——lesson12
  3. python四大软件-9个使用Python的世界级软件公司
  4. boost::geometry::index:containst用法的测试程序
  5. mysql 经典问题_mysql经典排名问题
  6. Python的DEBUG LOG
  7. 重设MYSQL数据库ROOT用户的密码
  8. 北斗三号b1c频点带宽_北斗三号导航信号的创新设计(一)
  9. android横竖屏切换布局闪退,Android-Activity横竖屏切换不杀死Activity 并监听横竖屏切换...
  10. matlab ctrb(),4.8Matlab问题能控能观解释.ppt
  11. [Unity][NodeCanvas] 通过 .value 获取 BBParameter 黑板值
  12. 计算机内页动画的作用是什么,滑环工作原理动画示意图有什么作用?
  13. stardict安装及其他
  14. 目标规划第四章计算机求解,单纯形算法与目标规划地应用研究.doc
  15. [JLOI2008]将军
  16. 菜鸟笔记-微信分享突然失效的解决
  17. 数据库高并发和高可用方案
  18. NXP JN5169 波特率配置方案
  19. c语言大一课程设计,大一课程设计(C语言).doc
  20. 29.递归三元表达式生成式匿名函数

热门文章

  1. 测试 iOS 推送证书是否可用
  2. wep加密破解原理简述 实战
  3. 【机器学习之高斯混合模型(Gaussian Mixed Model,GMM) 】
  4. 腾讯QQ每分钟在线人数的计算方法
  5. pythonttf字体提取_[TTF字体]提取TTF字体的轮廓(二) | 学步园
  6. xzx app技术支持
  7. opencv学习18——浮雕效果
  8. 脉冲神经网络SNN流片验证类脑芯片
  9. Raki的读paper小记:Neuro-Inspired Stability-Plasticity Adaptation for Continual Learning in Sparse Nets
  10. git新建并关联远程分支