Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3234786
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 17, 20262026-05-17T17:25:54+00:00 2026-05-17T17:25:54+00:00

I am supposed to write a simple Cinema Booking System, which allows a customer

  • 0

I am supposed to write a simple Cinema Booking System, which allows a customer to make reservations for movies.
The Cinema consists or different theatres, with different amount of seats, price and movie showtimes.
The user should be able to input his name and other credentials and then make reservations for 1 or more movies and seats.
When he is finished booking, the system should output a receipt, listing his name, the movie(s) the showtime(s) and reservation number.

I have tried to follow the OOP-principles as best to my current capabilities.

The classes I’ve set up would be the following:

  • CinemaBooking -> entrypoint into programm
  • Room -> receives its seating size via [row] [col]
  • Movie -> has movietitle, shwotime, the room and a price.
  • Customer -> shoud store any user info like name , email and phone and generate
    booking number

I am a bit unsure on where to put the user-i/o in this case: Shoud it remain within CinemaBooking, or should i generate a seperate class which only does the I/O?
Or should I just move the whole I/O stuff to another class (e.g. the Customer Class)?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-17T17:25:55+00:00Added an answer on May 17, 2026 at 5:25 pm

    There are many advises to be given, I’ll give only most important.

    First, the main idea of OOP was to suit real world, so it’s better to make your classes as close to real objects as possible.
    Create class Booking which will be just equivalent of a ticket, not an entry point for a program. I.e. it will contain information about user, theatre, seat and cost.
    Create class Theatre which will contain number of seats (not rows x cols – some seats may be reserved, some may be broken, and some theatres just haven’t squared structure). Alternatively, since one Theatre can have several rooms, you can create class Room, which will have property “seats”, and then add Rooms to Theatre.
    Also create class Movie. Movies and Theates/Rooms will ref each other: Movie will contain list of Theatres it is showed in, and Theatre will have list of Movies it shows.
    Then create class Seance, which will contain time and movie.
    Create class Customer only in case you will work with this customer later and want to save his attributes (name, history of bookings, etc.). Otherwise it makes no sense to create one more class.
    This is your model. Classes may very a bit, but if you got core idea, this won’t be a problem.

    Second, create class BookingSystem which will summarize functionality of all previous classes. It will be an implementation of Facade design pattern, and it really simplifies access to your booking subsystem.

    Third, create separate class for I/O work. Never put I/O work to the model classes. Imagine, that your cinema booking system will be the part of another system with it’s own I/O – you will need to redesign all your code to receive data from higher layers. So, just make separate class for user’s input and program’s output.
    And this will be your view.

    Finally, create main program class. You can give it same name the program have itself of something like that. This one will just control program flow from view to models and back. So, this part is called controller, and overall idea is known as Model-View-Controller pattern.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to write a simple color class that's supposed to be as versatile
Java is supposed to be write once, run anywhere and it really can be,
I need to write a java script. This is supposed to validate if the
I'm supposed to create a simple rule engine in C#. Any leads on how
I am supposed to write a program that gets some PNG images from the
I've been trying to write a simple Static-class State Machine for my application to
OK I'm new to DotNetNuke and need to write a simple module in DNN
I've prepared this simple example which is not working for me #include <stdio.h> #include
I'm trying to write a very simple number guessing game (code is below). After
I have a simple problem that says: A password for xyz corporation is supposed

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.