# Calculate total gross pay of 10 employees. (C++ – Array in Struct) Code Answer

Hello Developer, Hope you guys are doing great. Today at Tutorial Guruji Official website, we are sharing the answer of Calculate total gross pay of 10 employees. (C++ – Array in Struct) without wasting too much if your time.

The question is published on by Tutorial Guruji team.

The result of this question, it should have a payroll record consists all of these things. But i have a problem in calculating the TOTAL GROSS PAY FOR ALL EMPLOYEES by using arrays in struct (C++) but I am stuck. The total gross pay should be printed at bottom of the payroll record. I feel like something is missing in my coding but I can`t figure out what that thing is. I only have a problem in finding the total gross pay, others are okay.

```#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double gross[10];
double sum = 0.0;
double totalGrossPay;
struct GrossPay {
int empID;
string empName;
double chargeHour;
int workingHours;
double grossPay;
};

GrossPay employee[10];

for (int i = 0; i < 10; i++) {
cout << (i + 1) << "."
<< "Employee Name :";
cin >> employee[i].empName;

cout << "Employee ID :";
cin >> employee[i].empID;

cout << "Employee`s charge rate per hour :";
cin >> employee[i].chargeHour;

cout << "Working hours :";
cin >> employee[i].workingHours;

cout << endl;
}
cout << "Employee IDt"
<< "Employee Namet"
<< "Gross Pay(RM)" << endl;
for (int i = 0; i < 10; i++) {
double gross = employee[i].chargeHour * employee[i].workingHours;
cout << employee[i].empID << "tt" << employee[i].empName << "tt" << gross;
cout << endl;
}
cout << endl;

for (int i = 0; i < 10; i++) {
totalGrossPay = sum + gross[i];
}
cout << "Total gross pay of 10 employees : RM" << totalGrossPay;
return 0;
}
```

You have an uninitialized array

```double gross[10];
```

So its elements have indeterminate values.

As a result this loop

```for (int i = 0; i < 10; i++) {
totalGrossPay = sum + gross[i];
}
```

invokes undefined behavior.

Also the variable sum has not changed in the preceding code. So its using in this for loop does not make a sense.

Maybe you mean in the body of the loop

```double totalGrossPay = 0.0;

for (int i = 0; i < 10; i++) {
totalGrossPay += gross[i];
}
```

provided that the array gross is filled with values.

It seems that in this for loop

```for (int i = 0; i < 10; i++) {
double gross = employee[i].chargeHour * employee[i].workingHours;
cout << employee[i].empID << "tt" << employee[i].empName << "tt" << gross;
cout << endl;
}
```

you mean elements of the array gross instead of the local variable gross as for example

```for (int i = 0; i < 10; i++) {
gross[i] = employee[i].chargeHour * employee[i].workingHours;
cout << employee[i].empID << "tt" << employee[i].empName << "tt" << gross[i];
cout << endl;
}
```

Also the data member `double grossPay;` of the structure is not used. Maybe instead of the array `gross` you need to fill this data member of elements of the array of structures do not you?