In: Computer Science
Summary In this lab, you write a while loop that uses a sentinel value to control a loop in a C++ program that has been provided. You also write the statements that make up the body of the loop. The source code file already contains the necessary variable declarations and output statements. Each theater patron enters a value from 0 to 4 indicating the number of stars the patron awards to the Guide’s featured movie of the week. The program executes continuously until the theater manager enters a negative number to quit. At the end of the program, you should display the average star rating for the movie. Instructions Ensure the source code file named MovieGuide.cpp is open in your code editor. Write the while loop using a sentinel value to control the loop, and write the statements that make up the body of the loop. The output statements within the loop have already been written for you. Ensure you include the calculations to compute the average rating. Execute the program by clicking the Run button. Input the following: 0, 3, 4, 4, 1, 1, 2, -1 Ensure the average output is correct.
this is the prewritten code:
// MovieGuide.cpp - This program allows each theater patron to enter a value from 0 to 4
// indicating the number of stars that the patron awards to the Guide's featured movie of the
// week. The program executes continuously until the theater manager enters a negative number to
// quit. At the end of the program, the average star rating for the movie is displayed.
#include <iostream>
#include <string>
using namespace std;
int main()
{
// Declare and initialize variables.
double numStars; // star rating.
double averageStars; // average star rating.
double totalStars = 0; // total of star ratings.
int numPatrons = 0; // keep track of number of patrons
// This is the work done in the housekeeping() function
// Get input.
cout << "Enter rating for featured movie: ";
cin >> numStars;
// This is the work done in the detailLoop() function
// Write while loop here
// This is the work done in the endOfJob() function
cout << "Average Star Value: " << averageStars << endl;
return 0;
} // End of main()
please check out the code and trhe output given below...
for any kind of doubt, please let me know in the comment box...
Note: no extra variables are used, all the functions are used with their proper work.
code
#include <iostream>
#include <string>
using namespace std;
double housekeeping(double numStars) //houseKeeping function for input
{
cout << "Enter rating for featured movie: ";
cin >> numStars;
return numStars;
}
double detailLoop(double numStars,double totalStars, int numPatrons) //function detailLoop
{
while(1) //while true
{
numStars=housekeeping(numStars); //calling houseKeeping for input
if(numStars<0) //i.e. if it is a negative number then break
break;
if(numStars>=0 && numStars <=4) //if it is a correct stars
{
totalStars+=numStars;
numPatrons++; //increasing numPatrons
}
if(numStars>4)
cout<<"Check input !!!\n"; //if it is a wrong input i.e. >4
}
return totalStars/numPatrons; //returning average
}
void endOfJob(double averageStars) //for printing the output
{
cout << "Average Star Value: " << averageStars<<endl;
}
int main()
{
// Declare and initialize variables.
double numStars; // star rating.
double averageStars; // average star rating.
double totalStars = 0; // total of star ratings.
int numPatrons = 0; // keep track of number of patrons
averageStars=detailLoop(numStars,totalStars,numPatrons); //calling detailLoop()
endOfJob(averageStars); //calling endOfJob()
return 0;
} // End of main()
output
code