Skip to content

billalben/bank-system-cpp

Repository files navigation

bank-system-cpp

This is a C++ console-based bank management system built with object-oriented programming (OOP) principles and a divide-and-conquer approach. The system features clean code, a well-structured layout, and robust functionalities.

Features

  • Clean Code & Well Structured: Ensuring maintainability and readability.

  • Divide and Conquer: Breaking down tasks into smaller, manageable functions.

  • Object-Oriented Programming: Utilizing classes and objects for modularity.

  • Login System: Three attempts to log in.

  • Password Encryption: Passwords are encrypted before storing in files.

  • User Permissions: Different permissions can be assigned to users.

  • Client Management: Add, delete, update, find, and list clients.

  • Transaction Management: Deposit, withdraw, check total balances, transfer, and view transfer logs.

  • User Management: Add, delete, update, find, and list users.

  • Currency Exchange: List currencies, find currency rates, update rates, and use a currency calculator.

  • Secure Logout: Ensuring users can securely exit the system.

Screenshots

Login Screen:

___________________________________________

          Login Screen
___________________________________________

User: 
Date: 25/5/2024


Enter Username? User2
Enter Password? 1234

Main Screen:

___________________________________________

                Main Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
                Main Menu
===========================================
        [1] Show Client List.
        [2] Add New Client.
        [3] Delete Client.
        [4] Update Client Info.
        [5] Find Client.
        [6] Transactions.
        [7] Manage Users.
        [8] Login Register.
        [9] Currency Exchange.
        [10] Logout.
===========================================
Choose what do you want to do? [1 to 10]? 

Transactions Menu:

___________________________________________

          Transactions Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
                  Transactions Menu
===========================================
        [1] Deposit.
        [2] Withdraw.
        [3] Total Balances.
        [4] Transfer.
        [5] Transfer Log.
        [6] Main Menu.
===========================================
Choose what do you want to do? [1 to 6]? 

Manage Users Menu:

___________________________________________

         Manage Users Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
          Manage Users Menu
===========================================
        [1] List Users.
        [2] Add New User.
        [3] Delete User.
        [4] Update User.
        [5] Find User.
        [6] Main Menu.
===========================================
Choose what do you want to do? [1 to 6]? 

Currency Exchange Menu:

___________________________________________

      Currency Exchange Main Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
          Currency Exchange Menu
===========================================
        [1] List Currencies.
        [2] Find Currency.
        [3] Update Rate.
        [4] Currency Calculator.
        [5] Main Menu.
===========================================
Choose what do you want to do? [1 to 5]? 

Installation

1 - Clone the repository:

git clone https://github.com/billalben/bank-system-cpp.git

2 - Navigate to the project directory:

cd bank-system-cpp

3 - Compile the project:

g++ -o bankSystem main.cpp

Usage

1 - Run the application.

2 - Log in using your credentials.

3 - Navigate through the menus to manage clients, users, transactions, and currency exchanges.

Contribution

  • Fork the repository.

  • Create a new branch (git checkout -b feature/YourFeature).

  • Commit your changes (git commit -m 'Add some feature').

  • Push to the branch (git push origin feature/YourFeature).

  • Open a pull request.

Contact

Releases

No releases published

Packages

 
 
 

Languages