1: //wages.cpp 2: //Illustrates the use of an if...else-statement in a "practical" context. 4: #include <iostream> 5: #include <iomanip> 6: using namespace std; 8: int main() 9: { 10: const int STANDARD_HOURS = 8; /* number of hours per day */ 11: const double WAGE_RATE = 9.5; /* $ per hour */ 12: const double OT_RATE = 1.5; /* "time-and-a-half" */ 14: cout.setf(ios::fixed, ios::floatfield); 15: cout.setf(ios::showpoint); 16: cout << setprecision(2); 18: cout << "\nThis program computes a worker's wages for a single day.\n" 19: "The wage rate is fixed at $" << WAGE_RATE << " per hour for a " 20: "regular work day.\nTime and a half is paid for overtime, which " 21: "is anything beyond " << STANDARD_HOURS << " hours.\nA worker " 22: "gets paid in full for the last hour, even if the hour is not " 23: "complete.\n\n"; 25: double numHoursWorked; 26: double wages; 27: bool overtimeWorked; 29: cout << "Enter the number of hours worked: "; 30: cin >> numHoursWorked; cin.ignore(80, '\n'); 31: cout << endl; 33: if (numHoursWorked > (int)numHoursWorked) 34: numHoursWorked = (int)numHoursWorked + 1; 36: overtimeWorked = (numHoursWorked > STANDARD_HOURS); 37: if (overtimeWorked) 38: wages = (STANDARD_HOURS * WAGE_RATE) + 39: (numHoursWorked - STANDARD_HOURS) * WAGE_RATE * OT_RATE; 40: else 41: wages = WAGE_RATE * numHoursWorked; 43: cout << "Total wages for " << numHoursWorked 44: << " hours at this rate: $" << wages << endl; 45: cout << endl; 46: }