p156ex14: Bills Bills Bills
A gas company has a monthly billing rate based on the total gas consumption by its customers. The charge varies according to the meter reading (m3). The rate structure is as following:
|Total Consumption||Total Charge|
|For the first 10m3 or less||$6.59 (minimum bill)|
|For the next 20m3||23.73 cents/m3|
|For the next 55m3||22.71 cents/m3|
|For the next 85m3||21.78 cents/m3|
|For the next 170m3 or above||20.85 cents/m3|
Note: There are situations where the final reading may be less than the initial reading. For example, the initial reading might be 9980 while the final reading is 0015 indicating a consumption during the month of 35m3 because the meter has 'rolled over'.
For each customer, the program should read an account number 0 ≤ A ≤ 99999 and two meter readings 0 ≤ M1, M2 < 10000. M1 represents the reading at the beginning of the month while M2 represents the reading at the beginning of the next month. The first line of input will be the account number. The second line of input will be M1 followed by a space then M2. The input will be terminated if and only if a negative account number is entered.
For each customer, your program should re-output the customer's account number and then on a new line output the final charge in dollars rounded off to two decimal places.
34567 0000 0005 12345 0000 0015 -1
Account_#:_34567 Bill:_6.59 Account_#:_12345 Bill:_7.78
The '_' are used to represent spaces. Your program should output spaces instead of the underscores.
Point Value: 7
Time Limit: 2.00s
Memory Limit: 16M
Added: Oct 27, 2008
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3