×

Bank Account System in C using File Handling

This tells about the creation of bank account system using the C language and handling of files in C.

Approach

Let us see the approaches and the functions how they are covering their explanations in detail:

  1. With the help of switch case statements, first we create a menu and for that menu, we create different functions in the function main. These are characterized into four different functions:
    • Account (): an account function is used to create a new account.
    • Transfer money (): Transfer money is a function used for transferring money.
    • Check balance ():   check balance is a function used for checking money in an account.
    • Login (): The Login function is used for account login.
  2. First account creation should be done by calling the function account (),
  3. After creation storing of the data should be done by using the file handling functions.
    After creation and storing next comes the transfer of money, now the user can transfer an amount by calling the function transfer money (), and after for checking the amount present in an account we call the function check balance ().

File handling concepts is used for the storing the data of the users and reading of the data from a file and storing of a structure because for reading and writing it is easy.

Implementation

Let’s see to a below program implementation of every module and at last merging all the modules because for creating a full working program.

1. Creating Bank Account

First, we should take all the input from the user and make structure for storing data in a file.

// creating account functions for users
void account(void)
{
 char password [20];
 int password length, i, seek = 0;
 char ch;
 FILE *fp, *fu;
 struct pass u1;
 struct user pass p1;
 struct user pass u2;
 // file opening is done for writing the data
 fp = fopen ("username.txt", "ab");
 // Inputs
 system("cls");
printf ("\n\n!!!!!CREATE ACCOUNT!!!!!");
printf ("\n\FIRST NAME..");
scanf ("%s", &u1. fname);
printf ("\n\n\n Last NAME..");
scanf ("%s", &u1. lname);
printf ("\n\n FATHER’s NAME..");
scanf ("%s", &u1. fathname);
printf ("\n\n MOTHER’s NAME..");
scanf ("%s", &u1. mothname);
printf ("\n\nADDRESS.");
scanf ("%s", &u1. address);
printf ("\n\nACCOUNT TYPE");
scanf ("%s", &u1. type account);
printf ("\n\nDATE OF BIRTH.");
 printf("\nDATE-");
scanf ("%d", &u1. date);
 printf("\nMONTH-");
scanf ("%d", &u1. month);
 printf("\nYEAR-");
scanf ("%d", &u1. year);
printf ("\n\nADHAR NUMBER");
scanf ("%s", u1. adharnum);
printf ("\n\nPHONE NUMBER");
scanf ("%s", u1. pnumber);
printf ("\n\nUSERNAME. ");
scanf ("%s", &u1. username);
printf ("\n\nPASSWORD.");
 // password is taken with the help of stars
 for (i = 0; i < 50; i++)  
 {
   ch = getch ();
   if (ch! = 13)  
   {
     password[i] = ch;
     ch = '*';
printf ("%c", ch);
   }
Else
 break;
 }
 // file writing
fwrite (&u1, size of(u1), 1, fp);
 // closing of a file
 fclose(fp);
 // one more function is called after account creation
account created ();
}

2. Transfer Money

First take a username for transferring the money and write the amount in file after opening record.

Example:

// for transferring money function used
void transfer money(void)
{
 int i, j;
 FILE *fm, *fp;
 struct pass u1;
 struct money m1;
 char usernamet [20];
 char usernamep [20];
 system("cls");
 // for reading name of a user opening file
 fp = fopen ("username.txt", "rb");
 // // Another file is created
//writing username and amount for knowing to whom transferring
 fm = fopen ("mon.txt", "ab");
gotoxy (33, 4);
printf ("---- TRANSFER MONEY ----");
gotoxy (33, 5);
printf ("========================");
gotoxy (33, 11);
printf ("FROM (your username).. ");
scanf ("%s", &usernamet);
gotoxy (33, 13);
printf (" TO (username of person)..");
scanf ("%s", &usernamep);
 //looks for the username whether it is present on that file or not
 while (fread (&u1, size of(u1), 1, fp))
 {
   if (strcmp (usernamep,
              u1.username) == 0)  
   {
strcpy (m1.usernameto,
            u1.username);
strcpy (m1. userpersonfrom, usernamet );
   }
 }
gotoxy (33, 16);
 // input is amount 
printf ("ENTER THE AMOUNT TO BE TRANSFERRED..");
scanf ("%d", &m1. money1);
 // Writing to the file
fwrite (&m1, size of(m1), 1, fm);
gotoxy (0, 26);
printf (
   "--------------------------------------------------"
   "--------------------------------------------");


gotoxy (0, 28);
printf (
   "--------------------------------------------------"
   "--------------------------------------------");
gotoxy (0, 29);
printf ("transferring amount, please wait..");
gotoxy (10, 27);
 for (i = 0; i < 70; i++)
 {
   for (j = 0; j < 1200000; j++)  
   {
     j++;
     j--;
   }
printf ("*");
 }
gotoxy (33, 40);
printf ("AMOUNT SUCCESSFULLY TRANSFERRED....");
getch ();
 // file closing
 fclose(fp);
 fclose(fm);
 display(usernamet);
}

3. Checking Balance

Opening a file containing all the transfer records, reading them one at a time, and comparing them to the username supplied to the function to retrieve the appropriate transfer records.

Example:

void check balance (char username2[])
{
 system("cls");
 FILE* fm;
 struct money m1;
 char ch;
 int i = 1, summoney = 0;
 fm = fopen ("mon.txt", "rb");
 int k = 5, l = 10;
 int m = 30, n = 10;
 int u = 60, v = 10;
gotoxy (30, 2);
printf ("==== BALANCE DASHBOARD ====");
gotoxy (30, 3);
printf ("***************************");
gotoxy (k, l);
printf ("S no.");
gotoxy (m, n);
printf ("TRANSACTION ID");
gotoxy (u, v);
 printf("AMOUNT");
 while (fread (&m1, size of(m1), 1, fm))  
 {
   if (strcmp (username2,  
              m1. username to) == 0)  
   {
gotoxy (k, ++l);
printf ("%d", i);
     i++;
gotoxy (m, ++n);
printf ("%s", m1. user person from);
gotoxy (u, ++v);
printf ("%d", m1. money1);
     summoney = summoney + m1. money1;
   }
 }
gotoxy (80, 10);
printf ("TOTAL AMOUNT");
gotoxy (80, 12);
printf ("%d", summoney)
 fclose(fm);
 display(username2);
}

4. Login Functionality

In order to provide login capability, we open the file, compare the username entered by the user during registration, and, if the username is accurate and matches the record already in our file, log the user in.

Example:

// logic function for checking username
void login(void)
{
 system("cls");
 char username [50];
 char password [50];
 int i, j, k;
 char ch;
 FILE *fp, *fu;
 struct pass u1;
 struct user pass u2;
 fp = fopen ("username.txt", "rb");
 if (fp == NULL)  
 {
printf ("ERROR IN OPENING FILE");
 }


gotoxy (34, 2);
printf (" ACCOUNT LOGIN ");
gotoxy (7, 5);
printf ("***********************************************"
        "********************************");
gotoxy (35, 10);
printf ("==== LOG IN ====");
gotoxy (35, 12);
printf ("USERNAME.. ");
scanf ("%s", &username);
gotoxy (35, 14);
printf ("PASSWORD..");
 for (i = 0; i < 50; i++)  
 {
   ch = getch ();
   if (ch! = 13)
   {
     password[i] = ch;
     ch = '*';
printf ("%c", ch);
   }
   else
     break;
 }


 // Checking name of the user exists or not
 while (fread (&u1,   size of(u1), 1, fp))  
 {
   if (strcmp (username,  
              u1. username) == 0)  
   {
loginsu ();
     display(username);
   }
 }


 // file closing
 fclose(fp);
}
void loginsu(void)
{
 int i;
 FILE* fp;
 struct pass u1;
 system("cls");
printf ("Fetching account details.....\n");
 for (i = 0; i < 20000; i++)  
 {
   i++;
   i--;
 }
gotoxy (30, 10);
printf ("LOGIN SUCCESSFUL....");
gotoxy (0, 20);
printf ("Press enter to continue");
getch ();
}
Bank Account System in C using File Handling
Bank Account System in C using File Handling
Bank Account System in C using File Handling
Bank Account System in C using File Handling

Related Topics

C program to find factorial of a number using Recursion

What does the term "Factorial of a Number" mean? In mathematics, factorial is the product of all positive integers that are less than or equal to a certain positive integer, and...

2 minutes read.

fopen() function in C

fopen() function, is one of the file handling functions. It is used to open the existing file and perform operations on the file. If the file does not exist, it...

3 minutes read.

Const vs Volatile in C

Introduction Qualifiers are nothing but keywords which are used to modify the properties of a variable. Const and Volatile keywords are qualifiers in C. The Const qualifier is applied to the...

4 minutes read.

Difference between Array and List in C

C# Array vs List is where the abstraction and implementation of human computing meet.  Arrays are incredibly related to the hardware concept of contiguous and contiguous memory, where each part is...

3 minutes read.

Format Specifier in C

Format Specifier in C Format specifiers can be described as an operator that is used to print the data referred by any object or variable in combination with the printf ()...

3 minutes read.

Builtin functions of GCC compiler

Certain built-in functions are present in the GCC compiler. These features are as follows: Function_ built in_popcount (x) The number of 1s in data of the integer type can be counted using...

3 minutes read.

Float in islower() in C

Introduction: This article briefly discusses the float in islower() in C. The islower() function checks if the input character passed inside the function is lowercase. Lowercase letters include (a-z). The islower()...

4 minutes read.

Array Of Structures in C

The C programming language allows us to store multiple elements of the same type in arrays. We can use strings to store multiple elements of a character data type. Still,...

4 minutes read.

How to return a Pointer from a Function in C?

In the C programming language, pointers are variables that hold the address memory location of another variable. We could also input pointers to a function and return pointers from a...

3 minutes read.

Prime Number code in C

Prime Number Programs in C language In this tutorial, we will learn how to check whether the given number is a prime number or not, and how to print all the...

4 minutes read.

Git Hooks

Git Hooks Overview Just like other version control systems, Git has its way to deliver customized scripts whenever some important activity occurs. The hooks act just like the triggers or catalysts...

4 minutes read.

Call Back Function in Embedded C

Callback function are one the most remarkable systems in C. A callback function is any code that is passed as a contention to another code, so this is the last...

3 minutes read.

Comma Operator in C

What is a comma operator? The comma operator in the C programming language has the least priority. The comma operator is essentially a binary operator that operates on the first operand...

4 minutes read.

Do WHILE LOOP in C Programming Examples

Before understanding the programming examples of the Do-While loop, we have to know what is Do-While loop in C. So, let's start with the definition of the Do-While loop. What is...

5 minutes read.

Find reverse of an array in C using functions

Introduction: Here, we describe how to find the reverse array in C using functions. Suppose you have an array with n elements. I need to display the elements present in...

3 minutes read.

Bigint (BIG INTEGERS) in C with Example

The maximum number of digits that a long, long int can have in C/C++ is 20. The issue is how to store the 22-digit number, which is difficult to do...

9 minutes read.

Hexadecimal to Binary in C

What is hexadecimal? Hexadecimal defines a sequence of numbers centered on-16, i.e., before assigning the next number to a new location, it describes a numbering scheme that includes 16 sequential numbers as basic...

2 minutes read.

Decimal to Binary in C

What is a decimal number? A decimal number is a number represented in the decimal number system. This system of binary conversion uses base 10 to represent numbers, i.e. the digits...

3 minutes read.

Pointer arithmetic in C

In the C programming language, a pointer is an address which stores a numeric value. Hence, a developer can perform several arithmetic operations on the same just as one does...

4 minutes read.

Math functions in C

Math functions in C: In the C programming language, the compiler allows the developer to perform mathematical operations through the header’s functions, represented by <math.h>. The <math.h> header defines various mathematical...

3 minutes read.