--> Lines like this one (beginning -->) are added comments. --> Lines starting "$" are commands --> Try inputs that explore all cases. --> First, examples of all the error conditions we check for. $ make_change Enter amount owed, amount tendered 0 10 Error: amount owed must be > 0 $ make_change Enter amount owed, amount tendered 10 0 Error: amount tendered must be > 0 $ make_change Enter amount owed, amount tendered 20 10 Error: amount tendered must be >= amount owed --> Now a "boundary condition", amounts equal. $ make_change Enter amount owed, amount tendered 20 20 Change due is 0 0 quarters 0 dimes 0 nickels 0 pennies --> Now a really simple case. $ make_change Enter amount owed, amount tendered 18 20 Change due is 2 0 quarters 0 dimes 0 nickels 2 pennies --> More "boundary conditions" -- 5 cents should be 1 nickel, no --> 5 pennies, etc. $ make_change Enter amount owed, amount tendered 20 25 Change due is 5 0 quarters 0 dimes 1 nickels 0 pennies $ make_change Enter amount owed, amount tendered 15 25 Change due is 10 0 quarters 1 dimes 0 nickels 0 pennies $ make_change Enter amount owed, amount tendered 25 50 Change due is 25 1 quarters 0 dimes 0 nickels 0 pennies --> Now some "general cases". $ make_change Enter amount owed, amount tendered 24 50 Change due is 26 1 quarters 0 dimes 0 nickels 1 pennies $ make_change Enter amount owed, amount tendered 45 100 Change due is 55 2 quarters 0 dimes 1 nickels 0 pennies