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 PROJECT | PROJECT 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 |
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“.

- Step 2: Choose console application.
Second click the “console application” and after that click “next“.

- Step 3: Choose C language.
Third choose “C language” and click “next“.

- Step 4: Name Your Project.
Fourth name the project you’ve created and click “next” after that click “finish“.

- 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.
Related Articles
- ER Diagram for ATM System | Entity Relationship Diagram
- ATM Program In Python With Source Code
- Simple ATM Program in C++ with Source Code
- Sequence Diagram For ATM System | UML
- Activity Diagram for ATM Management System
- ATM Project In Java With Source Code
- ATM System Class Diagram | UML
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
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.





So Many errors
As like ⁢ is with header files
Compiler show error