Assume you are given a variable, payRate of type Money (a structured type with two int fields, dollars and cents).
LANGUAGE: C++
CHALLENGE:
Assume you are given a variable, payRate of type Money (a structured type with two int fields, dollars and cents).
Write the necessary code to increase the effective value of payRate by $1.50. To do this you need to add 50 to cents and 1 to dollars but you ALSO must make sure that cents does not end up over 99: if it does, you need to “carry a one” to dollars.
For example, if payRate were $12.80 then a naive addition of $1.50 yields 13 (dollars) and 130 (cents). This would have to be changed to 14 (dollars) and 30 (cents).
SOLUTION:
Money payRateIncrease; payRateIncrease.dollars=1; payRateIncrease.cents=50; payRate.dollars += payRateIncrease.dollars + (payRate.cents + payRateIncrease.cents)/100; payRate.cents = (payRate.cents + payRateIncrease.cents) % 100;