- #include <stdio.h> 
-   
- // constants 
- #define SIZE 5 
- #define OVERTIME_RATE 1.5f 
- #define STD_WORK_WEEK 40.0f 
-   
- // function prototypes 
- void getHours(long int clockNumber[], float hours[], int theSize); 
- void printHeader(void); 
- void printEmp(long int clockNumber[], float wageRate[], float hours[], float overtimeHrs[], float grossPay[], int theSize); 
-   
- // TODO: Add other function prototypes here as needed 
- void calcOT(float hours[], int theSize, float overtimeHrs[]); 
- void calcGross(float wageRate[], float hours[], float overtimeHrs[], float grossPay[], int theSize); 
-   
- int main() { 
-     // Variable Declarations 
-   
-     long int clockNumber[SIZE] = {98401, 526488, 765349, 34645, 127615}; // ID 
-     float grossPay[SIZE];     // gross pay 
-     float hours[SIZE];        // hours worked in a given week 
-     float overtimeHrs[SIZE];  // overtime hours 
-     float wageRate[SIZE] = {10.60, 9.75, 10.50, 12.25, 8.35}; // hourly wage rate 
-   
-     // Read in the hours worked for each employee 
-     getHours(clockNumber, hours, SIZE); 
-   
-     // TODO: Function call to calculate overtime hours 
-     for (int i = 0; i < SIZE; i++) { 
-         overtimeHrs[i] = 0.0f; 
-     } 
-     calcOT(hours, SIZE, overtimeHrs); 
-   
-     // TODO: Function call to calculate gross pay 
-     for (int i = 0; i < SIZE; i++) { 
-         grossPay[i] = 0.0f; 
-     } 
-     calcGross(wageRate, hours, overtimeHrs, grossPay, SIZE); 
-   
-     // Print the initial table header 
-     printHeader(); 
-   
-     // Function call to output results to the screen 
-     printEmp(clockNumber, wageRate, hours, overtimeHrs, grossPay, SIZE); 
-   
-     return (0); 
- } 
-   
- //*************************************************************** 
- //  Function: getHours   
- //  
- //  Purpose: Obtains input from user, the number of hours worked  
- //  per employee and stores the results in an array that is  
- //  passed back to the calling function by reference.  
- //  
- //  Parameters:  
- // 
- //      clockNumber - Array of employee clock numbers for each employee 
- //      hours - Array of hours worked by each employee 
- //      theSize - Number of employees to process 
- //  
- //  Returns: Nothing (call by reference) 
- //   
- //************************************************************** 
-   
- void getHours(long int clockNumber[], float hours[], int theSize) { 
-     int i; // loop and array index 
-   
-     // Read in hours for each employee 
-     for (i = 0; i < theSize; ++i) { 
-         printf("\nEnter hours worked by emp # %06li: ",-  clockNumber [- i ]);
 
-     } 
- } 
-   
- //************************************************************** 
- // Function: printHeader 
- //  
- // Purpose: Prints the initial table header information. 
- //  
- // Parameters: none 
- //  
- // Returns: void 
- //   
- //************************************************************** 
-   
- void printHeader(void) { 
-     printf("\n\n*** Pay Calculator ***\n"); 
-   
-     // print the table header 
-     printf("| Clock# | Wage | Hours | OT | Gross |\n"); 
-     printf("------------------------------------------------\n"); 
- } 
-   
- //************************************************************** 
- // Function: printEmp  
- //  
- // Purpose: Prints out all the employee information in a 
- // nice and orderly table format. 
- //  
- // Parameters:  
- // 
- //     clockNumber - Array of employee clock numbers 
- //     wageRate - Array of employee wages per hour 
- //     hours - Array of number of hours worked by an employee 
- //     overtimeHrs - Array of overtime hours for each employee 
- //     grossPay - Array of gross pay calculations for each employee 
- //     theSize - Number of employees to process  
- //  
- // Returns: Nothing (call by reference) 
- //   
- //************************************************************** 
-   
- void printEmp(long int clockNumber[], float wageRate[], float hours[], float overtimeHrs[], float grossPay[], int theSize) { 
-     int i; // loop and array index 
-   
-     // access and print each employee 
-     for (i = 0; i < theSize; ++i) { 
-         printf("| %06li | %5.2f | %5.1f | %5.1f | %8.2f |\n", 
-                clockNumber[i], wageRate[i], hours[i], overtimeHrs[i], grossPay[i]); 
-         printf("------------------------------------------------\n"); 
-     } 
- } 
-   
- // TODO: Add other functions here as needed 
-   
- //************************************************************** 
- // Function: calcGross 
- // 
- // Purpose: Calculate gross hours worked 
- // 
- // Parameters: 
- // 
- //		wageRate - Array of employee wages per hour 
- //		hours - Array of hours worked by an employee  
- //		overtimeHrs - Array of overtime hours for each employee 
- //		grossPay - Arry of gross pay calculations for each employee 
- //		theSize - Number of employees to process 
- // 
- // Returns: Nothing (call by reference) 
- // 
- //************************************************************** 
-   
- void calcGross(float wageRate[], float hours[], float overtimeHrs[], float grossPay[], int theSize) { 
-     for (int i = 0; i < theSize; i++) { 
-         float regularPay = wageRate[i] * hours[i]; 
-         float overtimePay = wageRate[i] * overtimeHrs[i] * OVERTIME_RATE; 
-         grossPay[i] = regularPay + overtimePay; 
-     } 
- } 
-   
- //************************************************************** 
- // Function: calcOT 
- // 
- // Purpose: Calculate overtime hours worked 
- // 
- // Parameters: 
- // 
- //		wageRate - Array of employee wages per hour 
- //		hours - Array of hours worked by an employee  
- //		 
- //		 
- //		theSize - Number of employees to process 
- // 
- // Returns: Nothing (call by reference) 
- // 
- //**************************************************************	 
-   
- void calcOT(float hours[], int theSize, float overtimeHrs[]) { 
-     for (int i = 0; i < theSize; i++) { 
-         if (hours[i] > STD_WORK_WEEK) { 
-             overtimeHrs[i] = hours[i] - STD_WORK_WEEK; 
-         } else { 
-             overtimeHrs[i] = 0.0f; 
-         } 
-     } 
- }