//*******************************************************
//
// Assignment 3 - Conditionals
//
// Name: Fisher Brown
//
// Class: C Programming, Spring 2025
//
// Date: February 16, 2025
//
// Description: Program which determines overtime and
// gross pay for a set of employees with outputs sent
// to standard output (the screen).
//
//********************************************************
#include <stdio.h>
// Declare constants
#define STD_HOURS 40.0
#define NUM_EMPLOYEES 5
#define OT_RATE 1.5 // Overtime pay multiplier
int main( )
{
int clockNumber; // Employee clock number
float wageRate; // Hourly wage for an employee
float hours; // Total hours worked in a week
float normalPay; // Standard weekly normal pay (without overtime)
float overtimeHrs; // Overtime hours worked beyond 40
float overtimePay; // Overtime pay amount
float grossPay; // Total weekly gross pay (normal + overtime)
printf ( "\n *** Pay Calculator ***\n " ) ;
// Process each employee
for ( int i = 0 ; i < NUM_EMPLOYEES; i++ ) {
// Prompt the user for input
printf ( "\n Enter clock number: " ) ; scanf ( "%d" , & clockNumber
) ;
printf ( "Enter number of hours worked: " ) ;
// Initialize variables
overtimeHrs = 0 ;
overtimePay = 0 ;
normalPay = wageRate * hours;
// Calculate overtime if hours exceed 40
if ( hours > STD_HOURS) {
overtimeHrs = hours - STD_HOURS;
overtimePay = ( wageRate * OT_RATE) * overtimeHrs;
normalPay = wageRate * STD_HOURS; // Cap normal pay at 40 hours
}
// Calculate total gross pay
grossPay = normalPay + overtimePay;
// Print the employee's payroll information
printf ( "\n ------------------------------------------------" ) ; printf ( "\n Clock# Wage Hours OT Gross" ) ; printf ( "\n ------------------------------------------------" ) ; printf ( "\n %06d %5.2f %5.1f %5.1f %8.2f\n " , clockNumber, wageRate, hours, overtimeHrs, grossPay) ;
}
return 0 ;
}
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi8vCi8vIEFzc2lnbm1lbnQgMyAtIENvbmRpdGlvbmFscwovLwovLyBOYW1lOiBGaXNoZXIgQnJvd24KLy8KLy8gQ2xhc3M6IEMgUHJvZ3JhbW1pbmcsIFNwcmluZyAyMDI1Ci8vCi8vIERhdGU6IEZlYnJ1YXJ5IDE2LCAyMDI1Ci8vCi8vIERlc2NyaXB0aW9uOiBQcm9ncmFtIHdoaWNoIGRldGVybWluZXMgb3ZlcnRpbWUgYW5kIAovLyBncm9zcyBwYXkgZm9yIGEgc2V0IG9mIGVtcGxveWVlcyB3aXRoIG91dHB1dHMgc2VudCAKLy8gdG8gc3RhbmRhcmQgb3V0cHV0ICh0aGUgc2NyZWVuKS4KLy8KLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKI2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBEZWNsYXJlIGNvbnN0YW50cyAKI2RlZmluZSBTVERfSE9VUlMgNDAuMAojZGVmaW5lIE5VTV9FTVBMT1lFRVMgNQojZGVmaW5lIE9UX1JBVEUgMS41ICAvLyBPdmVydGltZSBwYXkgbXVsdGlwbGllcgoKaW50IG1haW4oKSAKeyAgCiAgICBpbnQgY2xvY2tOdW1iZXI7ICAgICAvLyBFbXBsb3llZSBjbG9jayBudW1iZXIKICAgIGZsb2F0IHdhZ2VSYXRlOyAgICAgIC8vIEhvdXJseSB3YWdlIGZvciBhbiBlbXBsb3llZQogICAgZmxvYXQgaG91cnM7ICAgICAgICAgLy8gVG90YWwgaG91cnMgd29ya2VkIGluIGEgd2VlawogICAgZmxvYXQgbm9ybWFsUGF5OyAgICAgLy8gU3RhbmRhcmQgd2Vla2x5IG5vcm1hbCBwYXkgKHdpdGhvdXQgb3ZlcnRpbWUpCiAgICBmbG9hdCBvdmVydGltZUhyczsgICAvLyBPdmVydGltZSBob3VycyB3b3JrZWQgYmV5b25kIDQwCiAgICBmbG9hdCBvdmVydGltZVBheTsgICAvLyBPdmVydGltZSBwYXkgYW1vdW50CiAgICBmbG9hdCBncm9zc1BheTsgICAgICAvLyBUb3RhbCB3ZWVrbHkgZ3Jvc3MgcGF5IChub3JtYWwgKyBvdmVydGltZSkKCiAgICBwcmludGYoIlxuKioqIFBheSBDYWxjdWxhdG9yICoqKlxuIik7CgogICAgLy8gUHJvY2VzcyBlYWNoIGVtcGxveWVlCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE5VTV9FTVBMT1lFRVM7IGkrKykgewogICAgICAgIAogICAgICAgIC8vIFByb21wdCB0aGUgdXNlciBmb3IgaW5wdXQKICAgICAgICBwcmludGYoIlxuRW50ZXIgY2xvY2sgbnVtYmVyOiAiKTsKICAgICAgICBzY2FuZigiJWQiLCAmY2xvY2tOdW1iZXIpOwoKICAgICAgICBwcmludGYoIkVudGVyIHdhZ2UgcmF0ZTogIik7CiAgICAgICAgc2NhbmYoIiVmIiwgJndhZ2VSYXRlKTsKCiAgICAgICAgcHJpbnRmKCJFbnRlciBudW1iZXIgb2YgaG91cnMgd29ya2VkOiAiKTsKICAgICAgICBzY2FuZigiJWYiLCAmaG91cnMpOwogICAgICAgIAogICAgICAgIC8vIEluaXRpYWxpemUgdmFyaWFibGVzCiAgICAgICAgb3ZlcnRpbWVIcnMgPSAwOwogICAgICAgIG92ZXJ0aW1lUGF5ID0gMDsKICAgICAgICBub3JtYWxQYXkgPSB3YWdlUmF0ZSAqIGhvdXJzOwoKICAgICAgICAvLyBDYWxjdWxhdGUgb3ZlcnRpbWUgaWYgaG91cnMgZXhjZWVkIDQwCiAgICAgICAgaWYgKGhvdXJzID4gU1REX0hPVVJTKSB7CiAgICAgICAgICAgIG92ZXJ0aW1lSHJzID0gaG91cnMgLSBTVERfSE9VUlM7CiAgICAgICAgICAgIG92ZXJ0aW1lUGF5ID0gKHdhZ2VSYXRlICogT1RfUkFURSkgKiBvdmVydGltZUhyczsKICAgICAgICAgICAgbm9ybWFsUGF5ID0gd2FnZVJhdGUgKiBTVERfSE9VUlM7ICAvLyBDYXAgbm9ybWFsIHBheSBhdCA0MCBob3VycwogICAgICAgIH0KCiAgICAgICAgLy8gQ2FsY3VsYXRlIHRvdGFsIGdyb3NzIHBheQogICAgICAgIGdyb3NzUGF5ID0gbm9ybWFsUGF5ICsgb3ZlcnRpbWVQYXk7CgogICAgICAgIC8vIFByaW50IHRoZSBlbXBsb3llZSdzIHBheXJvbGwgaW5mb3JtYXRpb24KICAgICAgICBwcmludGYoIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CiAgICAgICAgcHJpbnRmKCJcbkNsb2NrIyAgIFdhZ2UgIEhvdXJzICAgT1QgICAgR3Jvc3MiKTsKICAgICAgICBwcmludGYoIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CiAgICAgICAgcHJpbnRmKCJcbiUwNmQgICU1LjJmICAlNS4xZiAgJTUuMWYgICU4LjJmXG4iLCAKICAgICAgICAgICAgICAgIGNsb2NrTnVtYmVyLCB3YWdlUmF0ZSwgaG91cnMsIG92ZXJ0aW1lSHJzLCBncm9zc1BheSk7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9