Reference no: EM132080079
The project is designed to allow the users to select an Internet Service Provider (ISP) service package and calculate their monthly bill based on their ISP usage and package selection.
The ISP provider has 3 packages available, as well as a 20% discount for non-profit organizations.
1. Package A: 10 hours of access for R9.95 per month and any additional hours are R2.00 per hour.[RM1]
2. Package B: 20 hours of access for R14.95 per month and any additional hours are R1.00 per hour.
3. Package C: Unlimited access for R19.95 per month.
Your program should present a user interface similar to the one below. All controls and variables should have appropriate names, and your code should be properly formatted (indented and spaced) and commented (see Coding Specifications handout).
The form should contain a set of radio buttons to select the desired ISP package, a check box to indicate if they are a non-profit organization and allow input for the number of hours they use their ISP per month. The form should not allow the user to minimize, maximize, or resize.
You must declare constants for the minimum (1) and maximum (744) hours per month they can use their ISP. You must declare variables to store data, and they must be of the narrowest scope possible (module-level variables are OK if multiple event procedures need to access their data).
You should not accept inappropriate entries from the user (empty, non-numeric, outside the acceptable range) - instead you should request a new, appropriate value. However, the prior entry, whether acceptable or not, should remain in the text box, and be selected/highlighted.
The Exit button on the form should cause your program to stop running.
The Clear button should reset the form to the default when the form is first displayed.
In addition to the specific requirements itemized above, you should make sure that the tab index order is functional, focus is appropriate, and that the overall interface is as user-friendly as possible.
The Enter button should be the Default (Calculate) button, any presentation of numbers should be right-aligned, and there should be Access keys as indicated. Also be sure that the user is not able to change the value for the Total Amount Due.
Remove dollar signs and use R's
Add a comparison functionality that will display any potential savings for the customer based on their package selection and ISP usage.
The updated form should be as displayed below.Add a check box for Display Potential Savings, that when checked will display the amount Package A customers would save if they selected Package B or C, or the amount Package B customers would save if they selected Package C. If there is no savings, the message should indicate that instead.