An upgraded C++ console application for managing real-world parking operations — role-based access, dynamic rush-hour pricing, regex validation, and persistent file storage.
This is an upgraded fork of Rishav123918/Parking_Application_C-.
The original provided a basic parking structure. I rebuilt and extended it with:
- 🔐 Role-based login with security lockout
- 🧠 Rush-hour dynamic pricing engine
- 🔢 Regex-based number plate validation
- 📁 Persistent file storage with auto-load on startup
- 🧱 Full OOP redesign with 5 dedicated classes
- 🛡️ Complete input validation (dates, times, numerics)
| Login & Dashboard | Vehicle Entry |
| Fare Calculation | Parking Report |
- 🔐 Role-Based Access — Admin and Staff login with password masking and lockout
- 🚗 Vehicle Management — Add Cars/Bikes, auto-generated tokens, duplicate detection
- 💰 Smart Fare Calculation — Time-based, hourly rounding, rush-hour pricing
- 💾 Data Persistence — Auto-saved to
parking_data.txt, loaded on every startup - 📊 Reporting & Search — Token search, revenue summary, car/bike breakdown
- ✅ Input Validation — Dates (leap year), times, numerics, number plate format
User logs in (Admin / Staff)
↓
Add vehicle entry → token auto-generated
↓
System tracks duration from entry time
↓
Rush-hour check → applies dynamic pricing
↓
Checkout → fare calculated + data saved to file
↓
Reports & revenue summary available anytime
| Vehicle | Normal (per hour) | Rush Hour (per hour) |
|---|---|---|
| Bike | Rs 10 | Rs 15 |
| Car | Rs 20 | Rs 30 |
Rush Hours: 09:00 – 11:00 and 17:00 – 20:00
| Layer | Technology |
|---|---|
| Language | C++17 |
| Data Structures | STL (vector, algorithm, sstream) |
| Validation | Regex (<regex>) |
| Storage | File Handling (fstream) |
| UI | Windows Console API |
5 dedicated classes:
Vehicle · Time · Date · SecuritySystem · ParkingSystem
Windows Console enhancements:
_getch()— masked password inputSleep()— smooth UI transitionssystem("cls")— clean screen control
| Feature | Original | This Version |
|---|---|---|
| Login system | Basic | Role-based with lockout |
| Pricing | Fixed rate | Rush-hour dynamic pricing |
| Plate validation | None | Regex-based format check |
| Data storage | Basic | Auto-load + continuous save |
| OOP structure | Minimal | 5 dedicated classes |
| Input validation | Partial | Full (dates, times, numerics) |
ModedRepo_ParkingSystem/
├── parking1.cpp # Full application source
├── parking_system.exe # Prebuilt Windows executable
└── README.md
- Windows OS
- g++ compiler (MinGW) or MSVC
g++ parking1.cpp -o parking_system.exe -std=c++17
./parking_system.exeOr run the included parking_system.exe directly on Windows.
This project is completely free and open source. If you found it useful or want to support more projects like this:
Ranesh Rajit — B.Tech CS Student, India
Original project by Rishav123918 — extended and upgraded by Ranesh Rajit.