//*******************************************************
//
// Assignment 3 - Conditionals
//
// Name: Alexander Aguilar
//
// Class: C Programming, Summer 2026
//
// Date: June 08, 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
// TODO:  Declare and use one more constant
 #define OT_MULTIPLIER 1.5 
int main() 
{
    
    int clockNumber;       // Employee clock number
    float grossPay;        // The weekly gross pay which is the 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 ("\n*** Pay Calculator ***");
    
    // Process each employee
    for (int i = 0; i < NUM_EMPLOYEES; i++) {
        
        // Prompt the user for the clock number
        printf("\n\nEnter clock number: ");
        scanf("%d", &clockNumber);

        // Prompt the user for the wage rate
        printf("\nEnter wage rate: ");
        scanf("%f", &wageRate);

        // Prompt the user for the number of hours worked
        printf("\nEnter number of hours worked: ");
        scanf("%f", &hours);
        
        //initialize so intial template prints these both as zero 
    	grossPay = 0;
    	overtimeHrs = 0;

        // Calculate the overtime hours, normal pay, and overtime pay
        if (hours > STD_HOURS) {
            // TODO: calculate the three values with overtime
            
            overtimeHrs = hours - STD_HOURS;
            overtimePay = (OT_MULTIPLIER * wageRate) * overtimeHrs;
            normalPay = wageRate * STD_HOURS;
            
            
        } else {
            // TODO: calculate the three values without overtime
            normalPay = wageRate * hours;
            
            
            
        }

        // Calculate the gross pay with normal pay and any additional overtime pay
        grossPay = normalPay + overtimePay;

        // Print out information on the current employee
        // Optional TODO:  Feel free to also print out normalPay and overtimePay
        
        
        printf("\n\nClock# 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;
}