← Back to the lab

Experiment 03 / Early systems programming

Banking system

A console banking program in C: accounts, deposits, withdrawals and statements behind a menu.

Written

2023

Rahul’s contribution

Coursework project. Written in a single C program.

Repositoryrahulm16 / Banking_system

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?

System sketch / conceptual04 connected stages
  1. 01Menu
  2. 02Account creation
  3. 03Transactions
  4. 04Statement

A simplified view of how the code is organized, not a production infrastructure diagram.

02 / The approach

Decisions beneath
the surface.

  1. 01

    Model the branch as a menu, where each option is a function with one responsibility.

  2. 02

    Separate account types, so opening a savings account and a current account follow their own paths.

  3. 03

    Collect the identity details a real account needs — name, date of birth, nominee, PAN, address, contact.

  4. 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.c

    The whole program: menu loop, account creation, deposit, withdrawal, statement, feedback and helpdesk.

04 / Technologies

The working set.

C

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.

Continue exploring / next experimentMobile comparison
THE SYSTEMS ATLAS / INDEX
RAHUL.SYS / TERMINAL

A small door into the atlas. Type help to begin.