KEMBAR78
Railway Oop Microproject | PDF | C++ | Object Oriented Programming
0% found this document useful (0 votes)
32 views18 pages

Railway Oop Microproject

Uploaded by

siri20515
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)
32 views18 pages

Railway Oop Microproject

Uploaded by

siri20515
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
You are on page 1/ 18

Shivnagar Vidya Prasarak Mandal’s

INSTITUTE OF TECHNOLOGY AND ENGINEERING


Malegaon (Bk.), Tal: Baramati, Dist: Pune, Pin: 413115.
DEPARTMENT OF COMPUTER ENGINEERING
A
MICRO POROJECT REPORT ON
Railway Management System

Under the Guidance of


(Prof.Jagdale P.R)

Submitted by

Mr.Aditya Subhash Kharade


Mr.Sarthak Mahavir Thaware
Mr.Prathmesh Dada Khandale
Mr.Shubham Pramod Lokhande

[Academic Year]
(2024-2025)
Shivnagar Vidya Prasarak Mandal’s
INSTITUTE OF TECHNOLOGY AND ENGINEERING
Malegaon (Bk.), Tal: Baramati, Dist: Pune, Pin: 413115.
DEPARTMENT OF COMPUTER ENGINEERING

CERTIFICATE

This is to certify that Micro Project work report entitled Railway Management System
submitted in partial fulfillment of required for the Diploma in Computer
Engineering by Maharashtra State Board of Technical Education Mumbai-51, as
a record of student own work carried out by them.

Submitted by
Mr.Aditya Subhash Kharade
Mr.Sarthak Mahavir Thaware
Mr.Prathmesh Dada Khandale
Mr.Shubham Pramod Lokhande

Prof. JAGDALE P.R. Prof. JAGDALE P.R . Dr.THOMBARE D.G.


(Guide) (H. O. D.) (Principal)
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
SVPM’s Institute of Technology & Engineering, Malegaon (Bk)
(Institute Code: - 0038)
Program Name and Code : Computer Engineering (CO3K)
Course Name and Code : Object Oriented Programming Using C++ (313304)
Academic Year : 2024-25
Semester : Third

A MICRO PROJECT
On
Raiway Management System
Submitted in winter 2024 Exam by the group of __4__students

Sr.
Enrollment
No Roll No. Name of student Seat No.
No.
.
Shubham Pramod lokhande 23210910213 166702
1 181/23
Prathmesh Dada Khandale 166713
2 178/23 23210910224
Sarthak Mahavir Thaware 23210910242 166728
3 217/23

4 179/23 Aditya Subhash Kharade 23210910218 166707

Project Guide
Prof. Jagdale P.R.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
Certificate
This is to certify that Master /Ms Shubham , Prathmesh , Sarthak , Aditya Of Third

Semester of Diploma in Computer Engineering of Institute, SVPM’s Institute of Technology &

Engineering, Malegaon (Bk) (0038) has completed the Micro Project satisfactorily in the Subject of

Object Oriented Programming Using C++ (313304) for the Academic Year 2024-2025 as prescribed

in the curriculum.

Place: Malegaon (Bk) Enrollment No: 23210910213


23210910224
23210910242
23210910218

Date: Exam. Seat No: 166702


166713
166728
166707

Subject Teacher Head of the Department Principal

Seal of Institute
ANNEXURE II

EVALUATION SHEET FOR THE MICRO PROJECT

ACADEMIC YEAR: - 2024-25 NAME OF FACULTY: - PROF.JAGDALE


P.R.

PROGRAM: - COMPUTER ENGINEERING

COURSE: - OBJECT ORIENTED PROGRAMMING USING C++

COURSE CODE: - 313304 SEMESTER: - THIRD (CO3K)

TITLE OF THE PROJECT:-

CO’s Addressed by the Micro-Project:-


a) Write C++ programs using classes and objects.
b) Develop C++ programs using constructors.
c) Implement Inheritance in C++.

d) Implement Polymorphism in C++.


e) Develop C++ programs to perform file operations.

Major learning outcomes achieved by students by doing the Project:-


Practical outcomes:-
a) Describe the procedural and object oriented paradigm with concepts of streams, classes, functions,
data and objects.
b) Understand dynamic memory management techniques using pointers, constructors, destructors, etc
c) Describe the concept of function overloading, operator overloading, virtual functions and
polymorphism.
d) Classify inheritance with the understanding of early and late binding.
e) Demonstrate the use of various OOPs concepts with the help of programs.

Unit Outcomes in Cognitive Domain:-


a) Build a C++ program using different concepts of OOP’s.
b) Recall previous learned information.
Outcomes in Affective Domain:-
a) Students are able to type program without making syntax errors.
b) Students are able to participate in class discussions.
c) Students are able to listen to others with respects.
d) Students are able to co-operate in group activities. (Displays teamwork)
e) Students are able to apply ethical principles.

Comments / suggestions about team work / leadership / inter – personal


communication (if any):-
------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------

Marks out
Marks out
of 04 for
of 06 for
performan Total
Sr performan
Student Name ce in Oral / out of
No ce in group
Presentati 10
activity
on (D5
(D5 Col.8)
Col.9)
Shubham Pramod lokhande
37
Prathmesh dada khandale
48
Sarthak mahavir thaware
64
Aditya subhash kharade
42

Name & Signature of Faculty


Prof. Jagdale P.R.
Chapter – A

What is OOP?

Object-Oriented Programming (OOP) is a programming paradigm that revolves


around the concept of objects. In OOP, everything is considered an object, and these
objects interact with each other to perform tasks. It’s a way of organizing and
structuring code that promotes modularity and reusability.

Why is OOP important?

OOP offers several benefits, such as code reusability, easier maintenance, and better
problem-solving. By breaking down complex systems into smaller, manageable
objects, OOP allows developers to create efficient and organized code.

Basic concepts of OOP


1. Object
2. Class
3. Data hiding
4. Data encapsulation
5. Inheritance
6. Polymorphism
7. Dynamic binding
8. Message passing

Applications of OOP
1. Real time systems
2. Simulation and modelling
3. CAD/CAM system
4. AI and expert systems and etc.
Railway Management System

A Railway Management System (RMS) is a comprehensive software platform used to


manage various aspects of railway operations. It helps ensure the smooth functioning of
the rail network by automating and optimizing key processes such as ticketing,
scheduling, train operations, maintenance, and resource management. The system is
designed to enhance operational efficiency, improve customer service, and reduce costs
for railway operators.

1. System Integration:
Integrating various subsystems (scheduling, ticketing, maintenance) into a unified
platform can be complex, especially in large, legacy railway networks.
2. Real-time Data Management:
Handling real-time data streams from trains, stations, and passengers to ensure
timely updates and responses can be technically challenging.
3. Cybersecurity Threats:
With the increasing use of digital platforms, railway systems become vulnerable to
cyber-attacks, requiring robust security measures to protect both operational data
and passenger information.
4. Infrastructure Upgrades:
Modernizing outdated infrastructure to support a more advanced railway
management system can be costly and time-consuming.
5. Weather and External Factors:
Railway systems are often affected by weather conditions, natural disasters, and
external events (such as strikes), which need to be managed dynamically within the
system.
Approach:

 Select user type and input password.


 In the given menu, select the basic operation and enter the details in the
operations like add, delete, search and update users.
 After performing all the functions and operations, exit from the ATM system.
 All the file operations are done in a file named accounts.txt, where the data is
written using ofstream mode and can be read using ifstream mode.
 After this, the file must be closed using <filename>.close()

Here we have created a mini project of Rail wayusing C++.

So this mini project is going to consist of Railway


functionalities implimented using OOP concepts. The
functionalities are:

1)Add train: adding new train information.

2)view information: view the existing train information.

3)booking ticket :booking passenger ticket.

4)view booking:list of booking of ticket.

5)exit
To execute this program of ATM management system, we use
following basic concepts of OOP.

object:
Object are basic run time entities in object-oriented system when program is
executed, the objects interact by sending messages to one another.

class:
Collection of similar type of objects. Classes are user defined datatype.

switch case:
switch case is a control statement used for decision-making purposes.
It evaluates a given expression and executes statements based on the
evaluatedvalue.

while loop:
The while construct consists of a block of code and a condition/expression.
Thecondition/expression is evaluated, and if the condition/expression is tue, the
code within all of their following in the block is executed. This repeats ntil the
condition/expression becomes false.

if case:
If statement is the simplest decision-making statement. It is used to decide
whether a certain statement or block of statement will be executed or not based
on a certain type of condition.

Opening file :
It helps to open exist file as well as create new file if does not exist.

1) Using Constructor
2) Using Open function

Close() : This function used to close file if it is open.


Stream classes

ifstream:
It is used to read a stream of objects from a file.

ofstream:
It is used to write a stream of objects from a file.

fstream:
It is used for both reading & writing a stream of objects on a file.

Operator

Logical Operator : A logical operator is a symbol or word used to connect two or


more expressions such that the value of the compound expression produced depends
only on that of the original expressions and on the meaning of the operator.[1] Common
logical operators include AND, OR, and NOT.

Relational Operator : C++ Relational operators are used to compare two values or
expressions, and based on this comparison, it returns a boolean value
(either true or false) as the result. Generally false is represented as 0 and true is
represented as any non-zero value (mostly 1).
2. System Requirements:

2.1 Hardware Requirements:


Processor :- Intel Pentium 4 or Later or Compatible

Hard Disk :- 410GB or more.

RAM :- 1GB or more

Printer :- Any

Monitor :- SVGA Color Monitor (Touch Screen or Simple)

Pointing Device :- Touch Pad or Keys

2.2 Software Requirements:


Operating System :- Microsoft Windows XP or Later or Equivalent
Front End :- Visual Basic 6.0
Chapter – B
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

class Train {
public:
int trainNumber;
string trainName;
string source;
string destination;
int seatsAvailable;

void addTrain() {
cout << "Enter Train Number: ";
cin >> trainNumber;

cout << "Enter Train Name: ";


cin>>trainName;
cout << "Enter Source Station: ";
cin>>source;
cout << "Enter Destination Station: ";
cin>>destination;
cout << "Enter Number of Seats Available: ";
cin >> seatsAvailable;

// Save the train details to a file


ofstream file("trains.txt", ios::app);
file << trainNumber << " " << trainName << " " << source << " "
<< destination << " " << seatsAvailable << "\n";
file.close();

cout << "Train added successfully!\n";


}

void viewTrains() {
ifstream file("trains.txt");
if (!file)
{
cout << "No trains available.\n";
return;
}

cout << "\nAvailable Trains:\n";


cout << "Train Number | Train Name | Source | Destination | Seats Available\n";
cout << "--------------------------------------------------------------\n";

while (file >> trainNumber >> trainName >> source >> destination >> seatsAvailable)
{
cout << trainNumber << " | " << trainName << " | " << source << " | "
<< destination << " | " << seatsAvailable << "\n";
}

file.close();

}
};

class Booking {
public:
int bookingID;
int trainNumber;
string passengerName;

void bookTicket() {
cout << "Enter Train Number: ";
cin >> trainNumber;
cin.ignore();
cout << "Enter Passenger Name: ";
getline(cin, passengerName);

// Generate a unique booking ID


ifstream readBookings("bookings.txt");
int lastID = 0;
while (readBookings >> bookingID >> trainNumber >> passengerName) {
lastID = bookingID;
}
readBookings.close();

bookingID = lastID + 1;

// Save the booking details to a file


ofstream file("bookings.txt", ios::app);
file << bookingID << " " << trainNumber << " " << passengerName << "\n";
file.close();

cout << "Ticket booked successfully! Booking ID: " << bookingID << "\n";
}

void viewBookings() {
ifstream file("bookings.txt");
if (!file) {
cout << "No bookings available.\n";
return;
}

cout << "\nBooked Tickets:\n";


cout << "Booking ID | Train Number | Passenger Name\n";
cout << "-----------------------------------------\n";

while (file >> bookingID >> trainNumber >> passengerName) {


cout << bookingID << " | " << trainNumber << " | " << passengerName << "\n";
}

file.close();
}
};

void displayMenu() {
cout << "\nRailway Management System";
cout << "\n1. Add Train";
cout << "\n2. View Trains";
cout << "\n3. Book Ticket";
cout << "\n4. View Bookings";
cout << "\n5. Exit";
cout << "\nEnter your choice: ";
}

int main() {
Train train;
Booking booking;
int choice;

while (true) {
displayMenu();
cin >> choice;

switch (choice) {
case 1:
train.addTrain();
break;
case 2:
train.viewTrains();
break;
case 3:
booking.bookTicket();
break;
case 4:
booking.viewBookings();
break;
case 5:
cout << "Exiting the system. Goodbye!\n";
return 0;
default:
cout << "Invalid choice! Please try again.\n";
}
}

return 0;

OUTPUTS:
 Contents to display
 Choice no 1:train info

 Choice no 2:view train info


 Choice no:3 ticket booking

 Choice 4:view booking


 Choice 5:exit
Chapter – C

Conclusion

These 11 OOP micro project ideas provide a solid


foundation for beginners in Object-Oriented
Programming. As you work on these projects, you’ll
gain a deeper understanding of classes, objects,
encapsulation, and more. Remember that the key to
mastering OOP is practice and continuous learning. So,
choose a project that excites you, and start coding!
Happy programming!

Reference

https://github.com/

https://www.geeksforgeek

s.org/ https://chatgpt.com/

You might also like