Final Course Project: Banking & Portfolio Management Engine

🚀 Project Overview

In this final project, you will build a high-performance console-based Banking application. You will integrate everything you've learned: Variables, Control Flow, Functions, Pointers for dynamic accounts, OOP for structure, and STL for data management.

Problem Statement

A local bank needs a secure, modular system to manage customer accounts, handle transactions (Deposits/Withdrawals), and store a history of actions. The system must be scalable and use modern C++ practices.

Project Objectives

Core Features

  1. Account Creation: Create new Savings or Current accounts.
  2. Transaction Engine: Perform deposits and withdrawals.
  3. Balance Inquiry: Display current balance and customer details.
  4. Transaction History: View the last 5 transactions (using STL deque or vector).
  5. Data Persistence: Save account data to a .txt file on exit and load on startup.

Development Steps

  1. Design the Account class with private attributes (ID, Name, Balance).
  2. Implement constructor and Getter/Setter methods.
  3. Create a BankSystem class to manage the collection of accounts.
  4. Write the logic for searching an account by ID using STL iterators.
  5. Develop the main menu loop using switch.
  6. Add File I/O logic to save() and load() data.

Evaluation Criteria

Criteria Weight
Successful implementation of OOP (Encapsulation/Inheritance) 30%
Effective use of STL Containers and Algorithms 20%
Correct File I/O operations 20%
Code modularity and naming conventions 15%
Error handling and user experience 15%
Solve Final Project in Compiler