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

Write a program that can be used by a small theater to sell tickets for performa

ID: 3919621 • Letter: W

Question

Write a program that can be used by a small theater to sell tickets for performances. The theater’s auditorium has 15 rows of seats, with 30 seats in each row. The program should display a screen that shows which seats are available and which are taken. For example, the following screen shows a chart depicting each seat in the theater. Seats that are taken are represented by an * symbol, and seats that are available are represented by a # symbol. Seats 123456789012345678901234567890 Row 1 ***###***###*########*****#### Row 2 #####***********#####*****#### Row 3 ***###*******########*****#### Row 4 *#####***************##******* Row 5 *****#####************######## Row 6 ################**********#### Row 7 #####*********************#### Row 8 **************###***###*###### Row 9 ######***###*########*****#### Row 10 ***###***###*################# Row 11 ***#***############*********** Row 12 ***###*******########*****#### Row 13 ###**********###########*##### Row 14 ############################## Row 15 ############################## Here is a list of tasks this program must perform: - When the program begins, it should ask the user to enter the seat prices for each row. The prices can be stored in a separate array. (20 points) - Once the prices are entered, the program should display a seating chart similar to the one shown above. The user may enter the row and seat numbers for tickets being sold. Every time a ticket or group of tickets is purchased, the program should display the total ticket prices and update the seating chart. (20 points) - The program should keep a total of all ticket sales. The user should be given an option of viewing this amount. (20 points) - The program should also give the user an option to see a list of how many seats have been sold, how many seats are available in each row, and how many seats are available in the entire auditorium. (30 points) Input Validation: When tickets are being sold, do not accept row or seat numbers that do not exist. When someone requests a particular seat, the program should make sure that seat is available before it is sold. (10 points)

Explanation / Answer

#include<iostream>
#include<string>
#include<iomanip>
#include<sstream>

using namespace std;

int main(){

   char data[15][30];
  
   for (int i = 0; i<15; i++){
       for (int j = 0; j<30; j++){
           data[i][j] = '#';
       }
   }
   int totalsold = 0;
   int totalavailable = 450;
   int available[15];
   for (int i = 0; i<15; i++){
       available[i] = 30;
   }
   double prices[15];
   double totalsale = 0;
   for (int i = 0; i<15; i++){
       cout << "Enter price for row " << (i+1) << ": $";
       cin >> prices[i];
   }
      cout << setw(10) << " " << "012345678901234567890123456789 ";
      for (int i = 0; i<15; i++){
          stringstream ss;
          ss << "Row " << (i+1);
          cout << left << setw(10) << ss.str();
          for (int j = 0; j<30; j++){
              cout << data[i][j];
          }
          cout << endl;     
      }
   while(true){

      cout << "1.Sell Ticket ";
      cout << "2.Display Number of seats sold ";
      cout << "3.Display total Sales ";
      cout << "4.Display total avaialble seats ";
      cout << "5.Display rowwise avaialbilty of seats ";
      cout << "6.Display seating chart ";
      cout << "7.Quit ";
      cout << "Enter choice:";
      int n;
      cin >> n;
      if (n == 7)
         break;
      else if (n == 1){
          cout << "Enter number of tickets:";
          int n1;
          cin >> n1;
          double price = 0;
          for (int i = 0; i<n1; i++){
              while(true){
                 cout << "Enter row:";
                 int a,b;
                 cin >> a;
                 cout << "Enter column:";
                 cin >> b;
                 if (a < 1 || a > 15 || b < 1 || b > 30){
                     cout << "Invaild row or/and column data ";
                 }
                 else if (data[a-1][b-1] == '*'){
                     cout << "Seat Occupied ";
                 }
                 else {
                     data[a-1][b-1] = '*';
                     price = price + prices[a-1];
                     totalsale = totalsale + price;
                     totalsold++;
                     available[a-1]--;
                     totalavailable--;
                     break;
                 }
         
              }
          }
          cout << "Total Cost :$" << fixed << setprecision(2) << price << endl;
      }
      else if (n == 2){
           cout << "Total Seats Sold: " <<totalsold << endl;
      }
      else if (n == 3){
           cout << "Total Sales: $" << fixed << setprecision(2) << totalsale << endl;
      }
      else if (n == 4){
           cout << "Total Seats Available: " << totalavailable << endl;
      }
      else if (n == 5){
           for (int i = 0; i<15; i++){
                cout << "Row " << (i+1) << " Available:" << available[i] << endl;
           }
      }
      else if (n == 6){
           cout << setw(10) << " " << "012345678901234567890123456789 ";
           for (int i = 0; i<15; i++){
               stringstream ss;
               ss << "Row " << (i+1);
               cout << left << setw(10) << ss.str();
               for (int j = 0; j<30; j++){
                   cout << data[i][j];
               }
               cout << endl;     
           }
      }
     
   }
   return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote