2015-10-25 78 views
0

我是C++編程的初學者,我試圖讀取文本文件中的行,將它們添加到臨時變量中,然後使用它們進行數學計算。我試圖弄清楚如何計算循環的每次迭代的面積,因爲此刻它正在使用矩形的總長度/寬度和圓的總半徑計算面積。這是專門針對sumRecArea,sumPerimeter,sumCircArea和sumCircumference變量的。while循環內的C++計算

inputS.open("inData_Normal.txt"); 

if (inputS.is_open()) 
{ 

    while (inputS >> RecHeight >> RecWidth >> CirRadius >> FirstName >> LastName >> Age >> Savings) 
    { 
     sumHeight = sumHeight + RecHeight; 
     sumWidth = sumWidth + RecWidth; 
     sumRecArea = sumRecArea + (RecHeight * RecWidth); 
     sumPerimeter = sumPerimeter + (2 * (RecHeight + RecWidth)); 
     sumRadius = sumRadius + CirRadius; 
     sumCircArea = sumCircArea + (3.1415 * CirRadius * CirRadius); 
     sumCircumference = sumCircumference + (2 * 3.1415 * CirRadius); 
     sumAge = sumAge + Age; 
     sumSavings = sumSavings + Savings; 
     sumPeople = sumPeople + 1; 

    } 
} 
+1

請添加樣本輸入和期望輸出 – CrakC

+2

這裏的問題究竟是什麼? – MrEricSir

回答

0

現在您正在添加輸入高度和寬度,而不是高度和寬度的總和。

我相信你的代碼應該看起來像下面這樣:

SumRecArea = sumRecArea + (sumHeight * sumWidth); 

我覺得這是你在問什麼......

這同樣適用於圓面積太大。

sumCircArea = sumCircArea + (3.1415 * sumRadius * sumRadius); 
0

通過手工或在Excel中做幾個這樣的計算,看看你是否已經做得不正確。否則,使用:

cout << sumRecArea << endl; 

或者它的一些變化來跟蹤計算,看看哪些是正確的:你現在正在做的方式或他們的方式ApacheCamel建議。通過我閱讀你的問題,在我看來,或者可能是你正在尋找的東西,只有你知道。