//********************************************************
//
// 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=