辅导 program、讲解 C++编程设计
Bank Management System in C Language
This project involves the design and development of an Advanced Bank Management System using
the C programming language. The goal of this system is to simulate basic banking operations that
can be performed by staff members in a bank's internal environment. The system handles customer
account management, transactions, record-keeping, and report generation, making it suitable for
use in controlled environments like academic labs or internal administrative use.
Project Objectives
The primary objective of the project is to provide a user-friendly platform for managing bank
accounts. This includes the ability to create new accounts, perform deposits and withdrawals,
generate statements, and manage records through persistent storage using files. Additional features
aim to make the system robust, comprehensive, and closer to real-world banking systems.
Functionality Requirements:
The system enables users to add new customers by entering their full name, a unique account
number, an account type (such as Savings or Current), and the initial deposit amount. Once accounts
are created, users can deposit funds, withdraw money, and check account balances. Every
transaction is recorded with the type, amount, date, and resulting balance.
Users can also update account details such as the customer's name or account type, while the
account number remains unchanged. If needed, the system allows deletion of accounts, removing all
customer data and associated transactions. The application also supports fund transfers between
accounts, which are handled as two individual transactions (a debit from the sender and a credit to
the receiver).
To assist with recordkeeping, users can view a detailed transaction history for any account, and
generate monthly statements that summarize all activity within a specified time frame. These
statements include the opening and closing balances and can be exported as text files.
The system offers advanced search capabilities, allowing users to find accounts by full or partial
name matches, account type, or specific balance ranges. A sorting feature helps display accounts in
order by name or balance.
For Savings accounts, an interest calculator applies interest monthly using either a fixed or
compound interest method, and the credited amount is recorded in the transaction history.
Additionally, the system includes an overdraft alert to notify users when withdrawal requests exceed
the current balance or result in negative balances.
An administrative menu provides tools to view the total deposits held by the bank, identify the top
three accounts by balance, and delete dormant accounts that have not seen any activity in the last
six months.
Features Implemented
1. Account Management: Create, update, delete, and view customer accounts with structured
data stored in files.
2. Deposits and Withdrawals: Perform transactions with real-time balance updates and logging.
3. Fund Transfers: Transfer money between two accounts, with dual transaction entries.
4. Transaction History: View a chronological log of all transactions for any account.
5. Monthly Statement Generator: Generate detailed monthly reports with opening/closing
balances.
6. Interest Calculation: Apply interest to Savings accounts based on selected method.
7. Advanced Search and Sort: Find and sort accounts using various criteria.
8. Overdraft Warning: Alert users of insufficient balance or overdrawn accounts.
9. Administrative Tools: View bank-wide metrics and remove dormant accounts.
10. Data Persistence: Use of file handling to save and load records.
Team Responsibilities
This project is completed by a team of maximum four students. Each member contributes to
different modules. For example:
1. Student 1 worked on account creation, deletion, and update functions.
2. Student 2 handled deposits, withdrawals, and transaction history logic.
3. Student 3 focused on file input/output, monthly statement generation, and interest
calculations.
4. Student 4 developed the user interface, fund transfer system, search/sort features, and
admin tools.
5. All students are expected to collaborate on integrating the code.
Submission Requirements:
1. This project is to be completed by a group of four students. Please also specify which part
was implemented by each student.
2. Submit the entire C program code along with the program output in either Word or PDF
format.
3. Explain the code via using proper comments.
4. Only one group member should submit the documents via Brightspace. The other members
should indicate the group name and provide the name and student ID of the member who
submitted the documents.
Deadline:
23:59, 7th May, 2025