help with void function

Im doing this question for a class and im really confused on what im doing wrong can someone look over my code and guide me in the right direction here is the question


"The payroll manager at Gerston Blankets wants a program that calculates and displays the gross pay for
each of the company’s employees. It also should calculate and display the total gross pay. The payroll
manager will enter the number of hours the employee worked and his or her pay rate. Employees
working more than 40 hours should receive time and one-half for the hours over 40. Use a void function
to determine an employee’s gross pay. Use a value-returning func-tion to accumulate the total gross
pay. The program should display the total gross pay only after the payroll manager has finished entering
the data for all the employees. Use a sentinel value to end the program."

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>  
#include <iomanip>
#include <cmath>  

using namespace std;

void getGrossPay(double hours, double rate, double& pay);

double calcGrossPay(double hrsWrk, double payRate, double totalGrossPay);

int main()
{
	// declare variables  
	double hrsWrk = 0.0;
	double payRate = 0.0;
	double totalGrossPay = 0.0;
	char   sentinel = ' ';

	calcGrossPay(hrsWrk, payRate, totalGrossPay);

	// prime the loop  
	cout << "Do you have hours to enter? Y/N  (N to stop): ";
	cin >> sentinel;

	while (toupper(sentinel) == 'Y')
	{
		cout << "Enter hours worked:\n";
		cin >> hrsWrk;
		cout << "Enter pay rate:\n";
		cin >> payRate;

		// call function for individual gross pay
		double grossPay;

		getGrossPay(hrsWrk, payRate, grossPay);

		totalGrossPay += GetTotalGrossPay(grossPay);


		// Display information  
		cout << fixed << setprecision(2);
		cout << "grossPay:$" << grossPay << endl;
		cout << "Do you have any more hours to enter? (Y/N):" << endl;
		cin >> sentinel;
	}


	cout << "totalGrossPay:$" << totalGrossPay << endl;
	system("pause");
	
}

void getGrossPay(double hrsWrk, double payRate, double& grossPay)
{
	// calculates and returns the gross Pay 

	if (hrsWrk <= 40)
	{
		grossPay = hrsWrk * payRate;
	}
	else
	{
		grossPay = (hrsWrk - 40) * (payRate * 1.5) + (40 * payRate);
	}
}

double GetTotalGrossPay(double grossPay)
{
	return grossPay;
}
The compiler says:

In function 'int main()': 37:45: error: 'GetTotalGrossPay' was not declared in this scope


You need to declare the function before main. Be consistent with your names, avoid mixing up camelCase and PascalCase.

Always initilize your variables before you use them. line 33 for example.

I always put double literals with numbers before and after the decimal point. For numbers like 40.0 and 1.5 make them constant variables, rather than putting magic numbers all through the code.

const double NormalHours = 40.0;
const double OvertimeRate = 1.5;
Topic archived. No new replies allowed.