# You are asked to write a modular solution (algorithm and C program) that will accept an integer value in the range of 5-95 inclusive

You are asked to write a modular solution (algorithm and C program) that will accept an integer value in the range of 5-95 inclusive. Your solution should also ensure that input values are in multiples of 5. Based on valid input, your solution should calculate how many coins of each denomination should be returned, and display this to the user. Coin values are 50, 20, 10 and 5. The solution should aim to give as much of the higher valued coins as possible. For example, a poor solution for an input of 30 cents would give six 5 cent coins. A correct solution would give a 20 cent coin and a 10 cent coin. After each output, the user should be asked whether they wish to continue or exit/terminate the program. Your solution (algorithm and program) should be designed using a modular approach. This requires the submission of a structure chart, a high-level algorithm, and subsequent decompositions of each step (i.e. low-level algorithms). Note that for this problem, the principles of code reuse and high cohesion are particularly important and a significant number of marks are allocated to these aspects of your design. Be mindful of the cohesion exhibited by each module. If you have a module that is doing more than one task (i.e. demonstrating low cohesion), then you should re-design it to have high cohesion. Include: 1) Your algorithm written in a uniform fashion using a pseudo-code and adhering to the conventions required in the unit. Your algorithm also demonstrates the design of your solution and must be consistent with your structure chart. The algorithm should be presented at an appropriate level of detail sufficient to be easily implemented. Submit your high-level algorithm and the low-level decompositions of your solution, as appropriate to the question. 2) A set of test data in tabular form with expected results and desk check results from testing your algorithm. Each test data must be justified – reason for selecting that data. 3) Structure chart for your solution. This demonstrates the design of your solution. The structure chart must show data flow (i.e. parameter passing and return values). 4) Make sure the C Code does not accept alphabet letters or symbols as a value of input.

-25-