Experiment 03 / Early systems programming
Banking system
A console banking program in C: accounts, deposits, withdrawals and statements behind a menu.
2023
Coursework project. Written in a single C program.
01 / The problem
What it set
out to do.
A first look at the question every application eventually asks: how do you hold a customer's details and money in a program, and keep the operations on them consistent?
- 01Menu
- 02Account creation
- 03Transactions
- 04Statement
A simplified view of how the code is organized, not a production infrastructure diagram.
02 / The approach
Decisions beneath
the surface.
- 01
Model the branch as a menu, where each option is a function with one responsibility.
- 02
Separate account types, so opening a savings account and a current account follow their own paths.
- 03
Collect the identity details a real account needs — name, date of birth, nominee, PAN, address, contact.
- 04
Guard the operations: reject an invalid menu choice, and check a withdrawal against the balance.
03 / Inside the repository
Where to look
in the code.
Banking_system.cThe whole program: menu loop, account creation, deposit, withdrawal, statement, feedback and helpdesk.
04 / Technologies
The working set.
05 / What it left behind
An early exercise in program structure: state, control flow and input validation, before any framework was involved.
Source notes
Described from the source file. This is student coursework, not a deployed banking application; there is no persistence layer or security model.