2013-10-24 135 views
0

我想計算一些人的平均BMI。當我運行此代碼時,每次單擊計算按鈕時,平均BMI都會下降。爲什麼?爲什麼我的BMI平均代碼無法正常工作?

float feet; 
float inches; 
float height; 
float weight; 
float bmi; 
float averagebmi; 

try 
{ 
    //Get user input. 
    feet = float.Parse(txtFeet.Text); 
    inches = float.Parse(txtInches.Text); 
    weight = float.Parse(txtWeight.Text); 

    //Calculations. 
    inches += feet * 12; 
    height = inches * (float)0.0254; 
    weight = weight * (float)0.453592; 
    bmi = weight/(height * height); 

    //Manager Calculations. 
    totalPeople += 1; 
    bmi += 1; 
    averagebmi = bmi/totalPeople; 
+0

你在一個循環中這樣做呢?如果您在重新使用它們之前沒有將變量的值重置爲零,那麼它們的值將會累積。 –

回答

7

平均BMI應該是總BMI除以總人數。

您需要添加:

float totalbmi; 

那麼管理者的計算應該是:

//Manager Calculations. 
totalPeople += 1; 
totalbmi += bmi; 
averagebmi = totalbmi/totalPeople; 
+0

謝謝你的工作!不敢相信我之前有過這樣的代碼,但我刪除了它,因爲我認爲它是錯誤的。 – Gunnar

相關問題