Could someone Please help me figure out why my calculations are incorrect. I have been working very hard on this and am really confused. I do not see what I am doing wrong or how to fix it. I do not get any error messages. However, when I run the program, the calculations are all incorrect. Please help me out with this.

Code:`#include <iostream>`

#include <iomanip>

using namespace std;

double Gross(double);

char mStatusDetermination();

double FederalTax(char, double);

double StateTax(double);

double LocalTax(double);

double MedInsuranceDeductions(char);

double TakeHomePay(double, double, double);

void DisplayPayrollReport(double, double, double,double, double, double, double);

int main(){

char ans;

char MaritalStatus;

double GrossPay, NetPay;

double HourlyRate;

double federalDeductions, stateDeductions, localDeductions;

double TotalDeductions, ExtraDeductions;

cout << " Welcome To The Payroll Calculation Program. \n";

cout << "--------------------------------------------------------------------------------\n";

cout << endl;

do

{

cout << "The rate per hour is: ";

cin >> HourlyRate;

cout << endl;

GrossPay = Gross(HourlyRate);

MaritalStatus = mStatusDetermination();

federalDeductions = FederalTax(MaritalStatus, GrossPay);

stateDeductions = StateTax(GrossPay);

localDeductions = LocalTax(GrossPay);

TotalDeductions = (federalDeductions + stateDeductions + localDeductions);

ExtraDeductions = MedInsuranceDeductions(MaritalStatus);

NetPay = TakeHomePay(GrossPay,TotalDeductions, ExtraDeductions);

DisplayPayrollReport(GrossPay, HourlyRate, federalDeductions, stateDeductions, localDeductions, ExtraDeductions, NetPay);

cout << "\nWould you like to calculate another?(Y/N)? ";

cin >> ans;

cout << endl;

}

while(ans == 'Y' || ans == 'y');

char letter;

cout<<"Enter a letter to end the program:\n";

cin>>letter;

return 0;

}

/************************************************************************************************************************/

double Gross(double HourlyRate)

{

double TotalHours = 0.0;

double HoursWorked;

double OvertimeHrs = 0.0;

double RegPay;

double OvertimePay, grossPay;

char *day[7]={"Sunday","Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

for(int i=0; i<7; i++)

{

cout << "Hours worked on " << day[i] <<": ";

cin >> HoursWorked;

HoursWorked += HoursWorked;

}

cout << endl;

if(HoursWorked < 40)

{

RegPay = HourlyRate * HoursWorked;

}

TotalHours = TotalHours + HoursWorked;

if(TotalHours > 40)

{

OvertimePay = OvertimeHrs * RegPay * 1.5;

grossPay = OvertimePay * RegPay;

}

return (RegPay + OvertimePay);

}

/************************************************************************************************************************/

char mStatusDetermination()

{

char mStatus;

int count = 0;

do

{

cout << "Is Marital Status Married or Single?\n";

cout << "(M=married/S=single):\t";

cin >> mStatus;

cout << endl << endl;

if(mStatus == 'M' || mStatus == 'm' || mStatus == 'S' || mStatus == 's')

count++;

}

while(count < 1);

return mStatus;

}

/************************************************************************************************************************/

double FederalTax(char MaritalStatus, double GrossPay)

{

const double MarriedFedTax =.15;

const double SingleFedTax =.20;

if(MaritalStatus == 'M' || MaritalStatus == 'm')

{

return (GrossPay * MarriedFedTax);

}

else

{

return (GrossPay * SingleFedTax);

}

}

/************************************************************************************************************************/

double StateTax(double GrossPay)

{

const double StateTaxRate = .04;

return (GrossPay * StateTaxRate);

}

/************************************************************************************************************************/

double LocalTax(double GrossPay)

{

const double LocalTaxRate = .02;

return (GrossPay * LocalTaxRate);

}

/************************************************************************************************************************/

double MedInsuranceDeductions(char MaritalStatus)

{

const double MarriedDeductionRate = 18.00;

const double SingleDeductionRate = 10.00;

if(MaritalStatus == 'M' || MaritalStatus == 'm')

{

return MarriedDeductionRate;

}

else

{

return SingleDeductionRate;

}

}

/************************************************************************************************************************/

double TakeHomePay(double GrossPay, double TotalDeductions, double ExtraDeductions)

{

return (GrossPay - TotalDeductions - ExtraDeductions);

}

/************************************************************************************************************************/

void DisplayPayrollReport(double GrossPay, double HourlyRate, double federalDeductions, double stateDeductions,

double localDeductions, double ExtraDeductions, double NetPay)

{

cout<<" Employee Earnings are:\n"

<<"----------------------------------------\n"

<<setw(15)<<"Gross Pay"<<setw(9)<<setprecision(2)<<setiosflags(ios::fixed | ios::showpoint)<<GrossPay<<"\n"

<<setw(15)<<"Pay Rate"<<setw(9)<<HourlyRate<<"\n\n\n\n"

<<" Deductions for the WorkWeek are:\n"

<<"------------------------------------------\n"

<<setw(15)<<"Federal Taxes"<<setw(9)<<federalDeductions<<"\n"

<<setw(15)<<"State Taxes"<<setw(9)<<stateDeductions<<"\n"

<<setw(15)<<"Local Taxes"<<setw(9)<<localDeductions<<"\n"

<<setw(15)<<"Insurance"<<setw(9)<<ExtraDeductions<<"\n\n\n\n"

<<setw(15)<<"Net Pay"<<setw(9)<<NetPay<<"\n";

}