You will create a "TimeEntry" windows form application, user will input work hours for each day in a week (5 days) repeatedly, the program will record the user's time entries, calculate the payment and display on the form. Please follow the following steps to complete this assignment.
- Create a new Windows Form Application "TimeEntry".
- Design and define the GUI similar to the following form:
- User will enter time (hours) in the textbox,suppose user always input valid integer hours.
- Set "Submit time" button as thedefault buttonfor the form, this button will be pressed when the user presses theEnter key.
- Add aListBoxto record and display the time entries for 5 days, after user enter hours for one day, it will be shown in the ListBox immediately.
- The "Get payment" button isdisabledwhen program starts to run.
- After user enters hours for 5 days, the TextBox and "Submit time" button aredisabled; the "Get payment" button isenabled.
- Create and define3 event handler methodsto handle the button_click events for 3 buttons.
- When click "Submit time" button -----
- If the TextBox is not empty and user entered less than 5 time entries, the hours entered in the TextBox will be read and added in the ListBox.
- If user has already entered 5 time entries, then disable the "Submit time" button and hours TextBox, enable "Get Payment" button.
- When click "Get payment" button -----
- Use a counter controlled repetition statement to read time entries repeatedly from ListBox for calculation.
- Calculate the total hours
- Calculate user's payment following the rules below
- If the total hours is less than or equal to 40, then calculate payments, otherwise, display an error message to the user.
- If total hours is between 0 and 20 hours, the hourly wage is $10.00
- If total hours is between 21 and 30 hours, the hourly wage is $12.00
- If total hours is between 31 and 40 hours, the hourly wage is $15.00
- Display user's payment as the Text property of the result Label.
- You may use this code to display the payment in a currency format.
PayLabel.Text = String.Format("{0:C2}", Payment)
- When click "Clear time" button ----
- The TextBox, ListBox and result label will be cleared
- The form should be converted to the initial format.
Test cases
Hours for 5 days
|
Payment
|
3, 2, 2, 3, 4
|
$140.00
|
4, 5, 6, 7, 5
|
$324.00
|
8, 7, 8, 5, 8
|
$540.00
|
9, 9, 8, 7, 9
|
Error
|