#include <stdio.h>
#define SIZE 5
#define STD_HOURS 40.0
#define OT_RATE 1.5
int main( void )
{
double wage[ SIZE] ;
double hours[ SIZE] ;
double overtimeHours[ SIZE] ;
double grossPay[ SIZE] ;
double normalPay;
double overtimePay;
int i;
/* Input employee information */
for ( i = 0 ; i < SIZE; ++ i)
{
printf ( "Enter Clock#, Wage, and Hours for employee %d: " , i
+ 1 ) ; scanf ( "%d %lf %lf" , & clock [ i
] , & wage
[ i
] , & hours
[ i
] ) ;
/* Calculate overtime hours */
if ( hours[ i] > STD_HOURS)
overtimeHours[ i] = hours[ i] - STD_HOURS;
else
overtimeHours[ i] = 0.0 ;
/* Calculate normal pay */
if ( hours[ i] > STD_HOURS)
normalPay = STD_HOURS * wage[ i] ;
else
normalPay = hours[ i] * wage[ i] ;
/* Calculate overtime pay */
overtimePay = overtimeHours[ i] * wage[ i] * OT_RATE;
/* Calculate gross pay */
grossPay[ i] = normalPay + overtimePay;
}
/* Print results */
printf ( "------------------------------------------------\n " ) ; printf ( "Clock# Wage Hours OT Gross\n " ) ; printf ( "------------------------------------------------\n " ) ;
for ( i = 0 ; i < SIZE; ++ i)
{
printf ( "%06d %6.2f %6.1f %6.1f %8.2f\n " , wage[ i] ,
hours[ i] ,
overtimeHours[ i] ,
grossPay[ i] ) ;
}
printf ( "------------------------------------------------\n " ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQojZGVmaW5lIFNURF9IT1VSUyA0MC4wCiNkZWZpbmUgT1RfUkFURSAxLjUKCmludCBtYWluKHZvaWQpCnsKICAgIGludCBjbG9ja1tTSVpFXTsKICAgIGRvdWJsZSB3YWdlW1NJWkVdOwogICAgZG91YmxlIGhvdXJzW1NJWkVdOwogICAgZG91YmxlIG92ZXJ0aW1lSG91cnNbU0laRV07CiAgICBkb3VibGUgZ3Jvc3NQYXlbU0laRV07CgogICAgZG91YmxlIG5vcm1hbFBheTsKICAgIGRvdWJsZSBvdmVydGltZVBheTsKCiAgICBpbnQgaTsKCiAgICAvKiBJbnB1dCBlbXBsb3llZSBpbmZvcm1hdGlvbiAqLwogICAgZm9yIChpID0gMDsgaSA8IFNJWkU7ICsraSkKICAgIHsKICAgICAgICBwcmludGYoIkVudGVyIENsb2NrIywgV2FnZSwgYW5kIEhvdXJzIGZvciBlbXBsb3llZSAlZDogIiwgaSArIDEpOwogICAgICAgIHNjYW5mKCIlZCAlbGYgJWxmIiwgJmNsb2NrW2ldLCAmd2FnZVtpXSwgJmhvdXJzW2ldKTsKCiAgICAgICAgLyogQ2FsY3VsYXRlIG92ZXJ0aW1lIGhvdXJzICovCiAgICAgICAgaWYgKGhvdXJzW2ldID4gU1REX0hPVVJTKQogICAgICAgICAgICBvdmVydGltZUhvdXJzW2ldID0gaG91cnNbaV0gLSBTVERfSE9VUlM7CiAgICAgICAgZWxzZQogICAgICAgICAgICBvdmVydGltZUhvdXJzW2ldID0gMC4wOwoKICAgICAgICAvKiBDYWxjdWxhdGUgbm9ybWFsIHBheSAqLwogICAgICAgIGlmIChob3Vyc1tpXSA+IFNURF9IT1VSUykKICAgICAgICAgICAgbm9ybWFsUGF5ID0gU1REX0hPVVJTICogd2FnZVtpXTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIG5vcm1hbFBheSA9IGhvdXJzW2ldICogd2FnZVtpXTsKCiAgICAgICAgLyogQ2FsY3VsYXRlIG92ZXJ0aW1lIHBheSAqLwogICAgICAgIG92ZXJ0aW1lUGF5ID0gb3ZlcnRpbWVIb3Vyc1tpXSAqIHdhZ2VbaV0gKiBPVF9SQVRFOwoKICAgICAgICAvKiBDYWxjdWxhdGUgZ3Jvc3MgcGF5ICovCiAgICAgICAgZ3Jvc3NQYXlbaV0gPSBub3JtYWxQYXkgKyBvdmVydGltZVBheTsKICAgIH0KCiAgICAvKiBQcmludCByZXN1bHRzICovCiAgICBwcmludGYoIlxuIik7CiAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CiAgICBwcmludGYoIkNsb2NrIyAgIFdhZ2UgICBIb3VycyAgICBPVCAgICAgR3Jvc3NcbiIpOwogICAgcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwoKICAgIGZvciAoaSA9IDA7IGkgPCBTSVpFOyArK2kpCiAgICB7CiAgICAgICAgcHJpbnRmKCIlMDZkICU2LjJmICU2LjFmICU2LjFmICU4LjJmXG4iLAogICAgICAgICAgICAgICBjbG9ja1tpXSwKICAgICAgICAgICAgICAgd2FnZVtpXSwKICAgICAgICAgICAgICAgaG91cnNbaV0sCiAgICAgICAgICAgICAgIG92ZXJ0aW1lSG91cnNbaV0sCiAgICAgICAgICAgICAgIGdyb3NzUGF5W2ldKTsKICAgIH0KCiAgICBwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CgogICAgcmV0dXJuIDA7Cn0=
stdout
Enter Clock#, Wage, and Hours for employee 1: Enter Clock#, Wage, and Hours for employee 2: Enter Clock#, Wage, and Hours for employee 3: Enter Clock#, Wage, and Hours for employee 4: Enter Clock#, Wage, and Hours for employee 5:
------------------------------------------------
Clock# Wage Hours OT Gross
------------------------------------------------
098401 10.60 51.0 11.0 598.90
526488 9.75 42.5 2.5 426.56
765349 10.50 37.0 0.0 388.50
034645 12.25 45.0 5.0 581.88
127615 8.35 0.0 0.0 0.00
------------------------------------------------