//*******************************************************
//
// 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+CiAvLwogLy8gRGF0ZTogPHJlcGxhY2Ugd2l0aCB0aGUgY3VycmVudCBkYXRlPgogLy8KIC8vIERlc2NyaXB0aW9uOiBQcm9ncmFtIHdoaWNoIGRldGVybWluZXMgb3ZlcnRpbWUgYW5kCiAvLyBncm9zcyBwYXkgZm9yIGEgc2V0IG9mIGVtcGxveWVlcyB3aXRoIG91dHB1dHMgc2VudAogLy8gdG8gc3RhbmRhcmQgb3V0cHV0ICh0aGUgc2NyZWVuKS4KIC8vCiAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKI2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBEZWNsYXJlIGNvbnN0YW50cwojZGVmaW5lIFNURF9IT1VSUyA0MC4wCiNkZWZpbmUgTlVNX0VNUExPWUVFUyA1CiNkZWZpbmUgT1RfUkFURSAxLjUgICAvLyBPdmVydGltZSBwYXkgbXVsdGlwbGllcgoKaW50IG1haW4oKSB7CiAgICBpbnQgY2xvY2tOdW1iZXI7ICAgICAgICAvLyBFbXBsb3llZSBjbG9jayBudW1iZXIKICAgIGZsb2F0IGdyb3NzUGF5OyAgICAgICAgIC8vIFRvdGFsIGdyb3NzIHBheQogICAgZmxvYXQgaG91cnM7ICAgICAgICAgICAgLy8gSG91cnMgd29ya2VkIGluIGEgd2VlawogICAgZmxvYXQgbm9ybWFsUGF5OyAgICAgICAgLy8gU3RhbmRhcmQgcGF5ICh1cCB0byA0MCBob3VycykKICAgIGZsb2F0IG92ZXJ0aW1lSHJzOyAgICAgIC8vIEhvdXJzIHdvcmtlZCBiZXlvbmQgc3RhbmRhcmQKICAgIGZsb2F0IG92ZXJ0aW1lUGF5OyAgICAgIC8vIEV4dHJhIHBheSBmb3Igb3ZlcnRpbWUKICAgIGZsb2F0IHdhZ2VSYXRlOyAgICAgICAgIC8vIEhvdXJseSBwYXkgcmF0ZQoKICAgIHByaW50ZigiXG4qKiogUGF5IENhbGN1bGF0b3IgKioqIik7CgogICAgLy8gUHJvY2VzcyBlYWNoIGVtcGxveWVlCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE5VTV9FTVBMT1lFRVM7IGkrKykgewogICAgICAgIC8vIElucHV0IGRhdGEKICAgICAgICBwcmludGYoIlxuXG5FbnRlciBjbG9jayBudW1iZXI6ICIpOwogICAgICAgIHNjYW5mKCIlZCIsICZjbG9ja051bWJlcik7CgogICAgICAgIHByaW50ZigiRW50ZXIgd2FnZSByYXRlOiAiKTsKICAgICAgICBzY2FuZigiJWYiLCAmd2FnZVJhdGUpOwoKICAgICAgICBwcmludGYoIkVudGVyIG51bWJlciBvZiBob3VycyB3b3JrZWQ6ICIpOwogICAgICAgIHNjYW5mKCIlZiIsICZob3Vycyk7CgogICAgICAgIC8vIENhbGN1bGF0ZSBwYXkKICAgICAgICBpZiAoaG91cnMgPiBTVERfSE9VUlMpIHsKICAgICAgICAgICAgb3ZlcnRpbWVIcnMgPSBob3VycyAtIFNURF9IT1VSUzsKICAgICAgICAgICAgbm9ybWFsUGF5ID0gU1REX0hPVVJTICogd2FnZVJhdGU7CiAgICAgICAgICAgIG92ZXJ0aW1lUGF5ID0gb3ZlcnRpbWVIcnMgKiB3YWdlUmF0ZSAqIE9UX1JBVEU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgb3ZlcnRpbWVIcnMgPSAwOwogICAgICAgICAgICBub3JtYWxQYXkgPSBob3VycyAqIHdhZ2VSYXRlOwogICAgICAgICAgICBvdmVydGltZVBheSA9IDA7CiAgICAgICAgfQoKICAgICAgICBncm9zc1BheSA9IG5vcm1hbFBheSArIG92ZXJ0aW1lUGF5OwoKICAgICAgICAvLyBPdXRwdXQgcmVzdWx0cwogICAgICAgIHByaW50ZigiXG5cbkNsb2NrIyAgV2FnZSAgIEhvdXJzICAgT1QgICBHcm9zc1xuIik7CiAgICAgICAgcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKICAgICAgICBwcmludGYoIiUwNmQgJTYuMmYgJTYuMWYgJTYuMWYgJTguMmZcbiIsCiAgICAgICAgICAgICAgIGNsb2NrTnVtYmVyLCB3YWdlUmF0ZSwgaG91cnMsIG92ZXJ0aW1lSHJzLCBncm9zc1BheSk7CiAgICB9IC8vIGZvcgoKICAgIHJldHVybiAwOwp9IC8vIG1haW4=