c++ - 使用 BMI 计算器在 C++ 中舍入数字的问题
问题描述
我',尝试使用 C++ 制作一个简单的 BMI 计算器。当我输入我的个人身高和体重时,我得到了正确的结果,但我无法将数字四舍五入到最接近的整数。我查阅了一些视频和一些文章,其中许多建议使用“round()”函数。我试过了,我得到的结果是0!所有反馈都有帮助。谢谢!
#include <iostream>
#include <cmath>
using namespace std;
float Calculate(float kilo, float centimeter)
{
float meter = centimeter * 100;
return kilo / (meter * meter);
}
int main()
{
float kilo, centimeter;
float bmi;
cout << "BMI calculator." << endl;
cout << "Please enter your weight in kilograms. ";
cin >> kilo;
cout <<"Please enter your height in centimeters. ";
cin >> centimeter;
bmi = Calculate(kilo, centimeter);
cout << round(bmi) << endl;
return 0;
}
解决方案
您计算 BMI 的公式是错误的,只需更改行float meter = centimeter/100;
。因为根据您的公式,任何数字乘以 100 然后平方变得如此之大,以至于在除以最终四舍五入的权重后得到非常小的浮点数,这就是为什么您总是得到0
输出的原因。
推荐阅读
- r - 我不断收到错误“...”不是图形参数?
- css - 如何覆盖单个对话框窗口的 css 类的属性
- java - 如何使用 Spring Boot 为 ObjectOptimisticLockingFailureException 获取 409?
- android - 获取访问被拒绝查找属性“vendor.camera.aux.packagelist”错误取消手电筒
- python - 没有 Scrapy 控制台输出,但 print() 显示在控制台中
- python-3.x - 如何检索 USB 转串口地址?
- mongodb - 替换操作:它的写入阶段相对于它的过滤阶段是原子的吗?
- google-colaboratory - 使用 Colab 时如何检查 gpu 的状态?
- javascript - Webpacker 4.2.2 到 5.1.1:不再查找 Element UI 中使用的元素图标
- python - 在库命令内部使用库命令时出现 EFO 错误