在我最近的项目中,简单来说,我正在计算BMI。
我使用单维数组来表示重量和高度(双重类型)
为了计算BMI,我使用一个函数,将等式作为返回值。
问题是结果远远超出BMI的值(例如:20456)
如果一个可接受的问题,将返回BMI计算的结果是问题的根源吗?
这是我的代码:
#include<iostream>
#include<Windows.h>
#include<string>
double BMI(double height, double weight);
int main()
{
SetConsoleTitle("Body Mass Index");
double BMIinput [2];
std::string Name;
std::cout << "Enter your height (inches): ";
std::cin >> BMIinput[0];
system("CLS");
std::cin.ignore();
std::cout << "Enter your weight (pounds): ";
std::cin >> BMIinput[1];
system("CLS");
std::cin.ignore();
std::cout << "Enter your name: ";
std::getline(std::cin, Name);
system("CLS");
std::cout << "Name: " << Name << std::endl;
std::cout << "BMI: " << BMI(BMIinput[0], BMIinput[1]) << std::endl;
system("PAUSE");
system("CLS");
return 0;
}
double BMI(double height, double weight)
{
return (height * height / weight) * 703;
}
答案 0 :(得分:5)
BMI的计算方法是体重超过身高的平方。您的程序计算逆。
答案 1 :(得分:0)
你的BMI公式错了。 72 * 72/210 * 703(六英尺高,15石)约17,000。你需要权重除以高度平方。