Как мне сделать так, чтобы отображалась только правильная общая ставка заработной платы? На каждом l oop он показывает ставку заработной платы первых сотрудников. Я пишу это на языке c ++ в repl.it. Все, что мне нужно, это показать общую сумму зарплаты сотрудников внизу.
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
const double TAX_RATE = 0.15;
int main()
{
ifstream inFile("emp5.txt");
char firstName[100], lastName[100];
double payRate = 0.0,
hrsWkd = 0.0,
grossPay = 0.0,
taxAmt = 0.0,
netPay = 0.0,
totPayRate = 0.0,
totHrsWkd = 0.0,
totGrossPay = 0.0,
totTaxAmt = 0.0,
totNetPay = 0.0, ot, otPay, regPay;
int width = 15;
//int counter = 0;
cout << setw(7) << "Employee" << setw(17) << "Pay" << setw(17) << "Hours" << setw(15) << "Gross" << setw(13) << "Tax" << setw(13) << "Net" << endl;
cout << setw(2) << "Name" << setw(22) << "Rate" << setw(17) << "Worked" << setw(12) << "Pay" << setw(18) << "Amount" << setw(10) << "Pay" << endl;
cout << setw(2) << "========" << setw(18) << "====" << setw(17) << "======" << setw(14) << "=====" << setw(16) << "======" << setw(13) << "======" << endl;
while (inFile >> firstName >> lastName >> payRate >> hrsWkd) {
//counter = counter + 1;
if (hrsWkd > 40) {
ot = hrsWkd - 40;
}
otPay = ot * payRate;
regPay = (hrsWkd - ot) * payRate;
grossPay = regPay + otPay;
taxAmt = grossPay * TAX_RATE;
netPay = grossPay - taxAmt;
totPayRate += payRate;
cout << fixed << setprecision(2);
cout << left << setw(9) << lastName << ", " << setw(11) << firstName << setw(width) << payRate << setw(width) << hrsWkd << setw(width) << grossPay << setw(width) << taxAmt << setw(width) << netPay << endl;
cout << left << setw(9) << "Totals " << setw(11) << totPayRate;
}
cout << endl;
inFile.close();
return 0;
}