//********************************************************
//
// Assignment 6 - Structures
//
// Name: Jalen Tam
//
// Class: C Programming, Fall 2025
//
// Date: October 17, 2025
//
// Description: Program which determines overtime and 
// gross pay for a set of employees with outputs sent 
// to standard output (the screen).
//
// Call by Value design
//
//********************************************************
 
#include <stdio.h>
 
//constants
#define SIZE 5
#define OVT_RATE 1.5
#define STD_HOURS 40
 
//struct format
struct employee {
	long int number;
	float wage;
	float hours;
	float ovtHours;
	float grossPay;
};
 
//function prototypes
float calculateOvt (float hours);	//calculate overtime hours
float calculateGrossPay (float hours, float overtimeHours, float wage);	//calculate gorss pay
 
float calculateOvt (float hours){
	float overtime;
 
	//calculate overtime hours from total hours
	if (hours > STD_HOURS) {
		overtime = hours - STD_HOURS;
	} else {
		overtime = 0;
	}
 
	//return amount of overtime hours
	return overtime;
}
 
float calculateGrossPay (float hours, float overtimeHours, float wage) {
	float pay;
	pay = (hours * wage) + (overtimeHours * wage * OVT_RATE);
	return pay;
}
 
int main(void) 
	//scruct array initialization
	struct employee employeeData[SIZE] = {
		{98401, 10.60},
		{526488, 9.75},
		{765349, 10.50},
		{34645, 12.25},
		{127615, 8.35)
	}
 
	return 0;
}
 
				Ci8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLy8KLy8gQXNzaWdubWVudCA2IC0gU3RydWN0dXJlcwovLwovLyBOYW1lOiBKYWxlbiBUYW0KLy8KLy8gQ2xhc3M6IEMgUHJvZ3JhbW1pbmcsIEZhbGwgMjAyNQovLwovLyBEYXRlOiBPY3RvYmVyIDE3LCAyMDI1Ci8vCi8vIERlc2NyaXB0aW9uOiBQcm9ncmFtIHdoaWNoIGRldGVybWluZXMgb3ZlcnRpbWUgYW5kIAovLyBncm9zcyBwYXkgZm9yIGEgc2V0IG9mIGVtcGxveWVlcyB3aXRoIG91dHB1dHMgc2VudCAKLy8gdG8gc3RhbmRhcmQgb3V0cHV0ICh0aGUgc2NyZWVuKS4KLy8KLy8gQ2FsbCBieSBWYWx1ZSBkZXNpZ24KLy8KLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKI2luY2x1ZGUgPHN0ZGlvLmg+CgovL2NvbnN0YW50cwojZGVmaW5lIFNJWkUgNQojZGVmaW5lIE9WVF9SQVRFIDEuNQojZGVmaW5lIFNURF9IT1VSUyA0MAoKLy9zdHJ1Y3QgZm9ybWF0CnN0cnVjdCBlbXBsb3llZSB7Cglsb25nIGludCBudW1iZXI7CglmbG9hdCB3YWdlOwoJZmxvYXQgaG91cnM7CglmbG9hdCBvdnRIb3VyczsKCWZsb2F0IGdyb3NzUGF5Owp9OwoKLy9mdW5jdGlvbiBwcm90b3R5cGVzCmZsb2F0IGNhbGN1bGF0ZU92dCAoZmxvYXQgaG91cnMpOwkvL2NhbGN1bGF0ZSBvdmVydGltZSBob3VycwpmbG9hdCBjYWxjdWxhdGVHcm9zc1BheSAoZmxvYXQgaG91cnMsIGZsb2F0IG92ZXJ0aW1lSG91cnMsIGZsb2F0IHdhZ2UpOwkvL2NhbGN1bGF0ZSBnb3JzcyBwYXkKCmZsb2F0IGNhbGN1bGF0ZU92dCAoZmxvYXQgaG91cnMpewoJZmxvYXQgb3ZlcnRpbWU7CgkKCS8vY2FsY3VsYXRlIG92ZXJ0aW1lIGhvdXJzIGZyb20gdG90YWwgaG91cnMKCWlmIChob3VycyA+IFNURF9IT1VSUykgewoJCW92ZXJ0aW1lID0gaG91cnMgLSBTVERfSE9VUlM7Cgl9IGVsc2UgewoJCW92ZXJ0aW1lID0gMDsKCX0KCQoJLy9yZXR1cm4gYW1vdW50IG9mIG92ZXJ0aW1lIGhvdXJzCglyZXR1cm4gb3ZlcnRpbWU7Cn0KCmZsb2F0IGNhbGN1bGF0ZUdyb3NzUGF5IChmbG9hdCBob3VycywgZmxvYXQgb3ZlcnRpbWVIb3VycywgZmxvYXQgd2FnZSkgewoJZmxvYXQgcGF5OwoJcGF5ID0gKGhvdXJzICogd2FnZSkgKyAob3ZlcnRpbWVIb3VycyAqIHdhZ2UgKiBPVlRfUkFURSk7CglyZXR1cm4gcGF5Owp9CgppbnQgbWFpbih2b2lkKSAKCS8vc2NydWN0IGFycmF5IGluaXRpYWxpemF0aW9uCglzdHJ1Y3QgZW1wbG95ZWUgZW1wbG95ZWVEYXRhW1NJWkVdID0gewoJCXs5ODQwMSwgMTAuNjB9LAoJCXs1MjY0ODgsIDkuNzV9LAoJCXs3NjUzNDksIDEwLjUwfSwKCQl7MzQ2NDUsIDEyLjI1fSwKCQl7MTI3NjE1LCA4LjM1KQoJfQoJCglyZXR1cm4gMDsKfQo=