2016-07-13 76 views
0

在我最近的项目中,简而言之,我正在计算BMI。C++ - 意外BMI计算

我使用的重量和高度(double类型)一维阵列

为了计算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

请缩进您的代码。刷新到左边界的所有内容都很难阅读。另外,为什么'#包括'? – PaulMcKenzie

+2

*会返回BMI计算的结果是问题的根源吗?* - 您应该首先使用已知数据测试您的功能。如果它在单元测试时正常工作,那么功能不是问题。 – PaulMcKenzie

+0

注意事项。有了您的问题,,它很容易用于个人视觉表示(SetConsoleTitle)。 –

回答

5

BMI与重量计算超过身高的平方。你的程序计算反转。

0

你的BMI公式是错误的。 72 * 72/210 * 703(六英尺高,15石)给出约17,000。你需要将体重除以身高的平方。