2016-03-03 158 views
0

如何计算C++中BMI = mass(lb)x 703 /(height(in))的平方。如何计算C++中的BMI,用英尺和英寸进行计算

BMI答案是33.4695

I entered: 
cout << "weight(lbs)"; 
cin >> lbs; 
cout << "height"; 
cin >> height >> in; 

BMI = ((lbs) * 703)/pow(height(in)), 2); 

我有错:没有重载函数“POW”实例相匹配的参数列表争论类型有:(<错误类型>)。

我已经包含了<cmath>文件,高度定义为double。

+1

如果您将问题细化为“如何将厘米转换为英寸”,则变得容易。总是处理原因,而不是症状:) –

+0

这里的根本原因似乎是对物理量和单位缺乏了解。而且它不受常用编程语言的帮助。 “高度”确实是一个物理量。一个特定的高度可以表示为一个数字和一个单位,例如“70英寸”或更正式的“1.75米”。如示例所示,一个高度可以有两个与其关联的数字,因为单位不同。所以通常的惯例是你为单位做出明确的选择(就像这里为lbs所做的那样),然后忽略单位。 – MSalters

回答

2

让我们开始说你根本不需要调用pow(),但是在你的情况下你错误地放置了大括号。它应该是

pow(height, 2) 

假设高度是一个数值变量。 目前还不清楚您是否想将体力测量单位(英寸或英镑)包含在变量中。这是一个更具挑战性的任务,但同时你可以使用这个:

float weight = 0, height = 0; 
cout << "Enter weight(lbs): "; 
cin >> weight; 
cout << "Enter height(inches):"; 
cin >> height; 

float BMI = weight * 703.0/(height * height); 
cout << "BMI = " << BMI << '\n';