//*******************************************************
//
// Assignment 4 - Arrays
//
// Name: <replace with your name>
//
// Class: C Programming, <replace with Semester and Year>
//
// Date: <replace with the current date>
//
// Description: Program which determines overtime and
// gross pay for a set of employees with outputs sent
// to standard output (the screen).
//
//********************************************************
#include <stdio.h>
/* Define constants */
#define SIZE 5 // Number of employees
#define STD_HOURS 40.0 // Standard hours before overtime
#define OT_RATE 1.5 // Overtime pay multiplier
int main() {
/* Employee Data */
long int clockNumber[SIZE] = {98401, 526488, 765349, 34645, 127615};
float wageRate[SIZE] = {10.6, 9.75, 10.5, 12.25, 8.35};
/* Input and Output Data */
float hoursWorked[SIZE]; // To be entered by user
float overtimeHours[SIZE]; // To be calculated
float grossPay[SIZE]; // To be calculated
int i; // loop index
printf("*** Pay Calculator ***\n\n");
// Input Loop
for (i = 0; i < SIZE; i++) {
scanf("%f", &hoursWorked
[i
]);
// Calculate overtime hours
if (hoursWorked[i] > STD_HOURS) {
overtimeHours[i] = hoursWorked[i] - STD_HOURS;
} else {
overtimeHours[i] = 0.0;
}
// Calculate gross pay
float normalPay = (hoursWorked[i] > STD_HOURS ? STD_HOURS : hoursWorked[i]) * wageRate[i];
float overtimePay = overtimeHours[i] * wageRate[i] * OT_RATE;
grossPay[i] = normalPay + overtimePay;
}
// Output
printf("\n--------------------------------------------------------------------------\n"); printf(" Clock# Wage Hours OT Gross\n"); printf("--------------------------------------------------------------------------\n");
for (i = 0; i < SIZE; i++) {
printf(" %06ld %5.2f %5.1f %6.1f %8.2f\n", clockNumber[i],
wageRate[i],
hoursWorked[i],
overtimeHours[i],
grossPay[i]);
}
return 0;
}
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi8vCi8vIEFzc2lnbm1lbnQgNCAtIEFycmF5cwovLwovLyBOYW1lOiA8cmVwbGFjZSB3aXRoIHlvdXIgbmFtZT4KLy8KLy8gQ2xhc3M6IEMgUHJvZ3JhbW1pbmcsIDxyZXBsYWNlIHdpdGggU2VtZXN0ZXIgYW5kIFllYXI+Ci8vCi8vIERhdGU6IDxyZXBsYWNlIHdpdGggdGhlIGN1cnJlbnQgZGF0ZT4KLy8KLy8gRGVzY3JpcHRpb246IFByb2dyYW0gd2hpY2ggZGV0ZXJtaW5lcyBvdmVydGltZSBhbmQgCi8vIGdyb3NzIHBheSBmb3IgYSBzZXQgb2YgZW1wbG95ZWVzIHdpdGggb3V0cHV0cyBzZW50IAovLyB0byBzdGFuZGFyZCBvdXRwdXQgKHRoZSBzY3JlZW4pLgovLwovLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgojaW5jbHVkZSA8c3RkaW8uaD4KCi8qIERlZmluZSBjb25zdGFudHMgKi8KI2RlZmluZSBTSVpFIDUgICAgICAgICAgICAgLy8gTnVtYmVyIG9mIGVtcGxveWVlcwojZGVmaW5lIFNURF9IT1VSUyA0MC4wICAgICAvLyBTdGFuZGFyZCBob3VycyBiZWZvcmUgb3ZlcnRpbWUKI2RlZmluZSBPVF9SQVRFIDEuNSAgICAgICAgLy8gT3ZlcnRpbWUgcGF5IG11bHRpcGxpZXIKCmludCBtYWluKCkgewogICAgLyogRW1wbG95ZWUgRGF0YSAqLwogICAgbG9uZyBpbnQgY2xvY2tOdW1iZXJbU0laRV0gPSB7OTg0MDEsIDUyNjQ4OCwgNzY1MzQ5LCAzNDY0NSwgMTI3NjE1fTsKICAgIGZsb2F0IHdhZ2VSYXRlW1NJWkVdID0gezEwLjYsIDkuNzUsIDEwLjUsIDEyLjI1LCA4LjM1fTsKCiAgICAvKiBJbnB1dCBhbmQgT3V0cHV0IERhdGEgKi8KICAgIGZsb2F0IGhvdXJzV29ya2VkW1NJWkVdOyAgICAgIC8vIFRvIGJlIGVudGVyZWQgYnkgdXNlcgogICAgZmxvYXQgb3ZlcnRpbWVIb3Vyc1tTSVpFXTsgICAgLy8gVG8gYmUgY2FsY3VsYXRlZAogICAgZmxvYXQgZ3Jvc3NQYXlbU0laRV07ICAgICAgICAgLy8gVG8gYmUgY2FsY3VsYXRlZAoKICAgIGludCBpOyAvLyBsb29wIGluZGV4CgogICAgcHJpbnRmKCIqKiogUGF5IENhbGN1bGF0b3IgKioqXG5cbiIpOwoKICAgIC8vIElucHV0IExvb3AKICAgIGZvciAoaSA9IDA7IGkgPCBTSVpFOyBpKyspIHsKICAgICAgICAKICAgICAgICBzY2FuZigiJWYiLCAmaG91cnNXb3JrZWRbaV0pOwoKICAgICAgICAvLyBDYWxjdWxhdGUgb3ZlcnRpbWUgaG91cnMKICAgICAgICBpZiAoaG91cnNXb3JrZWRbaV0gPiBTVERfSE9VUlMpIHsKICAgICAgICAgICAgb3ZlcnRpbWVIb3Vyc1tpXSA9IGhvdXJzV29ya2VkW2ldIC0gU1REX0hPVVJTOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG92ZXJ0aW1lSG91cnNbaV0gPSAwLjA7CiAgICAgICAgfQoKICAgICAgICAvLyBDYWxjdWxhdGUgZ3Jvc3MgcGF5CiAgICAgICAgZmxvYXQgbm9ybWFsUGF5ID0gKGhvdXJzV29ya2VkW2ldID4gU1REX0hPVVJTID8gU1REX0hPVVJTIDogaG91cnNXb3JrZWRbaV0pICogd2FnZVJhdGVbaV07CiAgICAgICAgZmxvYXQgb3ZlcnRpbWVQYXkgPSBvdmVydGltZUhvdXJzW2ldICogd2FnZVJhdGVbaV0gKiBPVF9SQVRFOwogICAgICAgIGdyb3NzUGF5W2ldID0gbm9ybWFsUGF5ICsgb3ZlcnRpbWVQYXk7CiAgICB9CgogICAgLy8gT3V0cHV0CiAgICBwcmludGYoIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgcHJpbnRmKCIgIENsb2NrIyAgIFdhZ2UgIEhvdXJzICAgIE9UICAgICAgIEdyb3NzXG4iKTsKICAgIHByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwoKICAgIGZvciAoaSA9IDA7IGkgPCBTSVpFOyBpKyspIHsKICAgICAgICBwcmludGYoIiAlMDZsZCAgICU1LjJmICAlNS4xZiAgJTYuMWYgICAlOC4yZlxuIiwKICAgICAgICAgICAgICAgY2xvY2tOdW1iZXJbaV0sCiAgICAgICAgICAgICAgIHdhZ2VSYXRlW2ldLAogICAgICAgICAgICAgICBob3Vyc1dvcmtlZFtpXSwKICAgICAgICAgICAgICAgb3ZlcnRpbWVIb3Vyc1tpXSwKICAgICAgICAgICAgICAgZ3Jvc3NQYXlbaV0pOwogICAgfQoKICAgIHJldHVybiAwOwp9