A simple C++ console-based application to manage train schedules and track allocations at a station. This project simulates how trains arrive and depart from tracks and ensures optimal allocation using a priority queue and reallocation logic when delays are introduced.
- Add and delete trains
- Allocate tracks optimally based on arrival/departure and availability
- View upcoming trains (with options for time, count, and specific tracks)
- Introduce delays and automatically reallocate tracks
- Sort and view all trains by arrival, departure, or track
- Real-time console interaction
- Object-Oriented Programming (OOP)
- Priority Queues (Min-heaps)
- Sorting and Binary Search
- Dynamic memory management
- Encapsulation and modular design
-
Clone the repository
git clone https://github.com/Akataruka/station-management-app.git cd station-management-app -
Compile the code
g++ -std=c++17 main.cpp -o station-management-app
-
Run the app
./station-management-app
π station-management-system
βββ main.cpp # All classes and logic for train/station management
βββ README.md # Project information and usage
WELCOME TO STATION MANAGEMENT APP
1. Create a new Station
CHOOSE From below Functionalities (q to quit):
Enter station Name: Central
Enter the number of tracks: 3
Station Created
1. Add/Delete trains
2. View Next trains
3. Add delay
4. View all trains
5. Get station details
...- Add file-based persistence for station/train data
- Add support for train ID search and editing
Feel free to fork this repo and create a pull request for any improvements, bug fixes, or new features. PRs are welcome!
- Asutosh Kataruka 3rd Year Undergraduate, IIIT Bhubaneswar Passionate about C++, LLD, ML-DL etc.
β If you found this helpful, feel free to star the repo and share!