Skip to content

Sherif-Osama/Bank-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bank System (C++) 💰

A console-based banking system built using C++ that simulates core banking operations such as managing clients, users, transactions, and currency conversions.


📌 Overview

This project demonstrates a full banking system using Object-Oriented Programming (OOP) concepts and file-based data storage.

The system allows managing clients, handling financial transactions, controlling user permissions, and logging system activities.


🔐 Default Login

You can use the following credentials to access the system:

  • Username: User1
  • Password: Z

📸 Preview

Screenshot 2026-03-30 140022

🧱 Architecture

The project is designed using a layered-like structure:

  • Core Classes

    • ClsPerson → Base class for shared user/client data
    • ClsBankClient → Handles client accounts and transactions
    • ClsBankUsers → Manages system users and permissions
    • ClsCurrency → Handles currency exchange operations
  • Supporting Utilities

    • String handling
    • Date/time utilities
    • Basic encryption/decryption

🚀 Features

👤 Client Management

  • Add new clients
  • Update client information
  • Delete clients
  • Find clients by account number

💰 Transactions

  • Deposit
  • Withdraw
  • Transfer between accounts
  • Transfer logging

🔐 User System

  • Login system
  • User permissions (bitwise-based)
  • User management

📊 Logs

  • Login register logs
  • Transfers history

💱 Currency Module

  • Find currency by code or country
  • Convert between currencies

🛠 Technologies Used

  • C++
  • Object-Oriented Programming (OOP)
  • File Handling (fstream)
  • STL (vector, string)

🧠 Concepts Applied

  • Encapsulation
  • Inheritance
  • Static methods
  • File-based database design
  • Bitwise operations (permissions system)
  • Basic encryption techniques

▶️ How to Run

  1. Open the project in Visual Studio
  2. Build the project
  3. Run the application

📂 Data Storage

The system uses text files as a simple database:

  • Client.txt
  • Users.txt
  • TransfersLog.txt
  • RegisterLogins.txt
  • Currencies.txt

⚠️ Notes

  • This project uses file-based storage instead of a database.
  • Encryption used is for demonstration purposes only (not secure for production).

👨‍💻 Author

Sherif Osama

About

Full banking system simulation in C++ with OOP, transactions, logging, and permissions control.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages