2016-03-03 58 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';