Please help!
In this lab, you will use what you have learned about accumulating totals in a single-level control break program to complete a Python program.
The program should produce a report for a supermarket manager to help her keep track of hours worked by her part-time employees. The report should include the day of the week and the number of hours worked for each employee for each day of the week and the total hours for the day of the week.
The student file provided for this lab includes the necessary variable declarations and input and output statements. You need to implement the code that recognizes when a control break should occur. You also need to complete the control break code. Be sure to accumulate the daily totals for all days in the week.
Comments in the code tell you where to write your code.
Instructions
Monday 6 Tuesday 2 Tuesday 3 Wednesday 5 Wednesday 3 Thursday 6 Friday 3 Friday 5 Saturday 7 Saturday 7 Saturday 7 Sunday 0 done
Here is an example of what the program output should look like:
WEEKLY HOURS WORKED
Enter day of week or done to quit: Thursday
Enter hours worked: 6
Enter a day of week or done to quit: done
Day Total 6
The Code,
# SuperMarket.py - This program creates a report that lists
weekly hours worked
# by employees of a supermarket. The report lists total hours
for
# each day of one week.
# Input: Interactive
# Output: Report.
# Declare variables.
HEAD1 = "WEEKLY HOURS WORKED"
DAY_FOOTER = "Day Total "
SENTINEL = "done" # Named constant for sentinel value
hoursWorked = 0 # Current record hours
hoursTotal = 0 # Hours total for a day
prevDay = "" # Previous day of week
notDone = True # loop control
# Print two blank lines.
print("\n\n")
# Print heading.
print("\t" + HEAD1)
# Print two blank lines.
print("\n\n")
# Read first record
dayOfWeek = input("Enter day of week or done to quit: ")
if dayOfWeek == SENTINEL:
notDone = False
else:
hoursWorked = input("Enter hours worked: ")
prevDay = dayOfWeek
while notDone == True:
# Implement control break logic here
# Include work done in the dayChange() function
print("\t" + DAY_FOOTER + str(hoursTotal))
Thanks!
Answer :
#include <iostream>
#include <string>
using namespace std;
//Implement the dayChange function
bool dayChange(string &dayOfWeek, string &prevDay)
{
return dayOfWeek != prevDay;
}
//main function definition
int main()
{
//Declare variables.
const string HEAD1 = "WEEKLY HOURS WORKED";
// Leading spaces are intentional.
const string DAY_FOOTER = " Day Total ";
// Named constant for sentinel value.
const string SENTINEL = "done";
// Current record hours.
double hoursWorked = 0;
// Current record day of week.
string dayOfWeek;
// Hours total for a day.
double hoursTotal = 0;
// Previous day of week.
string prevDay = "";
// loop control
bool notDone = false;
// Print two blank lines.
cout << endl << endl;
// Print heading.
cout << "\t\t\t" << HEAD1<<endl;
// Read first record
cout << "Enter day of week or done to quit: ";
cin >> dayOfWeek;
//If both are equal then set boolean variable done to true
if (dayOfWeek.compare(SENTINEL) == 0)
notDone = true;
//If both are not equal
else
{
//Prompt and read the number of hours
cout << "Enter hours worked: ";
cin >> hoursWorked;
//Store the dayOfWeek to the previous day
prevDay = dayOfWeek;
}//End of else
//Loops till done is equals to false
while (notDone == false)
{
//Checks if the current day of the week is equal to old day
if (dayChange(dayOfWeek,prevDay) == 1)
{
//Display the day total with the previous day
cout << endl<<prevDay << DAY_FOOTER << hoursTotal << endl;
//Re-set the total hours
hoursTotal = 0;
//Updates prevDay to the current day of the week entered by the user
prevDay = dayOfWeek;
//Set the done value to false
notDone = false;
}//End of if
//Display the day of the week and number of hours worked
cout << endl<<dayOfWeek << " " << hoursWorked << endl;
//Calculates the total hours for respective day
hoursTotal += hoursWorked;
// Read the next record
cout << "Enter day of week or done to quit: ";
cin >> dayOfWeek;
//If both are equal then set boolean variable done to true
if (dayOfWeek.compare(SENTINEL) == 0)
notDone = true;
//Otherwise if user has not entered string "done"
else
{
//Read hours worked by the user per day
cout << "Enter hours worked: ";
cin >> hoursWorked;
//Set the done value to false
notDone = false;
}//End of if
}//End of while loop
//Displays the day total
cout << "\t\t" << DAY_FOOTER << hoursTotal << endl;
} // End of main() function

Please help! In this lab, you will use what you have learned about accumulating totals in...