2015-10-25 79 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建议。通过我阅读你的问题,在我看来,或者可能是你正在寻找的东西,只有你知道。