Question: C++ Program. A theater seating chart is implemented as a table of ticket prices, like this 10 10 10 10 10 10 10 10 10

C++ Program.

A theater seating chart is implemented as a table of ticket prices, like this

10 10 10 10 10 10 10 10 10 10

10 10 10 10 10 10 10 10 10 10

10 10 10 10 10 10 10 10 10 10

10 10 20 20 20 20 20 20 10 10

10 10 20 20 20 20 20 20 10 10

10 10 20 20 20 20 20 20 10 10

20 20 30 30 30 30 30 30 20 20

20 30 30 40 50 50 40 30 30 20

30 40 50 50 50 50 50 50 40 30

20 40 50 50 50 50 50 50 40 20

The above seating information is saved in a text file. Your program should load the information from the file into an array.

Write a program in C++ that asks users to pick either a seat or a price. When choosing seat, indicate the row and column for the location; when choosing the price, randomly choose a seat with that price; mark the sold seats by changing the price to 0. Make sure your code will check whether the seat is available (doesnt matter which method you use).

Use loop to determine whether continue to order or not. In each time, the seating chart should be displayed for user. When user stops ordering, your program should output the number of tickets ordered, and amount ordered.

Please modify the program solution by using a dynamic array instead of a static array in C++.

#include #include #include

using namespace std;

#define SIZE 10

void loadPrices(double arr[SIZE][SIZE]){ int val; ifstream in("seats.txt"); if(in.is_open()){ for(int i = 0; i < SIZE; ++i){ for(int j = 0; j < SIZE; ++j){ in >> val; cout << val << " "; arr[i][j] = val; } cout << endl; } in.close(); } else{ cout << "can not open seats.txt" << endl; exit(-1); } }

double bookSeat(double arr[SIZE][SIZE]){ cout << "1. Seat" << endl; cout << "2. Price" << endl; cout << "3. Exit" << endl; cout << "Pick a choice: "; int choice; cin >> choice; if(choice == 1){ int row, col; cout << "Enter row number: "; cin >> row; cout << "Enter column number: "; cin >> col; double price = arr[row - 1][col - 1]; if(price == 0){ cout << "Seat is already booked" << endl; return 0; } else{ cout << "Successfully booked the seat" << endl; arr[row - 1][col - 1] = 0; return price; } } else if(choice == 2){ double price; cout << "Enter price: "; cin >> price; for(int i = 0; i < SIZE; ++i){ for(int j = 0; j < SIZE; ++j){ if(arr[i][j] == price){ cout << "Booked Seat " << (i + 1) << ", " << (j + 1) << endl; double ret = arr[i][j]; arr[i][j] = 0; return ret; } } } cout << "No seat with price $" << price << " is available" << endl; } else{ return -1; } }

int main(){ double prices[SIZE][SIZE]; loadPrices(prices); double price = 0, temp; while(true){ temp = bookSeat(prices); if(temp == -1){ break; } else{ price += temp; } cout << endl << endl; } cout << "Total price: $" << price << endl; return 0; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!