2015-10-25 3 views
0

Я начинаю программировать на C++, и я пытаюсь читать строки из текстового файла, добавлять их во временные переменные и выполнять с ними математические вычисления. Я пытаюсь выяснить, как вычислить площадь для каждой итерации цикла, поскольку в данный момент она вычисляет площадь, используя общую длину/ширину прямоугольника и полный радиус окружности. Это специально для переменных sumRecArea, sumPerimeter, sumCircArea и sumCircumference.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 предлагает. По моему чтению вашего вопроса мне кажется, что это может быть то, что вы ищете, и только вы это знаете.

Смежные вопросы