//*******************************************************
//
// Homework: Assignment 3 - Conditionals
//
// Name: Jessica Theman
//
// Class: C Programming, Fall 2025
//
// Date: September 24, 2025
//
// Description: Program which determines overtime and gross
// pay for a set of employees with outputs sent to standard
// output (the screen).
//
// Non file pointer solution
//
//********************************************************
#include <stdio.h>
// Declare constants
#define STD_HOURS 40.0 //Standard hours
#define NUM_EMPLOYEES 5 //Number of employees
#define OVRTM_PAY 1.5 //Overtime pay rate to multiply standard wage by
int main( )
{
int clockNumber; //Employee clock number
float grossPay; //The weekly gross pay which is normalPay + any overtimePay
float hours; //Total hours worked in a week
float normalPay; //Standard weekly normal pay without overtime
float overtimeHrs; //Any hours worked past the normal scheduled work week
float overtimePay; //Additional overtime pay for any overtime hours worked
float wageRate; //Hourly wage for an employee
printf ( "\t *** Pay Calculator ***\n \n " ) ;
//Process each employee
for ( int i= 0 ; i< NUM_EMPLOYEES; i++ )
{
// Prompt the user for the clock number
printf ( "\t Enter clock number: \n " ) ; scanf ( "%d" , & clockNumber
) ;
// Prompt the user for the wage rate
printf ( "\t Enter wage rate: \n " ) ;
// Prompt the user for the number of hours worked
printf ( "\t Enter number of hours worked: \n " ) ;
// Calculate the overtime hours, normal pay, and overtime pay
if ( hours> STD_HOURS)
{
overtimeHrs = hours - STD_HOURS;
normalPay = wageRate * STD_HOURS;
overtimePay = overtimeHrs * ( OVRTM_PAY * wageRate) ;
}
else
{
overtimeHrs = 0 ;
normalPay = hours * wageRate;
overtimePay = 0 ;
}
// Calculate the gross pay with normal pay and any additional overtime pay
grossPay = normalPay + overtimePay;
// Print out information on the current employee
printf ( "\t ----------------------------------------------------------\n " ) ; printf ( "\t Clock# Wage Hours OT RegPay OTPay Gross\n " ) ; printf ( "\t ----------------------------------------------------------\n " ) ; printf ( "\t %06i %-5.2f %-6.1f %-5.1f %-8.2f %-7.2f %-7.2f\n \n " , clockNumber
, wageRate
, hours
, overtimeHrs
, normalPay
, overtimePay
, grossPay
) ; } //for
return 0 ;
} //nain
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIAovLyAKLy8gSG9tZXdvcms6IEFzc2lnbm1lbnQgMyAtIENvbmRpdGlvbmFscyAKLy8gCi8vIE5hbWU6IEplc3NpY2EgVGhlbWFuIAovLyAKLy8gQ2xhc3M6IEMgUHJvZ3JhbW1pbmcsIEZhbGwgMjAyNQovLyAKLy8gRGF0ZTogU2VwdGVtYmVyIDI0LCAyMDI1IAovLyAKLy8gRGVzY3JpcHRpb246IFByb2dyYW0gd2hpY2ggZGV0ZXJtaW5lcyBvdmVydGltZSBhbmQgZ3Jvc3MgCi8vIHBheSBmb3IgYSBzZXQgb2YgZW1wbG95ZWVzIHdpdGggb3V0cHV0cyBzZW50IHRvIHN0YW5kYXJkCi8vIG91dHB1dCAodGhlIHNjcmVlbikuCi8vCi8vIE5vbiBmaWxlIHBvaW50ZXIgc29sdXRpb24gCi8vIAovLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgojaW5jbHVkZSA8c3RkaW8uaD4KCi8vIERlY2xhcmUgY29uc3RhbnRzCiNkZWZpbmUgU1REX0hPVVJTIDQwLjAJLy9TdGFuZGFyZCBob3VycwojZGVmaW5lIE5VTV9FTVBMT1lFRVMgNSAvL051bWJlciBvZiBlbXBsb3llZXMKI2RlZmluZSBPVlJUTV9QQVkgMS41CS8vT3ZlcnRpbWUgcGF5IHJhdGUgdG8gbXVsdGlwbHkgc3RhbmRhcmQgd2FnZSBieQoKaW50IG1haW4oICkKewogICAgaW50IGNsb2NrTnVtYmVyOwkvL0VtcGxveWVlIGNsb2NrIG51bWJlcgogICAgZmxvYXQgZ3Jvc3NQYXk7CQkvL1RoZSB3ZWVrbHkgZ3Jvc3MgcGF5IHdoaWNoIGlzIG5vcm1hbFBheSArIGFueSBvdmVydGltZVBheQogICAgZmxvYXQgaG91cnM7CQkvL1RvdGFsIGhvdXJzIHdvcmtlZCBpbiBhIHdlZWsKICAgIGZsb2F0IG5vcm1hbFBheTsJLy9TdGFuZGFyZCB3ZWVrbHkgbm9ybWFsIHBheSB3aXRob3V0IG92ZXJ0aW1lCiAgICBmbG9hdCBvdmVydGltZUhyczsJLy9BbnkgaG91cnMgd29ya2VkIHBhc3QgdGhlIG5vcm1hbCBzY2hlZHVsZWQgd29yayB3ZWVrCiAgICBmbG9hdCBvdmVydGltZVBheTsJLy9BZGRpdGlvbmFsIG92ZXJ0aW1lIHBheSBmb3IgYW55IG92ZXJ0aW1lIGhvdXJzIHdvcmtlZAogICAgZmxvYXQgd2FnZVJhdGU7CQkvL0hvdXJseSB3YWdlIGZvciBhbiBlbXBsb3llZQoKICAgIHByaW50ZigiXHQqKiogUGF5IENhbGN1bGF0b3IgKioqXG5cbiIpOwoKICAgIC8vUHJvY2VzcyBlYWNoIGVtcGxveWVlCiAgICBmb3IgKGludCBpPTA7IGk8TlVNX0VNUExPWUVFUzsgaSsrKQogICAgCiAgICB7CiAgICAgICAgLy8gUHJvbXB0IHRoZSB1c2VyIGZvciB0aGUgY2xvY2sgbnVtYmVyCiAgICAgICAgcHJpbnRmKCJcdEVudGVyIGNsb2NrIG51bWJlcjogXG4iKTsKICAgICAgICBzY2FuZigiJWQiLCAmY2xvY2tOdW1iZXIpOwoKCQkvLyBQcm9tcHQgdGhlIHVzZXIgZm9yIHRoZSB3YWdlIHJhdGUKICAgICAgICBwcmludGYoIlx0RW50ZXIgd2FnZSByYXRlOiBcbiIpOwogICAgICAgIHNjYW5mKCIlZiIsICZ3YWdlUmF0ZSk7CiAgICAgICAgCgkJLy8gUHJvbXB0IHRoZSB1c2VyIGZvciB0aGUgbnVtYmVyIG9mIGhvdXJzIHdvcmtlZAogICAgICAgIHByaW50ZigiXHRFbnRlciBudW1iZXIgb2YgaG91cnMgd29ya2VkOiBcbiIpOwogICAgICAgIHNjYW5mKCIlZiIsICZob3Vycyk7CgoJCS8vIENhbGN1bGF0ZSB0aGUgb3ZlcnRpbWUgaG91cnMsIG5vcm1hbCBwYXksIGFuZCBvdmVydGltZSBwYXkKCQlpZihob3Vycz5TVERfSE9VUlMpCgkJewoJCQlvdmVydGltZUhycyA9IGhvdXJzIC0gU1REX0hPVVJTOwoJCQlub3JtYWxQYXkgPSB3YWdlUmF0ZSAqIFNURF9IT1VSUzsKCQkJb3ZlcnRpbWVQYXkgPSBvdmVydGltZUhycyAqIChPVlJUTV9QQVkgKiB3YWdlUmF0ZSk7CgkJfQoJCWVsc2UKCQl7CgkJCW92ZXJ0aW1lSHJzID0gMDsKCQkJbm9ybWFsUGF5ID0gaG91cnMgKiB3YWdlUmF0ZTsKCQkJb3ZlcnRpbWVQYXkgPSAwOwoJCX0KCQkKCQkvLyBDYWxjdWxhdGUgdGhlIGdyb3NzIHBheSB3aXRoIG5vcm1hbCBwYXkgYW5kIGFueSBhZGRpdGlvbmFsIG92ZXJ0aW1lIHBheQogICAgICAgIGdyb3NzUGF5ID0gbm9ybWFsUGF5ICsgb3ZlcnRpbWVQYXk7CiAgICAgICAgCgkJLy8gUHJpbnQgb3V0IGluZm9ybWF0aW9uIG9uIHRoZSBjdXJyZW50IGVtcGxveWVlCgkJcHJpbnRmICgiXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKCQlwcmludGYgKCJcdENsb2NrIyAgIFdhZ2UgICAgSG91cnMgICBPVCAgICAgUmVnUGF5ICAgIE9UUGF5ICAgIEdyb3NzXG4iKTsKCQlwcmludGYgKCJcdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgICAgIHByaW50ZigiXHQlMDZpICAgJS01LjJmICAgJS02LjFmICAlLTUuMWYgICUtOC4yZiAgJS03LjJmICAlLTcuMmZcblxuIiwgY2xvY2tOdW1iZXIsIHdhZ2VSYXRlLCBob3Vycywgb3ZlcnRpbWVIcnMsIG5vcm1hbFBheSwgb3ZlcnRpbWVQYXksIGdyb3NzUGF5KTsKICAgIH0vL2ZvcgogICAgCiAgICByZXR1cm4gMDsgCn0vL25haW4K