# Write-a-C-program-that-will-calculate-gross-pay-of-employees-utilizing-pointers-computer-science-homework-help

Write a C program that will calculate the gross pay of a set of employees utilizing pointers instead of array references.

The program should prompt the user to enter the number of hours each employee worked. When prompted, key in the hours shown below.

The program determines the overtime hours (anything over 40 hours), the gross pay and then outputs a table in the following format.

Column alignment, leading zeros in Clock#, and zero suppression in float fields is important.

Use 1.5 as the overtime pay factor.

a) Add a Total row at the end to sum up the wage, hours, ot, and gross columns
b) Add an Average row to print out the average of the wage, hours, ot, and gross columns

```    ---------------------------------------------------------_x000D_
Name            Clock#   Wage   Hours     OT     Gross_x000D_
---------------------------------------------------------_x000D_
Connie Cobol    098401   10.60   51.0    11.0    598.90_x000D_
Mary Apl        526488    9.75   42.5     2.5    426.56_x000D_
Frank Fortran   765349   10.50   37.0     0.0    388.50_x000D_
Jeff Ada        034645   12.25   45.0     5.0    581.88_x000D_
Anton Pascal    127615   10.00   40.0     0.0    400.00_x000D_
---------------------------------------------------------_x000D_
_x000D_
Total:                   53.10  215.5    18.5   2395.84_x000D_
Average:                 10.62   43.1     3.7    479.19_x000D_
```

You should implement this program using a structure similar to the suggested one below to store the information for each employee. Feel free to tweak it if you wish. For example, its OK to have a first and last name member instead of just a name member, and if you want to use different types, that is OK as well.

```    struct employee_x000D_
{_x000D_
char  name [20];_x000D_
long  id_number;_x000D_
float wage;_x000D_
float hours;_x000D_
float overtime;_x000D_
float gross;_x000D_
};```

Set a pointer to it and then use that pointer going forward to access elements (and their associated members) in your array of structures. Again, do not use array references with indexes (use emp_ptr->hours … not … emp [ i ].hours as the latter is not a fast).

Use the following information to initialize your data.

```    Connie Cobol     98401   10.60   _x000D_
Mary Apl        526488    9.75_x000D_
Frank Fortran   765349   10.50_x000D_
Anton Pascal    127615   10.00_x000D_
```

Create an array of structures with 5 elements, each being of type struct employee.

Initialize the array with the data provided and reference the elements of the array with the appropriate subscripts.

Do not use any array references with indexes. For example:

emp[i].wage /* this is bad, it uses an array reference with an index, in this case, i */

emp_ptr->wage; /* this is good, it uses a pointer to reference the wage value */