C++ Report
C++ Report
BELAGAVI-590018
A
MINI PROJECT REPORT ON
“Movie Ticket Booking System”
PROJECT ASSOCIATES
Name: USN:
Varsha Karajgimath 2KE12CS172
Shweta 2KE12CS143
Shreenidhi Tuppad 2KE12CS135
Sony Chavan 2KE12CS153
Name of theStudents
Sony Chavan
Shweta
Shreenidhi Tuppad
Varsha Karajgimath
Abstract
This project, titled "Movie Ticket Booking System", is a
simple console-based application developed using the C++
programming language. The system simulates the process of
reserving seats in a cinema hall by allowing users to view the
seating arrangement, select a specific seat by row and column,
and book it if available. Once reserved, the seat is marked as
occupied, preventing any further bookings of the same seat.
The project uses fundamental concepts of C++ such as arrays,
loops, conditional statements, functions, and character
manipulation to build the logic for seat reservation. A 2D array
is used to represent the seating layout, where each element
indicates whether a seat is booked or available. The interface is
designed to be user-friendly, prompting users for input and
providing clear feedback.
This project serves as a practical implementation of
programming concepts taught in the subject Introduction to
C++. It demonstrates how basic C++ features can be used to
develop real-world applications and emphasizes the importance
of input validation, data representation, and user interaction.
While the project is simple in scope, it lays the groundwork for
more advanced systems that could include features like pricing,
payment processing, user accounts, and graphical interfaces.
Contents
Certificate i
Declaration ii
Acknowledgement iii
Abstract iv
1. System Components
a. Seating Layout Representation
• A 2D array bool seats[5][10] is used to represent the seating
layout.
• Each seat is marked as:
o false → available
o true → booked
b. Display Module
• Function: display(bool seats[Row][Col])
• Clears the console and prints the current seating arrangement.
• Uses characters A to E for rows and numbers 1 to 10 for
columns.
• Booked seats are shown as X, and available seats as -.
c. Reservation Module
• Function: reservation(bool seats[Row][Col], char row, int col)
• Accepts user input (row and column), checks seat availability.
• If available, marks the seat as booked.
• If already booked, displays an appropriate message.
d. Main Control Loop
• Function: main()
• Continuously prompts the user for seat input.
• Performs input validation to ensure valid row (A–E) and column
(1–10).
• Calls the reservation and display functions accordingly.
• Asks the user if they want to book more seats (Y/N).
3. Design Considerations
• Simplicity: Since the project is designed for beginners, the
interface and code are kept straightforward and easy to
understand.
• Modularity: Use of functions separates concerns and improves
readability.
• Reusability: Functions can be reused if additional features are
added in the future.
• Scalability: While currently fixed to 5 rows and 10 columns, the
logic can easily be modified to support larger theatres.
while (true) {
cout << "Enter Row (A–E): ";
cin >> row;
// Input validation
if (row < 'A' || row > 'E' || col < 1 || col > 10) {
cout << "Invalid row or column. Please try again." << endl;
continue;
}
char choice;
cout << "Do you want to book more seats? (Y/N): ";
cin >> choice;
return 0;
}
4. Payment Integration
Current Limitation:
The system does not handle any payments or price calculations.
Enhancement Suggestion:
Add functionality to calculate total cost based on seat selection and
allow integration with mock payment methods or real ones through
APIs, for more realism.
A. Program Specifications
• Project Title: Movie Ticket Booking System
• Language Used: C++
• Platform: Windows Console Application
• Main Features:
o Displaying seat layout
o Booking available seats
o Preventing double booking
o Validating user input
D. Functions Used
• display() – Shows the current seating layout
• reservation() – Reserves a seat if available
• main() – Controls the overall program flow