//********************************************************
//
// Assignment 6 - structure
//
// Name: Jesus Castillo
//
// Class: C Programming, Summer, 2025
//
// Date: 7/06/2025
//
// Description: Write a C program that will calculate
// thegross pay of a set of employees. Continue
// to use all the features from your past assignments.
// In particular, expand upon your previous assignment
// and continue to use multiple functions and constants
// to help with various tasks called upon by your program.
//
// All functions are called by value
//
//********************************************************
#include <stdio.h>
// constants
#define SIZE 5
#define OVERTIME_RATE 1.5f
#define STD_WORK_WEEK 40.0f
#define OT_RATE 1.5
#define STD_HOURS 40.0
struct employee {
long int clockNumber;
float wageRate;
float hours;
float overtimeHrs;
float grossPay;
} ;
int main( ) {
struct employee employeeData[ SIZE] = {
{ 98401 , 10.60 , 51 , 0 , 0 } ,
{ 526488 , 9.75 , 42.5 , 0 , 0 } ,
{ 765349 , 10.50 , 37.0 , 0 , 0 } ,
{ 34645 , 12.25 , 45.0 , 0 , 0 } ,
{ 127615 , 8.35 , 0 , 0 , 0 }
} ;
for ( int i = 0 ; i < SIZE; ++ i) {
printf ( "Enter hours worked by employee %06ld: " , employeeData
[ i
] .
clockNumber ) ; scanf ( "%f" , & employeeData
[ i
] .
hours ) ; if ( employeeData[ i] .hours > STD_HOURS) {
employeeData[ i] .overtimeHrs = employeeData[ i] .hours - STD_HOURS;
} else {
employeeData[ i] .overtimeHrs = 0.0f ;
}
float regularHours = ( employeeData[ i] .hours > STD_HOURS) ? STD_HOURS : employeeData[ i] .hours ;
employeeData[ i] .grossPay = ( regularHours * employeeData[ i] .wageRate ) + ( employeeData[ i] .overtimeHrs * employeeData[ i] .wageRate * OT_RATE) ;
}
printf ( "\n Clock# Wage Hours OT Gross\n " ) ; printf ( "----------------------------------------\n " ) ; for ( int i = 0 ; i < SIZE; ++ i) {
printf ( "%06ld %5.2f %5.1f %5.1f %8.2f\n " , employeeData[ i] .clockNumber ,
employeeData[ i] .wageRate ,
employeeData[ i] .hours ,
employeeData[ i] .overtimeHrs ,
employeeData[ i] .grossPay ) ;
}
return 0 ;
}
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgovLwovLyBBc3NpZ25tZW50IDYgLSBzdHJ1Y3R1cmUKLy8KLy8gTmFtZTogSmVzdXMgQ2FzdGlsbG8KLy8KLy8gQ2xhc3M6IEMgUHJvZ3JhbW1pbmcsIFN1bW1lciwgMjAyNQovLwovLyBEYXRlOiA3LzA2LzIwMjUKLy8KLy8gRGVzY3JpcHRpb246IFdyaXRlIGEgQyBwcm9ncmFtIHRoYXQgd2lsbCBjYWxjdWxhdGUgCi8vIHRoZWdyb3NzIHBheSBvZiBhIHNldCBvZiBlbXBsb3llZXMuICBDb250aW51ZQovLyB0byB1c2UgYWxsIHRoZSBmZWF0dXJlcyBmcm9tIHlvdXIgcGFzdCBhc3NpZ25tZW50cy4KLy8gSW4gcGFydGljdWxhciwgZXhwYW5kIHVwb24geW91ciBwcmV2aW91cyBhc3NpZ25tZW50Ci8vIGFuZCBjb250aW51ZSB0byB1c2UgbXVsdGlwbGUgZnVuY3Rpb25zIGFuZCBjb25zdGFudHMKLy8gdG8gaGVscCB3aXRoIHZhcmlvdXMgdGFza3MgY2FsbGVkIHVwb24gYnkgeW91ciBwcm9ncmFtLgovLwovLyBBbGwgZnVuY3Rpb25zIGFyZSBjYWxsZWQgYnkgdmFsdWUKLy8KLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKI2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBjb25zdGFudHMKI2RlZmluZSBTSVpFIDUKI2RlZmluZSBPVkVSVElNRV9SQVRFIDEuNWYKI2RlZmluZSBTVERfV09SS19XRUVLIDQwLjBmCiNkZWZpbmUgT1RfUkFURSAxLjUKI2RlZmluZSBTVERfSE9VUlMgNDAuMAoKc3RydWN0IGVtcGxveWVlIHsKbG9uZyBpbnQgY2xvY2tOdW1iZXI7CmZsb2F0IHdhZ2VSYXRlOwpmbG9hdCBob3VyczsKZmxvYXQgb3ZlcnRpbWVIcnM7CmZsb2F0IGdyb3NzUGF5OwoKfTsKCmludCBtYWluKCkgewoKCXN0cnVjdCBlbXBsb3llZSBlbXBsb3llZURhdGFbU0laRV0gPSB7CgkJezk4NDAxLCAxMC42MCwgNTEsIDAsIDB9LAoJCXs1MjY0ODgsIDkuNzUsIDQyLjUsIDAsIDB9LAogICAgICAgIHs3NjUzNDksIDEwLjUwLCAzNy4wLCAwLCAwfSwKICAgICAgICB7MzQ2NDUsIDEyLjI1LCA0NS4wLCAwLCAwfSwKICAgICAgICB7MTI3NjE1LCA4LjM1LCAwLCAwLCAwfQoJfTsKCQoJZm9yIChpbnQgaSA9IDA7IGkgPCBTSVpFOyArK2kpIHsKICAgICAgICAKCXByaW50ZigiRW50ZXIgaG91cnMgd29ya2VkIGJ5IGVtcGxveWVlICUwNmxkOiAiLCBlbXBsb3llZURhdGFbaV0uY2xvY2tOdW1iZXIpOwogICAgc2NhbmYoIiVmIiwgJmVtcGxveWVlRGF0YVtpXS5ob3Vycyk7CglpZiAoZW1wbG95ZWVEYXRhW2ldLmhvdXJzID4gU1REX0hPVVJTKSB7CiAgICAgICAgZW1wbG95ZWVEYXRhW2ldLm92ZXJ0aW1lSHJzID0gZW1wbG95ZWVEYXRhW2ldLmhvdXJzIC0gU1REX0hPVVJTOwogICAgfSBlbHNlIHsKICAgICAgICBlbXBsb3llZURhdGFbaV0ub3ZlcnRpbWVIcnMgPSAwLjBmOwogICAgfQogICAgZmxvYXQgcmVndWxhckhvdXJzID0gKGVtcGxveWVlRGF0YVtpXS5ob3VycyA+IFNURF9IT1VSUykgPyBTVERfSE9VUlMgOiBlbXBsb3llZURhdGFbaV0uaG91cnM7CiAgICBlbXBsb3llZURhdGFbaV0uZ3Jvc3NQYXkgPSAocmVndWxhckhvdXJzICogZW1wbG95ZWVEYXRhW2ldLndhZ2VSYXRlKSArIChlbXBsb3llZURhdGFbaV0ub3ZlcnRpbWVIcnMgKiBlbXBsb3llZURhdGFbaV0ud2FnZVJhdGUgKiBPVF9SQVRFKTsKCgkKCX0KICAgCiBwcmludGYoIlxuQ2xvY2sjICAgV2FnZSAgIEhvdXJzICAgT1QgICAgIEdyb3NzXG4iKTsKICAgIHByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IFNJWkU7ICsraSkgewogICAgcHJpbnRmKCIlMDZsZCAgJTUuMmYgICU1LjFmICAlNS4xZiAgJTguMmZcbiIsCiAgICAgICAgICAgZW1wbG95ZWVEYXRhW2ldLmNsb2NrTnVtYmVyLAogICAgICAgICAgIGVtcGxveWVlRGF0YVtpXS53YWdlUmF0ZSwKICAgICAgICAgICBlbXBsb3llZURhdGFbaV0uaG91cnMsCiAgICAgICAgICAgZW1wbG95ZWVEYXRhW2ldLm92ZXJ0aW1lSHJzLAogICAgICAgICAgIGVtcGxveWVlRGF0YVtpXS5ncm9zc1BheSk7CiAgICAgICAgICAgCiAgICAKICAgICAgfQoKcmV0dXJuIDA7CgkKfQoKCgoKCgoKCgo=