//*******************************************************
//
// Assignment 4 - Arrays
//
// Name: Toddra Pamplin
//
// Class: C Programming, Spring 2026
//
// Date: 2/22/2026
//
// Description: Program which determines overtime and
// gross pay for a set of employees with outputs sent
// to standard output (the screen).
//
//********************************************************
#include <stdio.h>
// constants to use
#define SIZE 5 // number of employees to process
#define STD_HOURS 40.0 // normal work week hours before overtime
#define OT_RATE 1.5 // time and half overtime setting
int main()
{
// unique employee identifier
long int clockNumber[SIZE] = {98401, 526488, 765349, 34645, 127615};
float grossPay[SIZE];
float hours[SIZE];
int i;
float normalPay[SIZE];
float overtimeHrs[SIZE];
float overtimePay[SIZE];
// hourly pay for each employee
float wageRate[SIZE] = {10.6, 9.75, 10.5, 12.25, 8.35};
printf("\n*** Pay Calculator ***\n\n");
// Process each employee one at a time
for (i = 0; i < SIZE; i++)
{
// Prompt and read hours worked
if (hours[i] >= STD_HOURS)
{
overtimeHrs[i] = hours[i] - STD_HOURS;
normalPay[i] = STD_HOURS * wageRate[i];
overtimePay[i] = overtimeHrs[i] * wageRate[i] * OT_RATE;
}
else // no overtime
{
overtimeHrs[i] = 0;
normalPay[i] = hours[i] * wageRate[i];
overtimePay[i] = 0;
}
// Calculate Gross Pay
grossPay[i] = normalPay[i] + overtimePay[i];
}
// Print table header
printf("\n%-10s %-10s %-10s %-12s %-12s %-12s\n", "Clock#", "Wage", "Hours", "Normal Pay", "OT Pay", "Gross Pay");
printf("---------------------------------------------------------------------\n");
// Print employee information
for (i = 0; i < SIZE; i++)
{
printf("%-10ld %-10.2f %-10.2f %-12.2f %-12.2f %-12.2f\n", clockNumber[i], wageRate[i], hours[i], normalPay[i], overtimePay[i], grossPay[i]);
}
return 0;
}
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi8vCi8vIEFzc2lnbm1lbnQgNCAtIEFycmF5cwovLwovLyBOYW1lOiBUb2RkcmEgUGFtcGxpbgovLwovLyBDbGFzczogQyBQcm9ncmFtbWluZywgU3ByaW5nIDIwMjYKLy8KLy8gRGF0ZTogMi8yMi8yMDI2Ci8vCi8vIERlc2NyaXB0aW9uOiBQcm9ncmFtIHdoaWNoIGRldGVybWluZXMgb3ZlcnRpbWUgYW5kIAovLyBncm9zcyBwYXkgZm9yIGEgc2V0IG9mIGVtcGxveWVlcyB3aXRoIG91dHB1dHMgc2VudCAKLy8gdG8gc3RhbmRhcmQgb3V0cHV0ICh0aGUgc2NyZWVuKS4KLy8KLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKI2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBjb25zdGFudHMgdG8gdXNlCiNkZWZpbmUgU0laRSA1ICAgICAgICAgICAvLyBudW1iZXIgb2YgZW1wbG95ZWVzIHRvIHByb2Nlc3MKI2RlZmluZSBTVERfSE9VUlMgNDAuMCAgIC8vIG5vcm1hbCB3b3JrIHdlZWsgaG91cnMgYmVmb3JlIG92ZXJ0aW1lCiNkZWZpbmUgT1RfUkFURSAxLjUgICAgICAvLyB0aW1lIGFuZCBoYWxmIG92ZXJ0aW1lIHNldHRpbmcKCmludCBtYWluKCkKewogICAgLy8gdW5pcXVlIGVtcGxveWVlIGlkZW50aWZpZXIKICAgIGxvbmcgaW50IGNsb2NrTnVtYmVyW1NJWkVdID0gezk4NDAxLCA1MjY0ODgsIDc2NTM0OSwgMzQ2NDUsIDEyNzYxNX07CgogICAgZmxvYXQgZ3Jvc3NQYXlbU0laRV07ICAgICAKICAgIGZsb2F0IGhvdXJzW1NJWkVdOyAgICAgICAgCiAgICBpbnQgaTsgICAgICAgICAgICAgICAgICAgIAogICAgZmxvYXQgbm9ybWFsUGF5W1NJWkVdOyAgICAKICAgIGZsb2F0IG92ZXJ0aW1lSHJzW1NJWkVdOyAgCiAgICBmbG9hdCBvdmVydGltZVBheVtTSVpFXTsgIAoKICAgIC8vIGhvdXJseSBwYXkgZm9yIGVhY2ggZW1wbG95ZWUKICAgIGZsb2F0IHdhZ2VSYXRlW1NJWkVdID0gezEwLjYsIDkuNzUsIDEwLjUsIDEyLjI1LCA4LjM1fTsgCgogICAgcHJpbnRmKCJcbioqKiBQYXkgQ2FsY3VsYXRvciAqKipcblxuIik7CgogICAgLy8gUHJvY2VzcyBlYWNoIGVtcGxveWVlIG9uZSBhdCBhIHRpbWUKICAgIGZvciAoaSA9IDA7IGkgPCBTSVpFOyBpKyspCiAgICB7CiAgICAgICAgLy8gUHJvbXB0IGFuZCByZWFkIGhvdXJzIHdvcmtlZAogICAgICAgIHNjYW5mKCIlZiIsICZob3Vyc1tpXSk7CgogICAgICAgIGlmIChob3Vyc1tpXSA+PSBTVERfSE9VUlMpCiAgICAgICAgewogICAgICAgICAgICBvdmVydGltZUhyc1tpXSA9IGhvdXJzW2ldIC0gU1REX0hPVVJTOwoKICAgICAgICAgICAgbm9ybWFsUGF5W2ldID0gU1REX0hPVVJTICogd2FnZVJhdGVbaV07CiAgICAgICAgICAgIG92ZXJ0aW1lUGF5W2ldID0gb3ZlcnRpbWVIcnNbaV0gKiB3YWdlUmF0ZVtpXSAqIE9UX1JBVEU7CiAgICAgICAgfQogICAgICAgIGVsc2UgLy8gbm8gb3ZlcnRpbWUKICAgICAgICB7CiAgICAgICAgICAgIG92ZXJ0aW1lSHJzW2ldID0gMDsKCiAgICAgICAgICAgIG5vcm1hbFBheVtpXSA9IGhvdXJzW2ldICogd2FnZVJhdGVbaV07CiAgICAgICAgICAgIG92ZXJ0aW1lUGF5W2ldID0gMDsKICAgICAgICB9CgogICAgICAgIC8vIENhbGN1bGF0ZSBHcm9zcyBQYXkKICAgICAgICBncm9zc1BheVtpXSA9IG5vcm1hbFBheVtpXSArIG92ZXJ0aW1lUGF5W2ldOwogICAgfQoKICAgIC8vIFByaW50IHRhYmxlIGhlYWRlcgogICAgcHJpbnRmKCJcbiUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzICUtMTJzXG4iLAogICAgICAgICAgICJDbG9jayMiLCAiV2FnZSIsICJIb3VycyIsICJOb3JtYWwgUGF5IiwgIk9UIFBheSIsICJHcm9zcyBQYXkiKTsKCiAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CgogICAgLy8gUHJpbnQgZW1wbG95ZWUgaW5mb3JtYXRpb24KICAgIGZvciAoaSA9IDA7IGkgPCBTSVpFOyBpKyspCiAgICB7CiAgICAgICAgcHJpbnRmKCIlLTEwbGQgJS0xMC4yZiAlLTEwLjJmICUtMTIuMmYgJS0xMi4yZiAlLTEyLjJmXG4iLAogICAgICAgICAgICAgICBjbG9ja051bWJlcltpXSwgd2FnZVJhdGVbaV0sIGhvdXJzW2ldLCBub3JtYWxQYXlbaV0sIG92ZXJ0aW1lUGF5W2ldLCBncm9zc1BheVtpXSk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=