//*******************************************************
//
// Assignment 3 - Conditionals
//
// Name: J. Student
//
// Class: C Programming, Spring 2023
//
// Date: 2/10/23
//
// Description: Program which determines overtime and gross pay for
// a set of employees and outputs are 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
int main( ) {
int clock ; // Employee clock number float wage; // Hourly wage for an employee
float hours; // Total hours worked in a week
float normalPay; // Standard weekly normal pay without overtime
float overtimeHours; // Overtime hours counted over 40 a week
float overtimePay; // Additional overtime pay for any overtime hours worked
float grossPay; // The weekly gross pay which is the normalPay + any overtimePay
// Loop through for the number of employees
for ( int i = 0 ; i < NUM_EMPLOYEES; i++ ) {
printf ( "*** Pay Calculator ***" ) ;
// Prompt the user for the clock number
printf ( "\n Enter clock number: " ) ;
// Prompt the user for the wage rate
printf ( "\n Enter wage rate: " ) ;
// Prompt the user for the number of hours worked
printf ( "\n Enter number of hours worked: " ) ;
// TODO: For template ... remove at somepoint as really not needed
grossPay = 0 ;
overtimeHours = 0 ;
// Calculate the overtime hours, normal pay, and overtime pay
if ( hours > STD_HOURS) {
/* TODO: calculate the three values with overtime */
} else {
/* TODO: calculate the three values without overtime */
}
// Calculate the gross pay, including time and a half for overtime hours
grossPay = normalPay + overtimePay;
// Display the clock number, number of hours, overtime hours, and gross pay, with the clock number padded with leading zeros if necessary
printf ( "\n \n Clock# Wage Hours OT Gross\n " ) ; printf ( "------------------------------------------------\n " ) ; printf ( "%06d %5.2f %5.1f %5.1f %8.2f\n " , clock , wage
, hours
, overtimeHours
, grossPay
) ; }
return 0 ;
}
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi8vCi8vIEFzc2lnbm1lbnQgMyAtIENvbmRpdGlvbmFscwovLwovLyBOYW1lOiBKLiBTdHVkZW50Ci8vCi8vIENsYXNzOiBDIFByb2dyYW1taW5nLCBTcHJpbmcgMjAyMwovLwovLyBEYXRlOiAyLzEwLzIzCi8vCi8vIERlc2NyaXB0aW9uOiBQcm9ncmFtIHdoaWNoIGRldGVybWluZXMgb3ZlcnRpbWUgYW5kIGdyb3NzIHBheSBmb3IKLy8gYSBzZXQgb2YgZW1wbG95ZWVzIGFuZCBvdXRwdXRzIGFyZSBzZW50IHRvIHN0YW5kYXJkIG91dHB1dCAodGhlIHNjcmVlbikuCi8vCi8vCi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiNpbmNsdWRlIDxzdGRpby5oPgoKLy8gRGVjbGFyZSBjb25zdGFudHMgCiNkZWZpbmUgU1REX0hPVVJTIDQwLjAKI2RlZmluZSBOVU1fRU1QTE9ZRUVTIDUKLy8gVE9ETzogIERlY2xhcmUgYW5kIHVzZSBvbmUgbW9yZSBjb25zdGFudAoKaW50IG1haW4oKSB7CgkKICAgIGludCBjbG9jazsgICAgICAgICAgIC8vIEVtcGxveWVlIGNsb2NrIG51bWJlcgogICAgZmxvYXQgd2FnZTsgICAgICAgICAgLy8gSG91cmx5IHdhZ2UgZm9yIGFuIGVtcGxveWVlCiAgICBmbG9hdCBob3VyczsgICAgICAgICAvLyBUb3RhbCBob3VycyB3b3JrZWQgaW4gYSB3ZWVrCiAgICBmbG9hdCBub3JtYWxQYXk7ICAgICAvLyBTdGFuZGFyZCB3ZWVrbHkgbm9ybWFsIHBheSB3aXRob3V0IG92ZXJ0aW1lIAogICAgZmxvYXQgb3ZlcnRpbWVIb3VyczsgLy8gT3ZlcnRpbWUgaG91cnMgY291bnRlZCBvdmVyIDQwIGEgd2VlawogICAgZmxvYXQgb3ZlcnRpbWVQYXk7ICAgLy8gQWRkaXRpb25hbCBvdmVydGltZSBwYXkgZm9yIGFueSBvdmVydGltZSBob3VycyB3b3JrZWQKICAgIGZsb2F0IGdyb3NzUGF5OyAgICAgIC8vIFRoZSB3ZWVrbHkgZ3Jvc3MgcGF5IHdoaWNoIGlzIHRoZSBub3JtYWxQYXkgKyBhbnkgb3ZlcnRpbWVQYXkKICAgIAogICAgLy8gTG9vcCB0aHJvdWdoIGZvciB0aGUgbnVtYmVyIG9mIGVtcGxveWVlcwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOVU1fRU1QTE9ZRUVTOyBpKyspIHsKICAgIAkKICAgIAlwcmludGYgKCIqKiogUGF5IENhbGN1bGF0b3IgKioqIik7CiAgICAJCiAgICAgICAgLy8gUHJvbXB0IHRoZSB1c2VyIGZvciB0aGUgY2xvY2sgbnVtYmVyCiAgICAgICAgcHJpbnRmKCJcbkVudGVyIGNsb2NrIG51bWJlcjogIik7CiAgICAgICAgc2NhbmYoIiVkIiwgJmNsb2NrKTsKCiAgICAgICAgLy8gUHJvbXB0IHRoZSB1c2VyIGZvciB0aGUgd2FnZSByYXRlCiAgICAgICAgcHJpbnRmKCJcbkVudGVyIHdhZ2UgcmF0ZTogIik7CiAgICAgICAgc2NhbmYoIiVmIiwgJndhZ2UpOwoKICAgICAgICAvLyBQcm9tcHQgdGhlIHVzZXIgZm9yIHRoZSBudW1iZXIgb2YgaG91cnMgd29ya2VkCiAgICAgICAgcHJpbnRmKCJcbkVudGVyIG51bWJlciBvZiBob3VycyB3b3JrZWQ6ICIpOwogICAgICAgIHNjYW5mKCIlZiIsICZob3Vycyk7CiAgICAgICAgCiAgICAgICAgLy8gVE9ETzogRm9yIHRlbXBsYXRlIC4uLiByZW1vdmUgYXQgc29tZXBvaW50IGFzIHJlYWxseSBub3QgbmVlZGVkCiAgICAgICAgZ3Jvc3NQYXkgPSAwOwogICAgICAgIG92ZXJ0aW1lSG91cnMgPSAwOwoKICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG92ZXJ0aW1lIGhvdXJzLCBub3JtYWwgcGF5LCBhbmQgb3ZlcnRpbWUgcGF5CiAgICAgICAgaWYgKGhvdXJzID4gU1REX0hPVVJTKSB7CiAgICAgICAgICAgIC8qIFRPRE86IGNhbGN1bGF0ZSB0aGUgdGhyZWUgdmFsdWVzIHdpdGggb3ZlcnRpbWUgKi8KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvKiBUT0RPOiBjYWxjdWxhdGUgdGhlIHRocmVlIHZhbHVlcyB3aXRob3V0IG92ZXJ0aW1lICovCiAgICAgICAgfQoKICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIGdyb3NzIHBheSwgaW5jbHVkaW5nIHRpbWUgYW5kIGEgaGFsZiBmb3Igb3ZlcnRpbWUgaG91cnMKICAgICAgICBncm9zc1BheSA9IG5vcm1hbFBheSArIG92ZXJ0aW1lUGF5OwoKICAgICAgICAvLyBEaXNwbGF5IHRoZSBjbG9jayBudW1iZXIsIG51bWJlciBvZiBob3Vycywgb3ZlcnRpbWUgaG91cnMsIGFuZCBncm9zcyBwYXksIHdpdGggdGhlIGNsb2NrIG51bWJlciBwYWRkZWQgd2l0aCBsZWFkaW5nIHplcm9zIGlmIG5lY2Vzc2FyeQogICAgICAgIHByaW50ZigiXG5cbkNsb2NrIyBXYWdlICBIb3VycyAgT1QgICAgICBHcm9zc1xuIik7CiAgICAgICAgcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgICAgIHByaW50ZigiJTA2ZCAlNS4yZiAlNS4xZiAlNS4xZiAlOC4yZlxuIiwgCiAgICAgICAgICAgICAgICBjbG9jaywgd2FnZSwgaG91cnMsIG92ZXJ0aW1lSG91cnMsIGdyb3NzUGF5KTsKICAgIH0KICAgIAogICAgcmV0dXJuIDA7Cn0K