Minimalist GUI Designer in C#
Budget: $10 – $30 AUD
The program needs to present a suitable interface (menu/form/web app depending on your chosen
programming language) where staff can:
1. Enter Daily Hours Worked
2. Produce Hours Worked Report
3. Quit/Close/Exit the Program
Program Functionality
a) For Option [1] Enter Daily Hours Worked, your program must request and process data for all
seven (7) employees. For each employee record, your program must ask for:
• The Current Working Week Number
• Employee ID
• Employee Name
• The hours worked from home for the 5 working days Monday – Friday. For this, create a data
structure, Data Structure 1, such as a single dimensional array (or similar) to store the hours
worked for each day of the week. For example:
Data Structure 1 – This stores the hours worked each day by an employee
Monday Tuesday Wednesday Thursday Friday
b) Once all hours have been entered, process the daily hours worked in Data Structure 1 by
outputting an appropriate message to the screen as shown in the table below (messages may be
customised):
Hours worked Error message output to screen
Less than 4 hours a day Insufficient hours worked on <this day>”
More than 10 hours a day Too many hours worked on <this day>
Less than 30 hours a week You didn’t do enough work this week
More than 40 hours a week You are working too hard!!
Example
If an employee worked less than 4 hours on Thursday, the message “Insufficient hours worked
on Thursday” will be output to the screen.
c) Your program should then write each employee record to file and include the following information:
• Week Number
• Employee ID
• Employee Name
• Hours worked for each day
A sample entry in your text file (or .csv file) might be:
Week 2, 123, Vicki Brainsworth, 3,6,8,12,9
Week 2, 345, Joey Genius, 8,12,6,11,7
a list), Data Structure 2. This information will be used later to produce the Employee Weekly
Report on the screen after you have entered the work pattern for all employees. For example:
Data Structure 2 – This stores the total weekly hours worked for each employee
Employee
1
Employee
2
Employee
3
Employee 4 Employee
Employee
38 44 33 43 36 37 38
For example, Employee 5 worked 36 hours for the current week
e) Once all 7 (seven) employee weekly hours have been stored, process Data Structure 2 and
output the Weekly Employee Report to screen which displays:
• The number of employees who worked less than 30 hours a week
• The number of employees who worked more than 40 hours a week
• The number of employees who worked between 37-39 hours.
f) Once all records are processed, your Program must return to the Main Screen somehow.
g) For Option [2] Produce Hours Worked Report, your program is required to read the employee
records from file and display them to the screen with the latest entries at the top of the list (sorted).
You must give the user the choice for the number of records to be displayed. For example, if the
user enters “5”, then the 5 most recent records will be displayed. The program must be able to
return back to the Main Screen.
h) For Option [3] your program must exit/close appropriately
programming language) where staff can:
1. Enter Daily Hours Worked
2. Produce Hours Worked Report
3. Quit/Close/Exit the Program
Program Functionality
a) For Option [1] Enter Daily Hours Worked, your program must request and process data for all
seven (7) employees. For each employee record, your program must ask for:
• The Current Working Week Number
• Employee ID
• Employee Name
• The hours worked from home for the 5 working days Monday – Friday. For this, create a data
structure, Data Structure 1, such as a single dimensional array (or similar) to store the hours
worked for each day of the week. For example:
Data Structure 1 – This stores the hours worked each day by an employee
Monday Tuesday Wednesday Thursday Friday
b) Once all hours have been entered, process the daily hours worked in Data Structure 1 by
outputting an appropriate message to the screen as shown in the table below (messages may be
customised):
Hours worked Error message output to screen
Less than 4 hours a day Insufficient hours worked on <this day>”
More than 10 hours a day Too many hours worked on <this day>
Less than 30 hours a week You didn’t do enough work this week
More than 40 hours a week You are working too hard!!
Example
If an employee worked less than 4 hours on Thursday, the message “Insufficient hours worked
on Thursday” will be output to the screen.
c) Your program should then write each employee record to file and include the following information:
• Week Number
• Employee ID
• Employee Name
• Hours worked for each day
A sample entry in your text file (or .csv file) might be:
Week 2, 123, Vicki Brainsworth, 3,6,8,12,9
Week 2, 345, Joey Genius, 8,12,6,11,7
a list), Data Structure 2. This information will be used later to produce the Employee Weekly
Report on the screen after you have entered the work pattern for all employees. For example:
Data Structure 2 – This stores the total weekly hours worked for each employee
Employee
1
Employee
2
Employee
3
Employee 4 Employee
Employee
38 44 33 43 36 37 38
For example, Employee 5 worked 36 hours for the current week
e) Once all 7 (seven) employee weekly hours have been stored, process Data Structure 2 and
output the Weekly Employee Report to screen which displays:
• The number of employees who worked less than 30 hours a week
• The number of employees who worked more than 40 hours a week
• The number of employees who worked between 37-39 hours.
f) Once all records are processed, your Program must return to the Main Screen somehow.
g) For Option [2] Produce Hours Worked Report, your program is required to read the employee
records from file and display them to the screen with the latest entries at the top of the list (sorted).
You must give the user the choice for the number of records to be displayed. For example, if the
user enters “5”, then the 5 most recent records will be displayed. The program must be able to
return back to the Main Screen.
h) For Option [3] your program must exit/close appropriately