KoneruLakshmaiah Education Foundation (Deemed to be University)
FRESHMAN ENGINEERING DEPARTMENT A Project Based Lab Report On BANKING SYSTEM
SUBMITTED BY: I.D NUMBER
NAME
180040375
A.MANOHAR REDDY
180040379
P V N ARUN
180040382
K.CHANDRA HAS
180040386
B.JASWANTH
UNDER THE GUIDANCE OF DR.SHAIK RAZIA ASSOCIATE PROFESSOR
KL UNIVERSITY Green fields, Vaddeswaram – 522 502 Guntur Dt., AP, India. 1
DEPARTMENT OF BASIC ENGINEERING SCIENCES-1
CERTIFICATE This is to certify that the project based laboratory report entitled BANKING SYSTEM submitted by Mr. A.MANOHAR REDDY, P V N ARUN, K CHANDRA HAS , B JASWANTH bearing Regd. No. 180040375 , 180040379 , 180040382 , 180040386 to the Department of Basic Engineering Sciences-1, KL
University in partial fulfillment of the requirements for the completion of a project based Laboratory in “TECHNICAL SKILLS-1(CODING)”course in I B Tech 2nd Semester, is a Bonafide record of the work carried out by her under my supervision during the academic year 2018 – 2019.
PROJECT SUPERVISOR
HEAD OF THE DEPARTMENT
T. Vamshidar
DR.SHAIK RAZIA
2
ACKNOWLEDGEMENTS It is great pleasure for me to express my gratitude to our honorable President Sri. Koneru Satyanarayana, for giving the opportunity and platform with facilities in accomplishing the project-based laboratory report. I express the sincere gratitude to our principal ProfDr. N.Venkataram for his administration towards our academic growth. I express sincere gratitude to HOD-BES-1Dr. T. Vamshidar for his leadership and constant motivation provided in successful completion of our academic semester. I record it as my privilege to deeply thank for providing us the efficient faculty and facilities to make our ideas into reality. I express my sincere thanks to our project supervisor N.Sree ram for his/her novel association of ideas, encouragement, appreciation and intellectual zeal which motivated us to venture this project successfully. Finally, it is pleased to acknowledge the indebtedness to all those who devoted themselves directly or indirectly to make this project report success
I.D NUMBER
NAME
180040375
A.MANOHAR REDDY
180040379
P V N ARUN
180040382
K.CHANDRA HAS
180040386
B.JASWANTH
3
ABSTRACT
Banking system can be considered as the one of the great tool supporting many customers as well as banks and financial institutions to make may banking activities through online. Every day banks need to perform many activities related to users which needs huge infrastructure with more staff members etc. But the online banking system allows the banks to perform these activities in a simpler way without involving the employees for example consider online banking, mobile banking and ATM banking. But banking system needs to be more secure and reliable because each and every task performed is related to customer’s money. Especially authentication and validation of user access is the major task in the banking systems.
Existing system: The existing system is having many problems such as security problems, more human involvement which is a time consuming process with many manual calculations. It even includes the machine damage and signature verification process for secured transactions which allows the customers and banks to waste their valuable time and resources. The major problem in online banking system is unauthorized user access with fake passwords. The hackers are trying to hack the user accounts and are performing different unauthorized transactions.
Proposed System : The proposed system is highly computerized in which the data related to user accounts will be secured high with high accuracy that even reduces the machine damage and human made errors and this existing system is highly efficient to offer best services to the customers as well as banks because it has user friendly access that consumes less time when compared with normal banking system.
4
INDEX
S.NO
TITLE
PAGE NO
1
Introduction
7
2
Aim of the Project
8
2.1
Advantages & Disadvantages
8
2.2
Future Implementation
8
3
Software & Hardware Details
9
4
Data Flow Diagram
10-12
5
Implementation
13-16
6
Algorithm
7
Integration and System Testing
8
Conclusion
17 18-19 20
5
INTRODUCTION Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective way. Data Structures is about rendering data elements in terms of some relationship, for better organization and storage. For example, we have some data which has, player's name "Virat" and age 26. Here "Virat" is of String data type and 26 is of integer data type. We can organize this data as a record like Player record, which will have both player's name and age in it. Now we can collect and store player's records in a file or database as a data structure. Forexample: "Dhoni" 30, "Gambhir" 31, "Sehwag" 33 If you are aware of Object Oriented programming concepts, then a class also does the same thing, it collects different type of data under one single entity. The only difference being, data structures provides for techniques to access and manipulate data efficiently. In simple language, Data Structures are structures programmed to store ordered data, so that various operations can be performed on it easily. It represents the knowledge of data to be organized in memory. It should be designed and implemented in such a way that it reduces the complexity and increases the efficiency.
Structures Structure is a user-defined datatype in C language which allows us to combine data of different types together. Structure helps to construct a complex data type which is more meaningful. It is somewhat similar to an Array, but an array holds data of similar type only. But structure on the other hand, can store data of any type, which is practical more useful. Forexample: If I have to write a program to store Student information, which will have Student's name, age, branch, permanent address, father's name etc, which included string values, integer values etc, how can I use arrays for this problem, I will require something which can hold data of different types together. In structure, data is stored in form of records.
Defining a structure struct keyword is used to define a structure. struct defines a new data type which is a collection of primary and derived datatypes. Syntax: struct [structure_tag] { //member variable 1 //member variable 2 //member variable 3 ... }[structure_variables]; As you can see in the syntax above, we start with the struct keyword, then it's optional to provide your structure a name, we suggest you to give it a name, then inside the curly braces, 6
we have to mention all the member variables, which are nothing but normal C language variables of different types like int, float, array etc. After the closing curly brace, we can specify one or more structure variables, again this is optional.
Note: The closing curly brace in the structure type declaration must be followed by a semicolon(;).
Functions in C A function is a block of code that performs a particular task. There are many situations where we might need to write same line of code for more than once in a program. This may lead to unnecessary repetition of code, bugs and even becomes boring for the programmer. So, C language provides an approach in which you can declare and define a group of statements once in the form of a function and it can be called and used whenever required. These functions defined by the user are also know as User-defined Functions C functions can be classified into two categories, ♦Library functions ♦ User-defined functions ♦ Library functions are those functions which are already defined in C library, example printf(), scanf(), strcat() etc. You just need to include appropriate header files to use these functions. These are already declared and defined in C libraries. ♦ A User-defined functions on the other hand, are those functions which are defined by the user at the time of writing program. These functions are made for code reusability and for saving time and space.
7
AIM To implement Bank Details of a Customer: Advantages of Functions: 1. It provides modularity to your program's structure. It makes your code reusable. You just have to call the function by its name to use it, wherever required advantages . 2. In case of large programs with thousands of code lines, debugging and editing becomes easier if you use functions. 3. It makes the program more readable and easy to understand.
Disadvantages of Functions: While adding a user function can speed up code that is best written in C rather than a scripting language, it is not always the best choice for implementation: 1. It requires the programmer to be well versed in C, including pointers, function pointers, dynamic memory allocation, and debugging. Often the headaches C causes, especially for the neophyte, far outweigh any run-time savings. Bugs in the code might not manifest themselves until well after the C function ends, making debugging a nightmare. 2.There may not be any speed advantage. Vortex is pretty fast at most operations; for small functions it may be just as fast - and much easier - to write the function in Vortex. Since Vortex already has powerful data processing functions, and the ability to execute external programs, it may be faster to <EXEC> the C code in a separate program and parse it in Vortex, especially as a quick prototype. 3.It's less portable. A C function means a new Vortex executable must be made if the hardware platform changes. Other Vortex users won't have the custom function in their taxis executable.
8
Advantages of Structured Programming: ●Easier to read and understand ●User Frindly ●Easier to Maintain ●Mainly problem based instead of being machine based ●Development is easier as it requires less effort and time ●Easier to Debug ●Machine-Independent, mostly.
Disadvantages of Structured Programming: 1) Since it is Machine-Independent, So it takes time to convert into machine code. 2) The converted machine code is not the same as for assembly language. 3) The program depends upon changeable factors like data-types. Therefore it needs to be updated with the need on the go. 4) Usually the development in this approach takes longer time as it is language dependent. Whereas in the case of assembly language, the development takes lesser time as it is fixed for the machine.
9
SYSTEM REQUIREMENTS
SOFTWARE REQUIREMENTS: The major software requirements of the project are as follows: Language : language ( c ) Dev C++ .
Operating system: Windows 10.
HARDWARE REQUIREMENTS: The hardware requirements that map towards the software are as follows: RAM Processor
: 8GB : i5 8th gen
10
ALGORITHM Step 1:Start. Step 2:Read the details of the customer. Step 3:Using structures create a structure to display details of customer. Step 4:Create Return functions to display bank customer details. Step 5: Create the account of the customer using input details. Step 6: Display the deposited amount the into account. Step 7:Display the withdraw amount from the account. Step 8:Display the account information releated to customer. Step 9:Log out from the all the details of the account. Step 10:Stop.
11
IMPLEMENTATION #include <stdio.h> #include #include <string.h> #include <stdlib.h> // Structure declaration struct acc_type { char bank_name[20]; char bank_branch[20]; char acc_holder_name[30]; int acc_number; char acc_holder_address[100]; float available_balance; }; struct acc_type account[20];
int num_acc; void Create_new_account(); void Cash_Deposit(); void Cash_withdrawl(); void Account_information(); void Log_out(); void display_options(); /* main program */ int main() { char option; num_acc=0; while(1) { printf("\n***** Welcome to Bank Application *****\n"); display_options(); printf("Please enter any options (1/2/3/4/5/6) "); printf("to continue : "); option = getch(); printf("%c \n", option); switch(option) { case '1': Create_new_account(); break; case '2': Cash_Deposit(); 12
break; case '3': Cash_withdrawl(); break; case '4': Account_information(); break; case '5': return 0; case '6': system("cls"); break; default : system("cls"); printf("Please enter one of the options"); printf("(1/2/3/4/5/6) to continue \n "); break; } } return 0; } /*Function to display available options in this application*/ void display_options() { printf("\n1. Create new account \n"); printf("2. Cash Deposit \n"); printf("3. Cash withdrawl \n"); printf("4. Account information \n"); printf("5. Log out \n"); printf("6. Clear the screen and display available "); printf("options \n\n"); } /* Function to create new account */ void Create_new_account() { char bank_name[20]; char bank_branch[20]; char acc_holder_name[30]; int acc_number; char acc_holder_address[100]; float available_balance = 0; fflush(stdin); printf("\nEnter the bank name : "); scanf("%s", &bank_name); printf("\nEnter the bank branch : "); scanf("%s", &bank_branch); printf("\nEnter the account holder name : "); scanf("%s", &acc_holder_name); printf("\nEnter the account number(1 to 10): "); scanf("%d", &acc_number); printf("\nEnter the account holder address : "); 13
scanf("%s", &acc_holder_address); strcpy(account[acc_number-1].bank_name,bank_name); strcpy(account[acc_number-1].bank_branch,bank_branch); strcpy(account[acc_number-1].acc_holder_name, acc_holder_name); account[acc_number-1].acc_number=acc_number; strcpy(account[acc_number-1].acc_holder_address, acc_holder_address); account[acc_number-1].available_balance=available_balance; printf("\nAccount has been created successfully \n\n"); printf("Bank name : %s \n" , account[acc_number-1].bank_name); printf("Bank branch : %s \n" , account[acc_number-1].bank_branch); printf("Account holder name : %s \n" , account[acc_number-1].acc_holder_name); printf("Account number : %d \n" , account[acc_number-1].acc_number); printf("Account holder address : %s \n" , account[acc_number-1].acc_holder_address); printf("Available balance : %f \n" , account[acc_number-1].available_balance); //num_acc++; } // Displaying account informations void Account_information() { register int num_acc = 0; //if (!strcmp(customer,account[count].name)) while(strlen(account[num_acc].bank_name)>0) { printf("\nBank name : %s \n" , account[num_acc].bank_name); printf("Bank branch : %s \n" , account[num_acc].bank_branch); printf("Account holder name : %s \n" , account[num_acc].acc_holder_name); printf("Account number : %d \n" , account[num_acc].acc_number); printf("Account holder address : %s \n" , account[num_acc].acc_holder_address); printf("Available balance : %f \n\n" , account[num_acc].available_balance); num_acc++; 14
} } // Function to deposit amount in an account void Cash_Deposit() { auto int acc_no; float add_money; printf("Enter account number you want to deposit money:"); scanf("%d",&acc_no); printf("\nThe current balance for account %d is %f \n", acc_no, account[acc_no-1].available_balance); printf("\nEnter money you want to deposit : "); scanf("%f",&add_money); while (acc_no=account[acc_no-1].acc_number) { account[acc_no-1].available_balance= account[acc_no-1].available_balance+add_money; printf("\nThe New balance for account %d is %f \n", acc_no, account[acc_no-1].available_balance); break; }acc_no++; } // Function to withdraw amount from an account void Cash_withdrawl() { auto int acc_no; float withdraw_money; printf("Enter account number you want to withdraw money:"); scanf("%d",&acc_no); printf("\nThe current balance for account %d is %f \n", acc_no, account[acc_no-1].available_balance); printf("\nEnter money you want to withdraw from account "); scanf("%f",&withdraw_money); while (acc_no=account[acc_no-1].acc_number) { account[acc_no-1].available_balance= account[acc_no-1].available_balance= account[acc_no-1].available_balance-withdraw_money; printf("\nThe New balance for account %d is %f \n", acc_no, account[acc_no-1].available_balance); break; }acc_no++; } 15
INTEGRATION AND SYSTEM TESTING OUTPUTS
16
CONCLUSION Banking systems have been with us for as long as people have been using money. Banks and other financial institutions provide security for individuals, businesses and governments, We have looked at some of the different abstract data types that can be implemented using arrays, and some of the operations that are used to manipulate the structures. It is worth noting that there is a large amount of commonality between the structures and a relatively little amount of code is needed to implement the operations. You are encouraged to write programs as a series of small functions passing data values between them.
17