Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Part 2 Now change the pricing in the Part I program to include the following pri

ID: 3792835 • Letter: P

Question

Part 2

Now change the pricing in the Part I program to include the following price changes and adjustments. Category Price Adjustment Children $12.00 For every 4 children, one is free. This means that for every 4 tickets purchased, the 4th ticket is free. (This is a one statement calculation.) Adult $26.50 The adult cost (not the price) is reduced by $3 if there are more than 5 adults. Add the total number of tickets to the display. All groups with more than 20 people or 14 or more children must pay a $15.00 security fee. Add the security fee to the total bill. Only display the security fee if it’s not zero.. Add a pretest while loop so the program executes until the user enters -1 for the child ticket value. See the pretest loop example in the Chapter Two Repetition Notes. Review the example that uses price to determine how the loop executes. Add a posttest do loop to verify that the cash entered is enough to pay the bill. If it is not, display a message and request the cash again. Add a confirmation number to the receipt. The first number should be 100 and then add 1 for each new receipt.

There is a concept in programming called single-entry/single-exit. The path for any loop or if structure should enter at the same place and exit at the same place. Do NOT use a break or continue statement to jump out a loop.

I know there is more than one right way to code a solution, but I want you to use the pretest while loop.  

With a pretest while loop, you get the sentinel value (children tickets) before the while and at the end of the loop.

this is the Part 1 question but I need help For part 2

Write a C++ program for an amusement park to display the bill for the cashier. The pricing schedule is as follows: Category Price Children $ 12.00 each Adults $ 20.50 each Write a program that accepts the number of people in each of the two age categories, performs the necessary computations, and displays a bill for the group's admission similar to the display below. After displaying the total bill, the program requests the cash received and calculates the change. Be sure to test for a variety of values. You may assume the cash payment is equal to or greater than the total bill. Use the amuseOne.cpp file as a template for this project.

Explanation / Answer

Here is the Solution:

#include <iostream>
using namespace std;

int main()
{
   // Declare variables
   int kids,adults,discount_for_kids,security_fee;
   bool flag=true;
   int bill_number=100;
   const double ADULT_PRICE = 20.50, CHILD_PRICE = 12.00;
   double sum, payment,amount=0;

while(flag){
   // Ask for number of kids
   cout << "Please enter number of children: ";
   cin >> kids;
   cout << endl;
   // Ask for number of adults
   cout << "Please enter numbe of adults: ";
   cin >> adults;

   cout << endl;
   if (kids== -1){
     cout<< "exiting Loop"<<endl;
     flag=false;
     exit(0);
   }
   if(kids>4){
    discount_for_kids=kids/4;
    amount =(kids-discount_for_kids)*CHILD_PRICE;
   }
   else{
     amount=kids*CHILD_PRICE;
   }
   if (adults>5){
     amount=amount + (adults*ADULT_PRICE)-(adults*3);
   }
   else{
     amount=amount + (adults*ADULT_PRICE);
   }
   if (kids+adults>20 or kids >14 ){
     security_fee=15;
   }
   cout << "Bill Number: " << bill_number <<endl;
   bill_number+=1;
   sum =amount+security_fee;
   if (security_fee !=0){
     cout<< "Total bill alnog with security_fee "<< sum <<endl;
   }
   else{
     cout<< "Total bill "<< sum<<endl;
   }
   cout<<"Cash Received";
   cin>>payment;
   // Asumming user entered more the the actaual amount
   cout<<"Change is "<< payment-sum <<endl;
}
}

output :