Console Projects
A collection of high-performance C++ CLI tools, system utilities, and logic-driven applications. Crafted for efficiency and architectural elegance.
$ ./bank_system
[*] Authenticating user...
[*] Loading client records...
[SUCCESS] Access Granted. Logged in as Admin.
Bank Management
6thA structured OOP-based banking system that manages clients, users, transactions, and currencies with secure user authentication.
WAITING
14 Clients
SERVING TICKET
A-024
Queue Manager
5thA console-based system that manages client queues, tickets, and services efficiently using C++ data structures.
[+] Card Inserted.
[-] Withdrawing $500.00 from Checking...
Bank & ATM System
4thA complete banking and ATM simulation system built using structured procedural programming.
[ID: 1042] The C++ Programming Language - AVAILABLE
[ID: 1044] Design Patterns - BORROWED
Library Manager
3rdManage books by adding, borrowing, returning, and removing with live status updates.
124 * 7 = ?
> 868 [CORRECT!]
Math Quiz Game
2ndA logic-based quiz that generates random math questions by difficulty and operation type.
[Round 3] Player: Paper | CPU: Rock
>> PLAYER WINS ROUND!
Rock Paper Scissors
1stA fast-paced console game with random moves, score tracking, and multiple rounds.
Utility Classes & Libraries
Reusable ComponentsclsDblLinkedList<int> list;
list.InsertAtEnd(10);
list.InsertAtBeginning(5);
Doubly Linked List
6thA template-based class for efficient doubly linked list operations with full node control.
clsDate date1(1, 1, 2026);
date1.AddDays(10);
cout << date1.ToString();
Date Class
5thA class designed for flexible date manipulation, comparison, and calendar calculations.
clsInputValidate::ReadInt(min, max);
clsInputValidate::IsDateBetween(...);
Input Validation
4thA structured class for safe user input handling with clean reading and filtering data.
clsString::LowerAllString("HELLO");
clsString::CountWords(str);
String Helper
3rdA class for efficient string manipulation, text analysis, and transformation.
clsUtil::EncryptText(text, key);
clsUtil::RandomInt(1, 100);
Utility Class
2ndA utility class that offers general helper functions for numbers, arrays, and encryption.
LoadDataFromFile(fileName);
SaveDataToFile(fileName, data);
File Handler
1stA foundational library providing modular functions for structured file I/O operations.
Bank Management System
Overview
A comprehensive C++ application built using advanced Object-Oriented Programming (OOP) principles. This system simulates a full banking environment, including client data management, user authentication with tiered permissions, and a multi-currency transaction module.
Learning Highlights
This project was pivotal in mastering C++ OOP. I implemented deep inheritance structures, encapsulation for sensitive data, and polymorphism for different transaction types. Managing large datasets through file streams sharpened my understanding of data persistence.
System Logic
The system operates on a core engine that handles all CRUD operations via static utility classes. Authentication is handled by a dedicated session manager that verifies user rights before exposing administrative functions.
- Dynamic Currency Conversion
- Permission-based Access Control
- Automated Transaction Logging
- File-based Data Persistence
Source Code
Explore the full implementation on GitHub: View Repository.
Queue Line Manager
Overview
A robust console-based system designed to manage customer queues and service tickets efficiently. It handles ticket generation, service assignment, and real-time status updates for waiting clients.
Queue Logic
The system utilizes standard C++ queues to ensure First-In-First-Out (FIFO) processing. I implemented a ticket prefixing system to categorize different services (e.g., A for Admin, B for Banking).
Source Code
Source code available on GitHub: View Repository.
Bank & ATM System
Overview
A simulation of an ATM interface and banking terminal. This project focuses on transaction logic, balance management, and secure PIN validation through a clean command-line interface.
Transaction Logic
The logic ensures that withdrawals do not exceed account balances and that deposits are correctly formatted and logged. It uses a structured procedural approach to handle different transaction states.
Source Code
View the project on GitHub: View Repository.
Library Manager
Overview
A library management tool that automates book tracking, borrowing, and returns. It features a searchable database and live availability status updates for all titles.
Data Management
The application manages book records through a collection of custom structures. It includes search algorithms for finding books by ID or title and logic for updating status flags during borrowing.
Source Code
Check out the source code: View on GitHub.
Math Quiz Game
Overview
An interactive math challenge that tests user speed and accuracy across different difficulty levels and mathematical operations.
Game Logic
The game uses the C++ `rand()` function with a time-based seed to generate unique questions. Difficulty levels (Easy, Med, Hard, Mix) adjust the range of numbers and the complexity of operations.
Source Code
Get the source code: View on GitHub.
Rock Paper Scissors
Overview
A classic game of strategy and luck. This console version features multi-round support, random CPU moves, and detailed score summaries after each match.
Game Logic
The application uses a modular approach, where each round is a separate functional unit that updates a global match structure. It includes validation to ensure the player enters valid choices.
Source Code
Available on GitHub: View Repository.
Doubly Linked List
Overview
A template-based C++ class implementing a high-performance doubly linked list. It provides efficient operations for node insertion, deletion, and bidirectional traversal.
Learnings
Implementing this library required a deep dive into manual memory management (new/delete), pointer manipulation, and generic programming using C++ templates.
Source Code
View on GitHub: Source Link.
Date Manipulation Class
Overview
A versatile library for handling dates in C++. It supports addition/subtraction of days, date comparisons, leap year checks, and full calendar formatting.
Core Logic
The class handles overflow logic (e.g., adding 50 days to December 25th) and respects month lengths and leap years. It provides a clean API for complex date arithmetic.
Source Code
Download or view the source: GitHub Link.
Input Validation Class
Overview
A security-focused library designed to sanitize and validate user input. It prevents application crashes by ensuring data types and ranges match expected values.
Validation Logic
The class includes static methods for reading integers, doubles, and dates within specific bounds. It uses recursive calls and error messages to guide the user toward valid input.
Source Code
GitHub Repository: Source Link.
String Helper Class
Overview
A collection of string manipulation tools. It simplifies tasks like word counting, case transformation, splitting strings into tokens, and searching/replacing text.
Techniques
The library implements various string-parsing algorithms, including custom split functions and character-level transformations. It focuses on performance and ease of use.
Source Code
View on GitHub: GitHub Repository.
Utility Class
Overview
A multipurpose helper library. It contains essential functions for text encryption, random number generation, array shuffling, and number-to-text conversion.
Core Features
This class acts as a Swiss Army knife for C++ development. Key implementations include a basic Caesar cipher for text encryption and Fisher-Yates shuffle for arrays.
Source Code
View Source on GitHub: Repository Link.
File Handler Library
Overview
A specialized library for managing text file operations in C++. It provides a clean interface for reading structured data, updating records, and maintaining data integrity during I/O.
Techniques
The library implements advanced file stream handling techniques, including line-by-line parsing and record delimiting. It is designed to work seamlessly with other utility classes for data conversion.
Source Code
Visit GitHub for source code: GitHub Repository.