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
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
Get step-by-step solutions from verified subject matter experts
