help with accumulating in payroll program
Code:
////////////////////////////////////////////////////
// Daniel Pritchett
// COP1220
// Payroll Program made to generate
// payroll report based on employee information
// Made with Visual C++.NET
////////////////////////////////////////////////////
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>
using namespace std;
double overtimeGross(int, double, double);
double federalTax(int, double);
int main()
{
string EmployeeFirstName, EmployeeLastName, EmployeeNumber;
int Dependents, HoursWorked, Workers, WorkersSave;
double HourlyRate, GrossPay, RegPay, FedTax, NetPay, Overtime;
double Total_RegPay, Total_Overtime, Total_GrossPay, Total_FedTax, Total_NetPay;
ofstream outFile;
//output of heading to file
outFile.open("a:test.txt");
outFile << fixed;
outFile <<"EMPLOYEEE" << setw(16) << "EMPLOYEE" << setw(10) << "REG" << setw(16)
<< "OVERTIME" << setw(14) << "GROSS" << setw(9) << "FED"
<< setw(11) << "NET" <<endl;
outFile <<"NUMBER" << setw(15) << "NAME" << setw(14) << "PAY"
<< setw(11) << "PAY"
<< setw(17) << "PAY" << setw(11) << "TAX" << setw(11) << "PAY" << endl << endl;
cout << "How many employees are you going to enter in the payroll? ";
cin >> Workers;
//saves worker number for use in the end.
WorkersSave = Workers;
Total_RegPay = 0;
Total_Overtime = 0;
Total_GrossPay = 0;
Total_FedTax = 0;
Total_NetPay = 0;
//for loop runs as long as Workers does not equal 0
for( ; Workers!=0 ; Workers--)
{
cout << "\nEnter the Employee's six digit work Number: ";
cin >> EmployeeNumber;
cout << "Enter the employees first and last name: ";
cin >> EmployeeFirstName >> EmployeeLastName;
cout << "Enter the number of Dependents: ";
cin >> Dependents;
cout << "Enter your Hourly Rate: $";
cin >> HourlyRate;
cout << "Enter the numbers of hours woked: ";
cin >> HoursWorked;
RegPay = HourlyRate * HoursWorked;
//goes into outfile, change cout to outFile
outFile << right << EmployeeNumber
<< setw(9) << EmployeeFirstName<< " " << EmployeeLastName
<< setw(6) << right << setprecision(2)<< "$" << RegPay;
//condition for overtime
if(HoursWorked > 40)
{
Overtime = overtimeGross(HoursWorked, HourlyRate, RegPay);
outFile << setw(9) << right << setprecision(2)<< "$" << Overtime;
GrossPay = Overtime + RegPay;
}
else
{
Overtime = 0;
GrossPay = RegPay;
outFile << setw(12) << right <<setprecision(2)
<< "$" << Overtime;
}
outFile << setw(9) << right << "$" << setprecision(2) << GrossPay;
//calculating federal tax
FedTax = federalTax(Dependents, GrossPay);
outFile << setw(5) << right << "$" << setprecision(2) << FedTax;
//calculating net pay
NetPay = GrossPay - FedTax;
outFile << setw(5) <<right << "$" << setprecision(2) << NetPay << endl;
Total_RegPay += RegPay;
Total_Overtime += Overtime;
Total_GrossPay += GrossPay;
Total_FedTax += FedTax;
Total_NetPay += NetPay;
//end of for loop
}
outFile <<"\n\n"<< setw(25) <<setprecision(2)<< "TOTAL:" << setw(6) << "$"
<< Total_RegPay << setw(8) << "$" << Total_Overtime << setw(10)
<< "$"
<< Total_GrossPay << setw(6) << "$" << Total_FedTax << setw(7) << "$" << Total_NetPay;
return 0;
}
double overtimeGross(int HoursWorked, double HourlyRate, double RegPay)
{
return (HoursWorked - 40) * (HourlyRate * 1.5);
}
double federalTax(int Dependents, double GrossPay)
{
return (GrossPay - (Dependents * 42.15)) * .20;
}
see inquiry belowat bottom