Vending notes to a customer.
A cashpoint can dispense £20, £10 and £5 notes. It always dispenses the least number of notes for each withdrawal. For example, if the customer chose to withdraw £50 it would dispense 2x£20 notes and 1x£10 note.
The dispenser mechanism is an embedded system that receives the commands, "Wx", "D20", "D10" or "D5" as an input sequence from the main control unit. For example, £50 would be W50 D20 D20 D10.
Write a program to output the minimum number of notes from an input value.
Use this boilerplate code as a starting point:
Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.
Enter the amount to withdraw: £50
W50
D20
D20
D10
Enter the amount to withdraw: £75
W75
D20
D20
D20
D10
D5
Use these resources as a reference to help you meet the success criteria.
Run the unit tests below to check that your program has met the success criteria.
Enter the amount to withdraw: £0
W0
Enter the amount to withdraw: £90
W90
D20
D20
D20
D20
D10
Enter the amount to withdraw: £200
W200
D20
D20
D20
D20
D20
D20
D20
D20
D20
D20
Enter the amount to withdraw: £315
W315
D20
D20
D20
D20
D20
D20
D20
D20
D20
D20
D20
D20
D20
D20
D20
D10
D5
Check that you have: