Bank Account Simulator in C++

 

Introduction

In this tutorial, we will create a simple Bank Account Simulator using C++. The goal is to simulate the basic functionalities of a bank account, such as deposit, withdrawal, and checking the account balance. This program is an excellent beginner project for learning object-oriented programming concepts in C++.

Objective

The objective of this project is to design a simple bank account management system where a user can:

  • Deposit money into their account
  • Withdraw money from their account
  • Check their account balance

By implementing this, you’ll get hands-on experience with classes, methods, and basic data handling in C++.

Code Implementation

#include 
using namespace std;

class BankAccount {
private:
    double balance;

public:
    // Constructor to initialize balance
    BankAccount(double initial_balance) {
        if (initial_balance >= 0) {
            balance = initial_balance;
        } else {
            balance = 0;
            cout << "Invalid initial balance. Setting balance to 0." << endl; } } // Method to deposit money into the account void deposit(double amount) { if (amount > 0) {
            balance += amount;
            cout << "Deposited: $" << amount << endl;
        } else {
            cout << "Deposit amount must be positive." << endl; } } // Method to withdraw money from the account void withdraw(double amount) { if (amount > 0 && amount <= balance) {
            balance -= amount;
            cout << "Withdrawn: $" << amount << endl;
        } else {
            cout << "Insufficient funds or invalid withdrawal amount." << endl;
        }
    }

    // Method to check the current balance
    void check_balance() const {
        cout << "Current balance: $" << balance << endl;
    }
};

int main() {
    BankAccount account(1000); // Create an account with an initial balance of $1000

    int choice;
    double amount;

    do {
        cout << "\nBank Account Simulator Menu" << endl;
        cout << "1. Deposit Money" << endl;
        cout << "2. Withdraw Money" << endl;
        cout << "3. Check Balance" << endl;
        cout << "4. Exit" << endl;
        cout << "Enter your choice: "; cin >> choice;

        switch (choice) {
            case 1:
                cout << "Enter amount to deposit: $"; cin >> amount;
                account.deposit(amount);
                break;
            case 2:
                cout << "Enter amount to withdraw: $"; cin >> amount;
                account.withdraw(amount);
                break;
            case 3:
                account.check_balance();
                break;
            case 4:
                cout << "Exiting... Thank you!" << endl;
                break;
            default:
                cout << "Invalid choice. Please try again." << endl;
        }

    } while (choice != 4);

    return 0;
}

Explanation of Program Structure

The program begins by defining a BankAccount class that contains the following:

  • Private Data Member: balance – stores the current balance of the account.
  • Constructor: Initializes the balance to a given amount if valid, or sets it to 0 if invalid.
  • Methods:
    • deposit(double amount): Adds a specified amount to the balance.
    • withdraw(double amount): Subtracts the specified amount from the balance if sufficient funds are available.
    • check_balance(): Displays the current account balance.

The main() function handles user interaction. It provides a menu for the user to choose actions like deposit, withdrawal, or balance check. A loop keeps the program running until the user chooses to exit.

How to Run the Program

To run this program, follow these steps:

  1. Ensure you have a C++ compiler installed (e.g., GCC or any IDE that supports C++ like Code::Blocks or Visual Studio).
  2. Copy and paste the code into a file with a .cpp extension, for example, BankAccountSimulator.cpp.
  3. Compile the code using your C++ compiler:
    g++ BankAccountSimulator.cpp -o BankAccountSimulator
    
  4. Run the program:
    ./BankAccountSimulator
    
  5. Follow the menu prompts to simulate a bank account.
© 2025 Learn Programming

 

Leave a Reply

Your email address will not be published. Required fields are marked *