/*
* Sara Sprenkle 10/13/04
* example.c
*
* Example program: calculates the weekly salary for employees, given
* a file of employee ids, payrate, and hours worked
*
* Step 3: implementing salary function
*/
#include<stdio.h>
/* Constants for overtime:
Get paid time and a half for working more than 40 hours
*/
#define OVERTIME_HOURS 40
#define OVERTIME_RATE 1.5
/*
Constants for double overtime:
Get paid double for working more than 60 hours
*/
#define DOUBLE_OVERTIME_HOURS 60
#define DOUBLE_OVERTIME_RATE 2
/*
* This function calculates and returns the salary for an employee.
*/
double calculateSalary( float pay_rate, float hours ) {
int overtime_hours;
/* don't expect hours to be less than 0, but just in case... */
if( hours < 0 ) {
return 0;
}
/* handles the normal case */
if( hours <= OVERTIME_HOURS ) {
return hours * pay_rate;
}
/* at this point, we know that we must deal with overtime */
if( hours <= DOUBLE_OVERTIME_HOURS ) {
overtime_hours = hours - OVERTIME_HOURS;
return OVERTIME_RATE * pay_rate * overtime_hours + pay_rate * OVERTIME_HOURS;
}
/* we're in the case with double overtime */
overtime_hours = hours - OVERTIME_HOURS;
return DOUBLE_OVERTIME_RATE * pay_rate * overtime_hours + pay_rate * OVERTIME_HOURS;
}
int main() {
/* open input file */
/* read data from input file (employee_id, pay_rate, hours_worked) */
/* calculate the salary for the employee */
/* print the output for the employee */
/* close the file */
return 0;
}