//*******************************************************
//
// Assignment 3 - Conditionals
//
// Name: <replace with your name>
//
// Class: C Programming, <replace with Semester and Year>
//
// Date: <replace with the current date>
//
// 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
#define OT_RATE 1.5 // Overtime pay multiplier
int main( ) {
int clockNumber; // Employee clock number
float grossPay; // Total gross pay
float hours; // Hours worked in a week
float normalPay; // Standard pay (up to 40 hours)
float overtimeHrs; // Hours worked beyond standard
float overtimePay; // Extra pay for overtime
float wageRate; // Hourly pay rate
printf ( "\n *** Pay Calculator ***" ) ;
// Process each employee
for ( int i = 0 ; i < NUM_EMPLOYEES; i++ ) {
// Input data
printf ( "\n \n Enter clock number: " ) ; scanf ( "%d" , & clockNumber
) ;
printf ( "Enter number of hours worked: " ) ;
// Calculate pay
if ( hours > STD_HOURS) {
overtimeHrs = hours - STD_HOURS;
normalPay = STD_HOURS * wageRate;
overtimePay = overtimeHrs * wageRate * OT_RATE;
} else {
overtimeHrs = 0 ;
normalPay = hours * wageRate;
overtimePay = 0 ;
}
grossPay = normalPay + overtimePay;
// Output results
printf ( "\n \n Clock# Wage Hours OT Gross\n " ) ; printf ( "-------------------------------------\n " ) ; printf ( "%06d %6.2f %6.1f %6.1f %8.2f\n " , clockNumber, wageRate, hours, overtimeHrs, grossPay) ;
} // for
return 0 ;
} // main
Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAvLwogLy8gQXNzaWdubWVudCAzIC0gQ29uZGl0aW9uYWxzCiAvLwogLy8gTmFtZTogPHJlcGxhY2Ugd2l0aCB5b3VyIG5hbWU+CiAvLwogLy8gQ2xhc3M6IEMgUHJvZ3JhbW1pbmcsIDxyZXBsYWNlIHdpdGggU2VtZXN0ZXIgYW5kIFllYXI+CiAvLwogLy8gRGF0ZTogPHJlcGxhY2Ugd2l0aCB0aGUgY3VycmVudCBkYXRlPgogLy8KIC8vIERlc2NyaXB0aW9uOiBQcm9ncmFtIHdoaWNoIGRldGVybWluZXMgb3ZlcnRpbWUgYW5kCiAvLyBncm9zcyBwYXkgZm9yIGEgc2V0IG9mIGVtcGxveWVlcyB3aXRoIG91dHB1dHMgc2VudAogLy8gdG8gc3RhbmRhcmQgb3V0cHV0ICh0aGUgc2NyZWVuKS4KIC8vCiAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgojaW5jbHVkZSA8c3RkaW8uaD4KCi8vIERlY2xhcmUgY29uc3RhbnRzCiNkZWZpbmUgU1REX0hPVVJTIDQwLjAKI2RlZmluZSBOVU1fRU1QTE9ZRUVTIDUKI2RlZmluZSBPVF9SQVRFIDEuNSAgIC8vIE92ZXJ0aW1lIHBheSBtdWx0aXBsaWVyCgppbnQgbWFpbigpIHsKICAgIGludCBjbG9ja051bWJlcjsgICAgICAgIC8vIEVtcGxveWVlIGNsb2NrIG51bWJlcgogICAgZmxvYXQgZ3Jvc3NQYXk7ICAgICAgICAgLy8gVG90YWwgZ3Jvc3MgcGF5CiAgICBmbG9hdCBob3VyczsgICAgICAgICAgICAvLyBIb3VycyB3b3JrZWQgaW4gYSB3ZWVrCiAgICBmbG9hdCBub3JtYWxQYXk7ICAgICAgICAvLyBTdGFuZGFyZCBwYXkgKHVwIHRvIDQwIGhvdXJzKQogICAgZmxvYXQgb3ZlcnRpbWVIcnM7ICAgICAgLy8gSG91cnMgd29ya2VkIGJleW9uZCBzdGFuZGFyZAogICAgZmxvYXQgb3ZlcnRpbWVQYXk7ICAgICAgLy8gRXh0cmEgcGF5IGZvciBvdmVydGltZQogICAgZmxvYXQgd2FnZVJhdGU7ICAgICAgICAgLy8gSG91cmx5IHBheSByYXRlCgogICAgcHJpbnRmKCJcbioqKiBQYXkgQ2FsY3VsYXRvciAqKioiKTsKCiAgICAvLyBQcm9jZXNzIGVhY2ggZW1wbG95ZWUKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTlVNX0VNUExPWUVFUzsgaSsrKSB7CiAgICAgICAgLy8gSW5wdXQgZGF0YQogICAgICAgIHByaW50ZigiXG5cbkVudGVyIGNsb2NrIG51bWJlcjogIik7CiAgICAgICAgc2NhbmYoIiVkIiwgJmNsb2NrTnVtYmVyKTsKCiAgICAgICAgcHJpbnRmKCJFbnRlciB3YWdlIHJhdGU6ICIpOwogICAgICAgIHNjYW5mKCIlZiIsICZ3YWdlUmF0ZSk7CgogICAgICAgIHByaW50ZigiRW50ZXIgbnVtYmVyIG9mIGhvdXJzIHdvcmtlZDogIik7CiAgICAgICAgc2NhbmYoIiVmIiwgJmhvdXJzKTsKCiAgICAgICAgLy8gQ2FsY3VsYXRlIHBheQogICAgICAgIGlmIChob3VycyA+IFNURF9IT1VSUykgewogICAgICAgICAgICBvdmVydGltZUhycyA9IGhvdXJzIC0gU1REX0hPVVJTOwogICAgICAgICAgICBub3JtYWxQYXkgPSBTVERfSE9VUlMgKiB3YWdlUmF0ZTsKICAgICAgICAgICAgb3ZlcnRpbWVQYXkgPSBvdmVydGltZUhycyAqIHdhZ2VSYXRlICogT1RfUkFURTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBvdmVydGltZUhycyA9IDA7CiAgICAgICAgICAgIG5vcm1hbFBheSA9IGhvdXJzICogd2FnZVJhdGU7CiAgICAgICAgICAgIG92ZXJ0aW1lUGF5ID0gMDsKICAgICAgICB9CgogICAgICAgIGdyb3NzUGF5ID0gbm9ybWFsUGF5ICsgb3ZlcnRpbWVQYXk7CgogICAgICAgIC8vIE91dHB1dCByZXN1bHRzCiAgICAgICAgcHJpbnRmKCJcblxuQ2xvY2sjICBXYWdlICAgSG91cnMgICBPVCAgIEdyb3NzXG4iKTsKICAgICAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgICAgIHByaW50ZigiJTA2ZCAlNi4yZiAlNi4xZiAlNi4xZiAlOC4yZlxuIiwKICAgICAgICAgICAgICAgY2xvY2tOdW1iZXIsIHdhZ2VSYXRlLCBob3Vycywgb3ZlcnRpbWVIcnMsIGdyb3NzUGF5KTsKICAgIH0gLy8gZm9yCgogICAgcmV0dXJuIDA7Cn0gLy8gbWFpbg==