0% found this document useful (0 votes)
46 views11 pages

Flight Reservation System Project Report

The document is a mini project report on a Flight Reservation System developed in Python, focusing on data structures, searching, and sorting algorithms. It outlines the project's objectives, features, and implementation details, including a user-friendly menu-driven interface for managing flight information. The project serves as an educational tool to demonstrate the application of basic programming concepts and algorithms in real-world scenarios.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views11 pages

Flight Reservation System Project Report

The document is a mini project report on a Flight Reservation System developed in Python, focusing on data structures, searching, and sorting algorithms. It outlines the project's objectives, features, and implementation details, including a user-friendly menu-driven interface for managing flight information. The project serves as an educational tool to demonstrate the application of basic programming concepts and algorithms in real-world scenarios.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

A

Mini Project Report of On


“Flight Reservation System (Searching & Sorting)”

Group ID:

Group Members name Roll Number

1) Aaditya Joshi 352


2)
3)
4)

S.E. Division A
Batch-S3

Under the Guidance of

Prof. S. B. Phatangare

For the partial fulfilment of


Data Structure Lab
in S.E. (Semester I) Computer Engineering

Department of Computer Engineering Amrutvahini College of


Engineering Sangamner

2025-25
Department of Computer Engineering
Amrutvahini College of Engineering,
Sangamner

CERTIFICATE

This is to certify that Mr. Aaditya Joshi student in Second Year Year
Division A, Computer Engineering has successfully completed his Data
Structure Lab Mini Project titled “ Flight Reservation System
(Searching & Sorting) ” at Amrutvahini College of Engineering,
Sangamner towards partial fulfillment of Data Structure Lab Project work in
Computer Engineering.

Guide name Class Teacher name


(Guide) (Class Teacher)

Dr. S.K. Sonkar Dr. M. A. Venkatesh


Head of Department Principal
Abstract

The Flight Reservation System is a console-based mini project developed in


Python that demonstrates the concepts of data structures, searching, and sorting.
The main objective of this project is to design a simple yet efficient system that
allows users to store, manage, and retrieve flight information. The system
enables users to add new flight details, search for flights using flight numbers
or destinations, and sort the flight list based on ticket price or departure time. It
uses fundamental data structures such as lists and implements algorithms like
linear search and bubble sort for data manipulation.

This project focuses on providing a clear understanding of how basic searching


and sorting algorithms can be applied in real-world applications. The system is
interactive and user-friendly, allowing users to perform various operations
through a menu-driven interface. The modular structure of the code enhances
readability and maintainability. It also demonstrates key programming concepts
such as classes, object-oriented design, and data handling.

Overall, the project serves as an educational tool for understanding the


application of data structures in managing real-time information systems. It lays
the foundation for more advanced reservation systems by integrating basic
algorithms and logical programming techniques.

.
Acknowledgements

Achievement is Finding out what you have been doing and what you have
to do. The higher is submit,the harder is climb. The goal was fixed and I began
with the determined resolved and put in a ceaseless sustained hard work. Greater
the challenge, greater was our determination and it guided us to overcome all
difficulties. It has been rightly said that we are built on the shoulders of
others. For everything I have achieved, the credit goes to who had really help
us to complete this Community Engagement Project work and for the timely
guidance and infrastructure. Before we proceed any further, We would like
to thank all those who have helped us in all the way through. To start with I
thank my guide (Guide Name), for his guidance, care and support, which he
offered whenever I needed it the most. I would also like to take this
opportunity to thank to our Class Teacher (Class Teacher Name) and our
respected Head of Department Dr. S. K. Sonkar. I also thankful to
Honorable Principal Dr. M. A. Venkatesh sir for his encouragement and
support.
Contents

Abstract i

Acknowledgements ii

1. Title of the Project


2. Aim, Objectives and Expected Outcomes
3. Conclusion and Outcomes
4. References
1. Title of the Project

Implementation of Flight Reservation System (Searching and Sorting)

2. Aim, Objectives and Expected Outcomes

Aim:
To design and implement a simple Flight Reservation System using Python that demonstrates the
application of data structures, searching, and sorting algorithms in managing flight data
efficiently.

Objectives:
1. To understand and implement the concepts of searching and sorting algorithms.
2. To design a menu-driven system for adding, displaying, searching, and sorting flight
records.
3. To apply object-oriented programming principles for data handling and organization.
4. To enhance problem-solving and logical thinking through real-world application
development.
5. To provide a clear understanding of how data structures can be used for building efficient
systems.

Expected Outcomes:
1. A working console-based Python application that performs flight data management.
2. Successful implementation of linear search and bubble sort algorithms.
3. Improved understanding of data storage, retrieval, and manipulation using lists and
classes.
4. Development of coding discipline, modular programming, and algorithmic thinking.

3. Execution
Flight Reservation System (Searching and Sorting)
 Features

 Add flight details

 Display all flights

 Search flight by flight number or destination

 Sort flights by price or departure time

 Data Structures Used

 List of dictionaries to store flights

 Linear Search for searching

 Bubble Sort for sorting

 Python Code
# Flight Reservation System

# (Mini Project - Searching and Sorting in Python)

class Flight:

def __init__(self, number, source, destination, departure, price):

[Link] = number

[Link] = source

[Link] = destination

[Link] = departure

[Link] = price

def display(self):

print(f"{[Link]:<10}{[Link]:<15}{[Link]:<15}{[Link]:<15}
{[Link]:<10}")

def add_flight(flights):

number = input("Enter Flight Number: ")

source = input("Enter Source: ")

destination = input("Enter Destination: ")

departure = input("Enter Departure Time: ")

price = float(input("Enter Ticket Price: "))

[Link](Flight(number, source, destination, departure, price))

print(" Flight added successfully!\n")

def display_flights(flights):

if not flights:

print("No flights available!\n")

return

print(f"{'Number':<10}{'Source':<15}{'Destination':<15}{'Departure':<15}
{'Price':<10}")

print("-" * 65)

for f in flights:

[Link]()

print()

def search_flight(flights):

key = input("Enter Flight Number or Destination to search: ").lower()

found = False

for f in flights:

if [Link]() == key or [Link]() == key:

if not found:

print(f"\n{'Number':<10}{'Source':<15}{'Destination':<15}{'Departure':<15}
{'Price':<10}")

print("-" * 65)

found = True

[Link]()

if not found:

print("No matching flight found!\n")

else:

print()

def sort_flights(flights):

if not flights:

print("No flights to sort!\n")

return

print("1. Sort by Price")

print("2. Sort by Departure Time")


choice = input("Enter choice: ")

n = len(flights)

for i in range(n):

for j in range(0, n - i - 1):

if choice == "1" and flights[j].price > flights[j + 1].price:

flights[j], flights[j + 1] = flights[j + 1], flights[j]

elif choice == "2" and flights[j].departure > flights[j + 1].departure:

flights[j], flights[j + 1] = flights[j + 1], flights[j]

print(" Flights sorted successfully!\n")

display_flights(flights)

def main():

flights = []

while True:

print("========= FLIGHT RESERVATION SYSTEM =========")

print("1. Add Flight")

print("2. Display Flights")

print("3. Search Flight")

print("4. Sort Flights")

print("5. Exit")

choice = input("Enter your choice: ")

if choice == "1":

add_flight(flights)

elif choice == "2":

display_flights(flights)

elif choice == "3":

search_flight(flights)

elif choice == "4":


sort_flights(flights)

elif choice == "5":

print("Exiting... Thank you!")

break

else:

print("Invalid choice! Try again.\n")

if __name__ == "__main__":

main()

 How It Works

1. Run the program in any Python IDE or terminal.

2. Use menu options to:

o Add flight details

o View all flights

o Search (by number or destination)

o Sort (by price or departure)

 Example Input / Output

========= FLIGHT RESERVATION SYSTEM =========

1. Add Flight

2. Display Flights

3. Search Flight

4. Sort Flights

5. Exit

Enter your choice: 1

Enter Flight Number: AI202

Enter Source: Mumbai

Enter Destination: Delhi

Enter Departure Time: 09:30

Enter Ticket Price: 4500

Flight added successfully!


4. Conclusion and Outcomes
The Flight Reservation System project successfully demonstrates the use of searching and sorting
techniques within a real-world context. It provides a structured approach to managing flight
information such as flight numbers, destinations, departure times, and ticket prices. The project
highlights the importance of data structures in efficient data handling and algorithmic problem
solving.
Through this project, the implementation of linear search and bubble sort algorithms has been
practically achieved. The modular and object-oriented design makes the program easy to
understand, modify, and extend. The outcome of this project is a functional and educational
system that bridges the gap between theoretical data structure concepts and practical
programming applications.

5. References
• Python Programming: An Introduction to Computer Science by John Zelle.
• Data Structures and Algorithms in Python by Michael T. Goodrich, Roberto Tamassia,
and Michael H. Goldwasser.
• TutorialsPoint – Python Data Structures and Algorithms.
• GeeksforGeeks – Python Programming and DSA Concepts.

Common questions

Powered by AI

The Flight Reservation System project demonstrates the practical application of searching and sorting algorithms by managing real-time flight data, simulating a common task in reservation systems . Searching for flights by number or destination and sorting them by price or departure time reflect typical operations in booking systems, showcasing how linear search and bubble sort algorithms can address real-world data handling challenges efficiently . The project bridges the gap between theoretical knowledge of algorithms and their implementation in software solutions that require data retrieval and organization tasks .

The Flight Reservation System project aims to teach various programming concepts, including data structures, searching and sorting algorithms, object-oriented design, and modular programming . These concepts are applied through the use of lists for storing flight data, implementing linear search and bubble sort to enable efficient data retrieval and organization, and utilizing classes to define and manage flight objects . The modular approach enhances code readability and maintainability, while object-oriented principles support the organization of complex data . This project provides a comprehensive understanding of how these programming techniques are applied in software development .

The project highlights the importance of data structures by demonstrating how lists can effectively store and manage flight data, allowing for efficient retrieval, addition, and sorting operations . By using data structures like lists in conjunction with algorithms such as linear search and bubble sort, the project showcases how these elements are integral to building systems that handle real-time data efficiently . The project emphasizes that appropriate data structures are crucial for optimizing system performance and achieving smooth information management in applications .

Python provides several advantages for developing a console-based application like the Flight Reservation System due to its simplicity and readability, which make it accessible for developers with varying skill levels . Its extensive library support and built-in data structures like lists facilitate efficient data handling and manipulation . Python's support for object-oriented programming allows developers to implement complex systems with clear and maintainable code . These features make Python an ideal choice for developing educational software projects and prototyping systems .

The Flight Reservation System is user-friendly due to its console-based, menu-driven interface that allows users to easily navigate through options for managing flight data . Users can add, display, search, and sort flight records through simple inputs, making the system accessible even for those with basic technical skills . The system's structured prompts and clear feedback, such as messages confirming successful operations, enhance user interaction and provide an efficient way to manage flight information .

The Flight Reservation System project serves as an educational tool that provides insight into the application of data structures and algorithms in programming . It helps develop programming skills by requiring students to implement searching and sorting techniques in a practical context, enhancing problem-solving and logical thinking . The project also encourages understanding of object-oriented programming and modular design, which are crucial skills for software development . By working on this project, students gain hands-on experience in coding, debugging, and creating efficient systems .

The Flight Reservation System project demonstrates object-oriented programming principles by using classes to encapsulate flight attributes and methods, supporting data organization and manipulation . Each flight is represented by a class instance, with attributes such as flight number, source, destination, departure time, and price, and methods to display flight details . This encapsulation facilitates code reuse, readability, and maintainability, showcasing how object-oriented design can structure complex systems effectively in Python .

The Flight Reservation System project uses lists as the main data structure to store flight information, with each flight being represented as an object in a list of dictionaries . The project utilizes linear search and bubble sort algorithms to manage and organize the data. Linear search allows users to find flights based on specific criteria such as flight number or destination by iterating through the list sequentially . Bubble sort is used to sort the list of flights by price or departure time, enabling the user to view flights in a preferred order . These algorithms contribute to making the system interactive and efficient for adding, retrieving, and organizing flight information .

In a large-scale system, the linear search and bubble sort algorithms can become inefficient due to their high time complexity. Linear search has a time complexity of O(n), which could result in slow search performance with large datasets. Bubble sort, with a time complexity of O(n^2), is inefficient for sorting large volumes of data, leading to significant delays . These challenges can be mitigated by employing more efficient algorithms such as binary search for sorted data or quicksort and mergesort for sorting operations, which offer better time complexity and performance for larger datasets .

The modular and object-oriented design of the Flight Reservation System enhances maintainability by organizing the code into distinct sections, each responsible for specific operations such as adding, displaying, searching, and sorting flights . This modular approach makes it easier to read and understand, allowing developers to focus on individual components without affecting the entire system. Object-oriented principles support extensibility by using classes to define flight entities, which can be easily expanded with additional attributes or methods if new features need to be integrated into the system .

You might also like