C Program for ATM Machine With Source Code

The c programming ATM project with Source Code is easy to use and understand the instructions.

An ATM In C is based on the concept of managing an account personally. 

From this ATM System C Mini Project, the user can check the total balance, Deposit Amount, and withdrawal amounts easily as it is not time-consuming.

This ATM System Project In C Language also includes a downloadable ATM Code In C for free, just find the downloadable source code below and click to start downloading.

To start creating an ATM Banking System Project In C, make sure that you have code blocks or any platform of C/C++ language installed on your computer.

ABOUT PROJECTPROJECT DETAILS
Project Name :ATM Machine
Project Platform :C/C++
Programming Language Used:C Programming Language
Developer Name :itsourcecode.com
IDE Tool (Recommended):Dev-C++/Codeblocks
Project Type :Desktop Application
Database:Stores data in .DAT file
ATM Machine C Program With Source Code Information

Steps on how to create an ATM Machine C Program

Time needed: 5 minutes

ATM Machine C Program With Source Code

  • Step 1: Create a new project.

    First open the code blocks IDE and click “create a new project“.
    atm project

  • Step 2: Choose console application.

    Second click the “console application” and after that click “next“.
    atm console

  • Step 3: Choose C language.

    Third choose “C language” and click “next“.
    atm console c

  • Step 4: Name Your Project.

    Fourth name the project you’ve created and click “next” after that click “finish“.
    atm project title

  • Step 5: The actual code.

    You are free to copy the given source code below or download the downloadable source code given.

The Code Given Below Is For The Main Menu Module

void mainMenu() {

    printf("******************Hello!*******************\n");
    printf("**********Welcome to ATM Banking***********\n\n");
    printf("****Please choose one of the options below****\n\n");
    printf("< 1 >  Check Balance\n");
    printf("< 2 >  Deposit\n");
    printf("< 3 >  Withdraw\n");
    printf("< 4 >  Exit\n\n");

}

In this module which is the main menu of the system.

The Code Given Below Is For The Check Balance Module

void checkBalance(float balance) {
    printf("You Choose to See your Balance\n");
    printf("\n\n****Your Available Balance is:   $%.2f\n\n", balance);

}

In this module which is the check balance module of the system.

The Code Given Below Is For The Deposit Module

float moneyDeposit(float balance) {
    float deposit;
    printf("You choose to Deposit a money\n");
    printf("$$$$Your Balance is: $%.2f\n\n", balance);
    printf("****Enter your amount to Deposit\n");
    scanf("%f", &deposit);


    balance += deposit;

    printf("\n****Your New Balance is:   $%.2f\n\n", balance);
    return balance;

}

In this module which is the module for deposit a money.

Complete Source Code


#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>

//Functions
void login();
void mainMenu();
void checkBalance(float balance);
float moneyDeposit(float balance);
float moneyWithdraw(float balance);
void menuExit();
void errorMessage();


//Main Code
int main() {
    //Local Declarations
    int option;
    float balance = 15000.00;
    int choose;

    bool again = true;

    // insert code here...

    while (again) {
    mainMenu();

    printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
    printf("Your Selection:\t");
    scanf("%d", &option);


        switch (option) {
            case 1:
            	system("CLS");
                checkBalance(balance);
                break;
            case 2:
            	system("CLS");
                balance = moneyDeposit(balance);
                break;
            case 3:
            	system("CLS");
                balance = moneyWithdraw(balance);
                break;

            case 4:
            	system("CLS");
                menuExit();
                return 0;

            default:
                errorMessage();
                break;
        }

        printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
        printf("Would you like to do another transaction:\n");
        printf("< 1 > Yes\n");
        printf("< 2 > No\n");
        scanf("%d", &choose);

        system("CLS");



        if (choose == 2) {
            again = false;
            menuExit();

        }

}


    return 0;
}//main code



//Functions

void mainMenu() {

    printf("******************Hello!*******************\n");
    printf("**********Welcome to ATM Banking***********\n\n");
    printf("****Please choose one of the options below****\n\n");
    printf("< 1 >  Check Balance\n");
    printf("< 2 >  Deposit\n");
    printf("< 3 >  Withdraw\n");
    printf("< 4 >  Exit\n\n");

}//Main Menu

void checkBalance(float balance) {
    printf("You Choose to See your Balance\n");
    printf("\n\n****Your Available Balance is:   $%.2f\n\n", balance);

}//Check Balance

float moneyDeposit(float balance) {
    float deposit;
    printf("You choose to Deposit a money\n");
    printf("$$$$Your Balance is: $%.2f\n\n", balance);
    printf("****Enter your amount to Deposit\n");
    scanf("%f", &deposit);


    balance += deposit;

    printf("\n****Your New Balance is:   $%.2f\n\n", balance);
    return balance;

}//money deposit

float moneyWithdraw(float balance) {
    float withdraw;
    bool back = true;

    printf("You choose to Withdraw a money\n");
    printf("$$$$Your Balance is: $%.2f\n\n", balance);

    while (back) {
    printf("Enter your amount to withdraw:\n");
    scanf("%f", &withdraw);


    if (withdraw < balance) {
        back = false;
        balance -= withdraw;
        printf("\n$$$$Your withdrawing money is:  $%.2f\n", withdraw);
        printf("****Your New Balance is:   $%.2f\n\n", balance);

    }

        else  {

        printf("+++You don't have enough money+++\n");
        printf("Please contact to your Bank Customer Services\n");
        printf("****Your Balance is:   $%.2f\n\n", balance);

    }
    }
    return balance;


}//money withdraw

void menuExit() {
    printf("--------------Take your receipt!!!------------------\n");
    printf("-----Thank you for using ATM Banking Machine!!!-----\n");
    printf("-----BROUGHT TO YOU BY itsourcecode.com-----\n");


}//exit menu

void errorMessage() {;
    printf("+++!!!You selected invalid number!!!+++\n");
}//error message


/* Sample Output


******************Hello!*******************
**********Welcome to ATM Banking***********

****Please choose one of the options below****
< 1 >  Check Balance
< 2 >  Deposit
< 3 >  Withdraw
< 4 >  Exit

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Your Selection:	1
You Choose to See your Balance
****Your Available Balance is:   $15000.00

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Would you like to do another transaction:
< 1 > Yes
< 2 > No
1
******************Hello!*******************
**********Welcome to ATM Banking***********

****Please choose one of the options below****
< 1 >  Check Balance
< 2 >  Deposit
< 3 >  Withdraw
< 4 >  Exit

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Your Selection:	2
You choose to Deposit a money
$$$$Your Balance is: $15000.00

****Enter your amount to Deposit
1444
****Your New Balance is:   $16444.00

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Would you like to do another transaction:
< 1 > Yes
< 2 > No
1
******************Hello!*******************
**********Welcome to ATM Banking***********

****Please choose one of the options below****
< 1 >  Check Balance
< 2 >  Deposit
< 3 >  Withdraw
< 4 >  Exit

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Your Selection:	3
You choose to Withdraw a money
$$$$Your Balance is: $16444.00

Enter your amount to withdraw:
600000
+++You don't have enough money+++
Please contact to your Bank Customer Services
****Your Balance is:   $16444.00

Enter your amount to withdraw:
14000
$$$$Your withdrawing money is:  $14000.00
****Your New Balance is:   $2444.00

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Would you like to do another transaction:
< 1 > Yes
< 2 > No
1
******************Hello!*******************
**********Welcome to ATM Banking***********

****Please choose one of the options below****
< 1 >  Check Balance
< 2 >  Deposit
< 3 >  Withdraw
< 4 >  Exit

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Your Selection:	4
--------------Take your receipt!!!------------------
-----Thank you for using ATM Banking Machine!!!-----
-----BROUGHT TO YOU BY itsourcecode.com!!!-----
Program ended with exit code: 0

*/

Downloadable Source Code

Summary

This System Project With Source Code is being develop in C programming language, and this simple project can enhance the knowledge of the beginners or the students to develop their skills in programming, also this project is easy to understand the module and their variables.

Inquiries

If you have any questions or suggestions about ATM Machine C Program  , please feel free to leave a comment below.

Frequently Asked Questions

How does this C / C++ ATM simulation work?

Console ATM: card+PIN authentication, balance inquiry, withdrawal, deposit, transfer, mini-statement, PIN change. Common BSIT 1st-2nd year mini-project for banking-domain.

What compiler do I need to run this C or C++ project?

For C: gcc (GNU Compiler Collection) or MinGW (Windows). For C++: g++. IDE options: Code::Blocks (lightweight, built-in compiler), Dev-C++ (classic Philippine BSIT favorite), Visual Studio Code with C/C++ extension, CLion (paid). To compile from terminal: gcc program.c -o program (for C) or g++ program.cpp -o program (for C++), then run with ./program (Linux/macOS) or program.exe (Windows).

How do I run this C / C++ project?

Open the .c or .cpp file in your IDE (Code::Blocks, Dev-C++, VS Code). Click Build (or press F9), then Run (or press F5). From terminal: navigate to project folder, run gcc/g++ command above, then ./program. If using file storage, make sure the data file (e.g. records.txt) is in the same folder as the executable.

Can I use this C / C++ project for a BSIT capstone or thesis?

C/C++ projects are usually accepted for 1st-2nd year mini-projects or as building blocks. For a full capstone you would typically pair them with a more interactive frontend (e.g. wrap C++ logic with a Java/Python/PHP frontend, or extend to GTK/Qt for a real GUI). Standalone console C++ capstones are accepted by some panels but rare in 2026.

Why am I getting ‘undeclared identifier’ or ‘cannot find header’ errors?

Three common C/C++ issues: (1) Missing #include directive, e.g. #include for printf, #include for strcpy. (2) conio.h is Windows-only (Borland/MinGW), not POSIX, use ncurses on Linux/macOS. (3) Linker error: function declared but not defined, ensure all source files are in the compile command (gcc main.c utils.c -o app) or use a Makefile.

Where can I find more C or C++ projects with source code?

Browse the C and C++ Projects hub for the full library. For Java desktop alternatives see Java Projects. For higher-level languages see Python Projects. For BSIT capstone idea lists see 150 Best Capstone Project Ideas.

1 thought on “C Program for ATM Machine With Source Code”

Leave a Comment