Theater Ticket Sales
Create a TicketManager class and a
• One student might design and write the client program that uses the class, while other team members design and write the TicketManager class and all of its functions.
• Each student should be given about the same workload.
• The class design and the names, parameters, and return types of each function should be decided in advance.
• The project can be implemented as a multiple program, or all the functions can be cut and pasted into a single file.
Here are the specifications:
• The theater’s auditorium has 15 rows, with 30 seats in each row. To represent the seats, the TicketManager class should have a two-dimensional array of SeatStructures. Each of these structures should have data members to keep track of the seat's price and whether or not it is available or already sold.
• The data for the program is to be read in from two files located in the Chapter 8 programs folder on this book's companion website. The first one, SeatPrices. dat, contains 15 values representing the price for each row. All seats in a given row are the same price, but different rows have different prices. The second file, SeatAvai1abi1ity. dat, holds the seat availability information. It contains 450 characters (15 rows with 30 characters each), indicating which seats have been sold (‘*’) and which are available (‘#’). Initially all seats are available. However, once the program runs and the file is updated, some of the seats will have been sold. The obvious function to read in the data from these files and set up the array is the constructor that runs when the TicketManager object is first created.
• The client program should be a menu-driven program that provides the user with a menu of box office options, accepts and validates user inputs, and calls appropriate class functions to carry out desired tasks. The menu should have options to display the seating chart, request tickets, print a sales report, and exit the program.
• When the user selects the display seats menu option, a TicketManager function should be called that creates and returns a string holding a chart, similar to the one shown here. It should indicate which seats are already sold (#) and which are still available for purchase (#). The client program should then display the string.
Want to see the full answer?
Check out a sample textbook solutionChapter 8 Solutions
Starting Out With C++, Early Objects - With Access Package
Additional Engineering Textbook Solutions
Starting Out With Visual Basic (8th Edition)
Starting Out with Python (3rd Edition)
Concepts Of Programming Languages
Starting Out with Programming Logic and Design (5th Edition) (What's New in Computer Science)
Starting out with Visual C# (4th Edition)
Starting Out with Java: From Control Structures through Objects (6th Edition)
- C++ Personal Information Class: Design a class that holds the following personal data: name, age, and phone number. Write appropriate accessor and mutator functions. Demonstrate the class by writing a program that creates three instances of it. One instance should hold your information, and the other two should hold your friend's or family member's information.arrow_forwardCreate an Employee class. Attributes(must be private): Employee has a name and basic_salary Methods:Employee(string, float); //ConstructorAllowances are computed as: float getHouseRent(); //House rent is 45% of the basic pay. float getMedicalAllowance(); //Medical Allowance is 5% of the basic pay. float getConveyanceAllowance(); //Conveyance allowance is 10% of the basic payfloat getGrossPay(); //Salary including rent and allowances{You can implement additional function/s if needed} Then Create an Organization class. Organization has 10 Employees (Hint: You will need an array of pointers to Employee class) Organization can calculate the total amount to be paid to all employees Organization can print the details(name & salary) of all employees Note: Use main,header and functions.cpp to write code.arrow_forward(Date Class) Create a class called Date that includes three pieces of information as datamembers—a month (type int), a day (type int) and a year (type int). Your class should have a constructor with three parameters that uses the parameters to initialize the three data members. For thepurpose of this exercise, assume that the values provided for the year and day are correct, but ensurethat the month value is in the range 1–12; if it isn’t, set the month to 1. Provide a set and a get function for each data member. Provide a member function displayDate that displays the month, dayand year separated by forward slashes (/). Write a test program that demonstrates class Date’s capabilities.arrow_forward
- Problem (Online Address Book): Using classes, design an online address book to keep track of the names, addresses, phone numbers, and dates of birth of family members, close friends, and certain business associates. Define a class addressType that can store a street address, city, state, and ZIP code. Use the appropriate functions to print and store the address. Also, use constructors to automatically initialize the member variables. Define a class extPersonType using the class personType with following members and methods: firstname, lastname, and accessors and mutators, print to display, and constructors. Define a class dateType for month, day and year as members with its accessors, mutators, and constructors) Design a class addressType. Add a member variable to this class to classify the person as a family member, friend, or business associate. Also, add a member variable to store the phone number. Add (or override) the functions to print and store the appropriate information.…arrow_forwardc++ Create a class Circle having member variables Radius of type float. Make default and parametrized constructors in addition with setter methods of member variables. Make a function getArea() to return the Area of a Circle object. Overload the ‘+’ operator to add two objects of class Circle. In main(), create two objects of the class and assign them values by using setter methods. Make another object and initialize it with the sum of other two objects. Finally, display their Areaarrow_forwardC++ please! Please type it and no pictures. Create a class called Employee that includes three data members: a firstname (type string), a last name (type string), and monthly salary (type int).The class will have a constructor that initializes the three data members.Include the set and get member functions for each data member. If the monthlysalary is not positive, the set function will set it to 0. Also include amember function that returns the yearly salary (i.e. twelve times the monthlysalary).Write a test program that prompts the user to enter the first and lastname of an employee as well as their monthly salary. The program will thenoutput the yearly salary of the employee, give them a 10 percent raise, andoutput the yearly salary again.arrow_forward
- Create a class Distance with feet and inches as a private dada members. Feet has int type and inches has float type. Create getdist & showdist functions which take values from user and then display these values respectively. Create another class Sign with sign as a private data member. Sign has a char data type. Class sign is inherited with distance class. Create getdist and showdist function to get values from user and then display all values. Create default & arrguments constructor also. Add a static data member named objCount, initialize it to 0 using scope resolution operator outside the class, add a function in the class to print the value of objCount.arrow_forwardShiftSupervisor Class In a particular factory, a shift supervisor is a salaried employee who supervises a shift. In addition to a salary, the shift supervisor earns a yearly bonus when his or her shift meets production goals. Design a ShiftSupervisor class that extends the Employee class you created in Problem 1, The ShiftSupervisor class should have a field that holds the annual salary and a field that holds the annual production bonus that a shift supervisor has earned. Write one or more constructors and the appropriate accessor and mutator methods for the class. Demonstrate the class by writing a program that uses a ShiftSupervisor object. beginner code because this is an intro to java class.arrow_forwardProblem Statement:We are going to develop an information system for a vehicle-related business; having various types of vehicles including cars, truck etc. Generally, every type of vehicle has a wheels, engine power, model etc. But there are some vehicles, which have specialized features other than these basic ones. E.g. Car has a small diggy and truck has a cargo bed. In this exercise, create a class Vehicle, and inherit Vehicle class in a Car and a Truck class. • Create a class named Vehicleo Data members: ModelName, RegistrationNumber, and Owner.o Default Constructoro Overloaded constructero Getter and setters.o A display() function that return a string having Vehicle details. • Create a class named Car as a derived class of the base class Vehicle.o Additional attribute is trunk (diggi) dimension in millimeters (e.g. 200X200X500mm) (data type will be string).o Default Constructoro Overloaded constructer with arguments Model Name, Registration Number,…arrow_forward
- Problem: Employee and ProductionWorker Classes Write a python class named ProductionWorker that is a subclass of the Employee class. The ProductionWorker class should keep data attributes for the following information: • Shift number (an integer, such as 1, 2, or 3)• Hourly pay rateThe workday is divided into two shifts: day and night. The shift attribute will hold an integer value representing the shift that the employee works. The day shift is shift 1 and the night shift is shift 2. Write the appropriate accessor and mutator methods for this class. Once you have written the class, write a program that creates an object of the ProductionWorker class, and prompts the user to enter data for each of the object’s data attributes. Store the data in the object, then use the object’s accessor methods to retrieve it and display it on the screen Note: The program should be written in python. Sample Input/Output: Enter the name: Ahmed Al-AliEnter the ID number: 12345Enter the department:…arrow_forwardC++ Pet Class You are going to organize and show information about pets in a Pet Store using a Pet class. The Pet class You need to make a Pet class that holds the following information as private data members: the name of the pet (e.g. "Spot", "Fluffy", or any word a user enters) the type of pet (e.g. dog, cat, snake, hamster, or any word a user enters) level of hungriness of the pet (2 means hungry, 1 means content, 0 means full) Your class also needs to have the following functions: a default constructor that sets the pet to be a dog named Buddy, with level of hungriness being “content” a parameterized constructor to allow having any type of pet the order of the parameters is: name of the pet, type of pet, hungriness level a PrintInfo function that prints the info for the pet according to the sample output below a TimePasses function that increases the hungry level of the pet by one (unless its hungry level is already 2, meaning hungry). a FeedPet function that changes the…arrow_forwardC++ Pet Class You are going to organize and show information about pets in a Pet Store using a Pet class. The Pet class You need to make a Pet class that holds the following information as private data members: the name of the pet (e.g. "Spot", "Fluffy", or any word a user enters) the type of pet (e.g. dog, cat, snake, hamster, or any word a user enters) level of hungriness of the pet (2 means hungry, 1 means content, 0 means full) Your class also needs to have the following functions: a default constructor that sets the pet to be a dog named Buddy, with level of hungriness being “content” a parameterized constructor to allow having any type of pet the order of the parameters is: name of the pet, type of pet, hungriness level a PrintInfo function that prints the info for the pet according to the sample output below a TimePasses function that increases the hungry level of the pet by one (unless its hungry level is already 2, meaning hungry). a FeedPet function that changes the…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education