Create a program to calculate the shipping cost for a user-specified package weight in pounds being delivered to a user-specified shipping 'zone.' INPUT: Create text boxes to accept the input of a packages weight and another text box to accept the input of a shipping zone letter code (assume shipping zone letter codes of N, S, E, W) with zone rates as described below. VALIDATION: Validate that the package weight entered is numeric and greater than zero.
Validate that a non-blank shipping zone letter code was entered. If the user entered a shipping zone letter code other than the valid codes mentioned below, then display an error message indicating this to the user, and do not calculate the shipping costs. You are required to use a switch { case } statement to determine the zone cost component of the shipping cost (do NOT use an if for determining the zone cost, use a switch). Be sure to refer to the general programming guidelines listed above. Name your project:
ShippingCalculator - Your Name
The total shipping cost amount is equal to the 'weight cost' plus the zone cost and is calculated as follows:
$18.00 PER POUND ‘weight cost’ PLUS:
$27.00 ‘zone cost’ FLAT surcharge if shipped to zone N
$36.00 ‘zone cost’ FLAT surcharge if shipped to zone S
$45.00 ‘zone cost’ FLAT surcharge if shipped to zone E
$54.00 ‘zone cost’ FLAT surcharge if shipped to zone W
However, if the total shipping cost amount calculated above is more than $100.00, then change the total shipping cost to be $100.00 and also show the string/text word "CAPPED" in a label control next to the total shipping cost amount.
OUTPUT: Display the weight cost, the zone cost, and the total shipping cost amount in three different label controls. Also show the resulting net per pound shipping rate (total calculated shipping cost divided by the entered weight). Also have another label control that will either be blank or show the word "CAPPED" based on the instructions above. When the calculate button is clicked, clear the prior calculations before displaying the newly processed calculations (in case there is an error with a new calculation, you do not want the prior calculation results to still be displaying).