×

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

Length of an Array Function in C

In C, there is no built-in function to get the length of an array. However, there are a few ways you can determine the length of an array. It is necessary...

15 minutes read.

GPA Calculator in C

GPA stands for Grade Point Average. This GPA is used to measure the student's academic performance in educational institutes. By using this, segregation takes place and lets us know how...

4 minutes read.

Pi() Function in C

Pi: Mathematic constants are not defined in the c or c++ programming languages. To use the Mathematical constants firstly, we have to define the _USE_MATH_DEFINES and then declare the cmath and...

3 minutes read.

What is a buffer in C?

A buffer is an area of memory set aside for the temporary storage of data. A data buffer (or just buffer) is a region of a physical memory storage used to...

5 minutes read.

Run Time Polymorphism in C

What is polymorphism? Polymorphism refers to the existence of various forms. Polymorphism can be simply defined as a message's capacity to be presented in multiple forms. An individual who can have...

4 minutes read.

Pointer to pointer in C

A pointer to another pointer is another type of multiple indirections and a chain of many pointers. Generally, a pointer consists of the address of the variable. Once a pointer to...

4 minutes read.

Int in C

The keyword int in C programming stands for integer and it is a data type which is used for variable declarations or declaration of functions of different types. Similar to...

4 minutes read.

Volatile in C

Introduction A volatile keyword is a qualifier in C. Qualifiers are nothing but keywords which are used to modify the properties of a variable. Qualifiers are of two types: 1) Const The const type...

3 minutes read.

Character Set in C

Introduction Every language has some basic elements which are used to represent information. The English language includes alphabets which together shape a sentence, after which the sentences are used to shape...

3 minutes read.

Array Example in C

An array is a collection of similar types of data elements arranged in such a way that any number of values can be assigned to it. It can store values that...

4 minutes read.

How to use Typedef Struct in C

The “typedef” is a predefined keyword in C programming language which is used to declare the new name to an existing type of variable. For better understanding, if you declare a...

3 minutes read.

How to Calculate Time Complexity in C?

What is time complexity? An algorithm's time complexity measures how long it takes to complete a task in relation to the size of the input. It should be noted that the...

5 minutes read.

Find a subarray with a given sum.

Find a subarray with a given sum. The simple solution is to recognize all subarrays one by one and to check each subarray's sum. The quick solution follows the following program. Algorithm: From...

4 minutes read.

C Decision control statement

Decision Making C conditional statements are used to specify one or more conditions. The statements will be executed if the condition becomes true otherwise alternative statement will be executed if the...

3 minutes read.

Quick sort in C

Quick-sort, in the same way, like a merge sort, follows the principle of the divide and conquer algorithm. It then picks an element as pivot and partitions, and the given...

4 minutes read.

Evaluation of Arithmetic Expression in C

We can use the "eval" function in C to evaluate an arithmetic expression stored as a string. However, using "eval" is generally considered bad practice and can lead to security...

4 minutes read.

Use of Structure in C

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

4 minutes read.

C Data type

Data Types in C with Examples Data types are used to define the type of data that a variable can store to perform a specific operation.ANSI C provides three types of...

2 minutes read.

Entry Control Loop in C

Initially, an entry control loop verifies the termination condition at the entry point. After that, its control passes to the main body of the while or for loop if the...

3 minutes read.

While-Loop in C

Syntax of While Loop The syntax that has been used for the while loop in C programming language is: while (termination condition) {   // the body of the loop  } Working of While-Loop Initially, we...

3 minutes read.