//*******************************************************
//
// Assignment 3 - Conditionals
//
// Name: <Amir Gharouadi>
//
// Class: C Programming, <Spring 2026>
//
// Date: <02/13/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>
// Declare constants
#define STD_HOURS 40.0
#define NUM_EMPLOYEES 5
// Declare and use one more constant
#define OT_MULT 1.5
int main( )
{
int clockNumber;
float grossPay;
float hours;
float normalPay;
float overtimeHrs;
float overtimePay;
float wageRate;
printf ( "\n *** Pay Calculator ***\n " ) ;
// Process each employee
for ( int i = 0 ; i < NUM_EMPLOYEES; i++ )
{
printf ( "\n Enter clock number: " ) ; scanf ( "%d" , & clockNumber
) ;
printf ( "Enter number of hours worked: " ) ;
// Initialize values
overtimeHrs = 0.0 ;
normalPay = 0.0 ;
overtimePay = 0.0 ;
// Calculate overtime hours, normal pay, and overtime pay
if ( hours > STD_HOURS)
{
overtimeHrs = hours - STD_HOURS;
normalPay = wageRate * STD_HOURS;
overtimePay = ( OT_MULT * wageRate) * overtimeHrs;
}
else
{
overtimeHrs = 0.0 ;
normalPay = wageRate * hours;
overtimePay = 0.0 ;
}
// Calculate gross pay
grossPay = normalPay + overtimePay;
// Print out information on the current employee
printf ( "\n Clock# Wage Hours OT Gross\n " ) ; printf ( "------------------------------------------------\n " ) ; printf ( "%06d %5.2f %5.1f %5.1f %8.2f\n " , clockNumber, wageRate, hours, overtimeHrs, grossPay) ;
}
return 0 ;
}
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi8vCi8vIEFzc2lnbm1lbnQgMyAtIENvbmRpdGlvbmFscwovLwovLyBOYW1lOiA8QW1pciBHaGFyb3VhZGk+Ci8vCi8vIENsYXNzOiBDIFByb2dyYW1taW5nLCA8U3ByaW5nIDIwMjY+Ci8vCi8vIERhdGU6IDwwMi8xMy8yMDI2PgovLwovLyBEZXNjcmlwdGlvbjogUHJvZ3JhbSB3aGljaCBkZXRlcm1pbmVzIG92ZXJ0aW1lIGFuZCAKLy8gZ3Jvc3MgcGF5IGZvciBhIHNldCBvZiBlbXBsb3llZXMgd2l0aCBvdXRwdXRzIHNlbnQgCi8vIHRvIHN0YW5kYXJkIG91dHB1dCAodGhlIHNjcmVlbikuCi8vCi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiNpbmNsdWRlIDxzdGRpby5oPgogCi8vIERlY2xhcmUgY29uc3RhbnRzIAojZGVmaW5lIFNURF9IT1VSUyA0MC4wCiNkZWZpbmUgTlVNX0VNUExPWUVFUyA1CgovLyBEZWNsYXJlIGFuZCB1c2Ugb25lIG1vcmUgY29uc3RhbnQKI2RlZmluZSBPVF9NVUxUIDEuNQoKaW50IG1haW4oKSAKewogICAgaW50IGNsb2NrTnVtYmVyOyAgICAgICAKICAgIGZsb2F0IGdyb3NzUGF5OyAgICAgICAgCiAgICBmbG9hdCBob3VyczsgICAgICAgICAgIAogICAgZmxvYXQgbm9ybWFsUGF5OyAgICAgICAKICAgIGZsb2F0IG92ZXJ0aW1lSHJzOyAgICAgCiAgICBmbG9hdCBvdmVydGltZVBheTsgICAgIAogICAgZmxvYXQgd2FnZVJhdGU7ICAgICAgICAKIAogICAgcHJpbnRmICgiXG4qKiogUGF5IENhbGN1bGF0b3IgKioqXG4iKTsKIAogICAgLy8gUHJvY2VzcyBlYWNoIGVtcGxveWVlCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE5VTV9FTVBMT1lFRVM7IGkrKykgCiAgICB7CiAgICAgICAgcHJpbnRmKCJcbkVudGVyIGNsb2NrIG51bWJlcjogIik7CiAgICAgICAgc2NhbmYoIiVkIiwgJmNsb2NrTnVtYmVyKTsKIAogICAgICAgIHByaW50ZigiRW50ZXIgd2FnZSByYXRlOiAiKTsKICAgICAgICBzY2FuZigiJWYiLCAmd2FnZVJhdGUpOwogCiAgICAgICAgcHJpbnRmKCJFbnRlciBudW1iZXIgb2YgaG91cnMgd29ya2VkOiAiKTsKICAgICAgICBzY2FuZigiJWYiLCAmaG91cnMpOwoKICAgICAgICAvLyBJbml0aWFsaXplIHZhbHVlcwogICAgICAgIG92ZXJ0aW1lSHJzID0gMC4wOwogICAgICAgIG5vcm1hbFBheSA9IDAuMDsKICAgICAgICBvdmVydGltZVBheSA9IDAuMDsKIAogICAgICAgIC8vIENhbGN1bGF0ZSBvdmVydGltZSBob3Vycywgbm9ybWFsIHBheSwgYW5kIG92ZXJ0aW1lIHBheQogICAgICAgIGlmIChob3VycyA+IFNURF9IT1VSUykgCiAgICAgICAgewogICAgICAgICAgICBvdmVydGltZUhycyA9IGhvdXJzIC0gU1REX0hPVVJTOwogICAgICAgICAgICBub3JtYWxQYXkgPSB3YWdlUmF0ZSAqIFNURF9IT1VSUzsKICAgICAgICAgICAgb3ZlcnRpbWVQYXkgPSAoT1RfTVVMVCAqIHdhZ2VSYXRlKSAqIG92ZXJ0aW1lSHJzOwogICAgICAgIH0gCiAgICAgICAgZWxzZSAKICAgICAgICB7CiAgICAgICAgICAgIG92ZXJ0aW1lSHJzID0gMC4wOwogICAgICAgICAgICBub3JtYWxQYXkgPSB3YWdlUmF0ZSAqIGhvdXJzOwogICAgICAgICAgICBvdmVydGltZVBheSA9IDAuMDsKICAgICAgICB9CiAKICAgICAgICAvLyBDYWxjdWxhdGUgZ3Jvc3MgcGF5CiAgICAgICAgZ3Jvc3NQYXkgPSBub3JtYWxQYXkgKyBvdmVydGltZVBheTsKIAogICAgICAgIC8vIFByaW50IG91dCBpbmZvcm1hdGlvbiBvbiB0aGUgY3VycmVudCBlbXBsb3llZQogICAgICAgIHByaW50ZigiXG5DbG9jayMgV2FnZSAgSG91cnMgIE9UICAgICAgR3Jvc3NcbiIpOwogICAgICAgIHByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKICAgICAgICBwcmludGYoIiUwNmQgJTUuMmYgJTUuMWYgJTUuMWYgJTguMmZcbiIsIAogICAgICAgICAgICAgICBjbG9ja051bWJlciwgd2FnZVJhdGUsIGhvdXJzLCBvdmVydGltZUhycywgZ3Jvc3NQYXkpOwogICAgfQogCiAgICByZXR1cm4gMDsKfQ==