Monday, January 24, 2011

BANKING

TABLE OF CONTENTS


1. Introduction
2. Proposed system
i. Description
ii. System requirements
3. Requirement Analysis
4. System Design
5. Source code
6. Testing
7. Future scope of project

INTRODUCTION


In the existing system, most of the records are maintained on paper. It becomes very inconvenient to modify the data. In the existing system, here is a possibility that the same data in different registers may have different values which means the entries of the same data do not match. This inconsistent state does not supply the concrete information which poses a problem in the case information related to particular search record.
Our project is very useful. User is no longer required to check his register in search of records, as now it can be searched over the software by choosing some options. The user need not to type in most of the information. He/she is just required to enter the desired options. On the whole it liberates the user from keeping lengthy manual records. In a nutshell, it abates the work load of an organization.
In today’s world, no one likes to perform calculations on calculator or manually when computer is there. Every one wants his/her work to be done by computer automatically and displaying the result for further manipulations.


This term paper project is just an application of the language C in developing softwares.This is the program for keeping records of the bank ,that is the entire details of the customer ,savings ,how much money he/she can deposit and withdraw from the bank, to open the new account ,create a new account ,display all account holders, balance enquiry etc.

PROPOSED SYSTEM


The following documentation is a project the “ BANKING ”. It is a detailed summary of all the drawbacks of the old system and how the new proposed system overcomes these shortcomings. The new system takes into account the various factors while designing a new system. It keeps into the account the Economical bandwidth available for the new system. The foremost thing that is taken care of is the Need and Requirements of the User.

DESCRIPTION
Before developing software we keep following things in mind that we can develop powerful and quality software

PROBLEM STATEMENT
o Problem statement was to design a module:
o Which is user friendly
o Which will restrict the user from accessing other user’s data.
o Which will help user in viewing his data and privileges.
o Which will help the administrator to handle all the changes.

FUNCTIONS TO BE PROVIDED:
The system will be user friendly and completely menu driven so that the users shall have no problem in using all options.
o The system will be efficient and fast in response.
o The system will be customized according to needs.
o Create new account
o Search ,edit and display customer details
o Display account holders
o Deposit money
o Withdraw money
o Balance enquiry


SYSTEM REQUIRMENTS

Operating system: MS Windows XP or Windows Vista
Language: C Language
Processor: Pentium IV Processor
RAM: 512 MB
Hard disk: 5 GB




REQUIREMENT ANALYSIS


This process is adopted when management of the system development, Personnel decide that the particular system needs improvement. The system development life cycle is the set of activities, carried out by the analyst, designers and users to develop and implement a system. The systems that are present in the nature follow common life cycle pattern. For example consider the raining system. Initially the rain falls into the river, river flows into sea, the sea water evaporates to form vapors, the vapors form clouds which again bring rain. Similarly consider a man made system initially a system is analyzed, designed and made operational by the efforts of system analysis. After successful operation or a number of users, the system becomes less and less effective by change in the environment. So these changes have to be incorporated in to the system by minor modifications. So the general activities from the life cycle of the system are given below:
• Select ion and identification of the system to be studied
• Preliminary study
• Defining the system
• Design and development of the system
• Implementation of the system

SYSTEM DESIGN


Then we began with the design phase of the system. System design is a solution, a “HOW TO” approach to the creation of a new system. It translates system requirements into ways by which they can be made operational. It is a translational from a user oriented document to a document oriented programmers. For that, it provides the understanding and procedural details necessary for the implementation. Here we use Flowchart to supplement the working of the new system. The system thus made should be reliable, durable and above all should have least possible maintenance costs. It should overcome all the drawbacks of the Old existing system and most important of all meet the user requirements.



SOURCE CODE


# include
# include
# include
# include //library header file
int dmenu(); //main menu
void dadd(); //add to list
void dfind(); //search from the list
void dedit(); //edit the record
void ddel(); //delete from the list
void ddisp(); //display all
void ddisp1();//display1
void ddisp2();//display2
void dwith();
void ddepo();
void dcurrent_with();
void dcurrent_depo();
void deposit();
void withdrawal();
struct dnode {
int num,bal,check;
char dlname[20], dfname[20], dtel[15];
struct dnode *dnext;
};
typedef struct dnode node;
node *dstart, *dtemp;
int i=5000,chk=1,j=15000;
int dmenu()
{
int dch;
gotoxy(30,5);
printf(" BANKING DATABASE ");
gotoxy(30,6);
printf(" ================ ");
gotoxy(3,24);
gotoxy(27,10);
printf(" 1. Create a new account");
gotoxy(27,11);
printf(" 2. Search customer details");
gotoxy(27,12);
printf(" 3. Edit customer details");
gotoxy(27,13);
printf(" 4. Delete a customer");
gotoxy(27,14);
printf(" 5. Display all account holders ");
gotoxy(27,15);
printf(" 6. Deposit money");
gotoxy(27,16);
printf(" 7. Withdrawal money");
gotoxy(27,17);
printf(" 8. Balance Enquiry");
gotoxy(27,18);
printf(" 9. Exit ");
gotoxy(27,21);
printf(" Enter your choice(1-9):");
gotoxy(55,21);
scanf("%d", &dch);
return dch;
}
void dadd()
{
int type;
node *dptr,*dprev;
dtemp=(node *)malloc(sizeof(node));
printf("\nWhich type of account you want to create?\n1->Savings\n2->Current\nenter
your choice : ");
scanf("%d",&type);
if(type==1)
{
do{
printf("\nYour Account No:");
dtemp->num=i;
printf("%d",dtemp->num);
i++;
}while(i>10000);
printf("\nFirst name: ");
scanf("%s", dtemp->dfname);
printf("Last name:");
scanf("%s", dtemp->dlname);
printf("Telephone No.: ");
scanf("%s", dtemp->dtel);
a:
printf("Deposit Sum:");
scanf("%d",&dtemp->bal);
if(dtemp->bal<500)
{
printf("INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account\n");
goto a;
}
dtemp->dnext=NULL;
if(dstart==NULL) dstart=dtemp;
else {
dprev=dptr=dstart;
while(strcmp(dtemp->dfname,dptr->dfname)>0){
dprev=dptr;
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr==dprev) {
dtemp->dnext=dstart;
dstart=dtemp;
}
else if(dptr==NULL)
dprev->dnext=dtemp;
else {
dtemp->dnext=dptr;
dprev->dnext=dtemp;
}
}
ddisp1();
}
else if(type==2)
{
do{
printf("\nYour Account No:");
dtemp->num=j;
printf("%d",dtemp->num);
j++;
}while(j>20000);
printf("\nFirst name: ");
scanf("%s", dtemp->dfname);
printf("Last name:");
scanf("%s", dtemp->dlname);
printf("Telephone No.: ");
scanf("%s", dtemp->dtel);
m:
printf("Deposit Sum:");
scanf("%d",&dtemp->bal);
if(dtemp->bal<500)
{
printf("INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account\n");
goto m;
}
dtemp->dnext=NULL;
if(dstart==NULL) dstart=dtemp;
else {
dprev=dptr=dstart;
while(strcmp(dtemp->dfname,dptr->dfname)>0){
dprev=dptr;
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr==dprev) {
dtemp->dnext=dstart;
dstart=dtemp;
}
else if(dptr==NULL)
dprev->dnext=dtemp;
else {
dtemp->dnext=dptr;
dprev->dnext=dtemp;
}
}
printf("Your provided Cheque nos.%d to %d",chk,chk+19);
ddisp2();
}
}
void dfind()
{
node *dptr;
int no,num;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter the account No : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no)
{
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL)
{
if(dptr->num>=5000 && dptr->num<10000)
{
printf("\t\t------------------------------\n");
if(dptr->num==no)
{
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\n\t\tYou are a SAVINGS account holder of our bank");
printf("\n\t\tAccount number: %d",dptr->num);
printf("\n\t\tFirst name: %s", dptr->dfname);
printf("\n\t\tLast name:%s", dptr->dlname);
printf("\n\t\tTelephone No.: %s", dptr->dtel);
printf("\n\t\tYour Balance: %d",dptr->bal);
printf("\n\t\t------------------------------\n");
}
}
else{
printf("\n\n");
printf("\t\t------------------------------\n");
if(dptr->num==no)
{
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\n\t\tYou are a CURRENT account holder of our bank");
printf("\n\t\tAccount number: %d",dptr->num);
printf("\n\t\tFirst name: %s", dptr->dfname);
printf("\n\t\tLast name:%s", dptr->dlname);
printf("\n\t\tTelephone No.: %s", dptr->dtel);
printf("\n\t\tYour Balance: %d",dptr->bal);
chk=1;
printf("\n\t\tCheque nos:%d to %d",chk,chk+19);
printf("\n\t\t------------------------------\n");
}
}
}
else
{
printf("No Matching Records Found .......\n");
}
getch();
}
void deposit()
{
int no;
node *dptr,*dprev;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter your account no : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no)
{
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL){
if(dptr->num>=5000 && dptr->num<10000)
{
ddepo();
}
else
{
dcurrent_depo();
}
}
else {
printf("\nNo Matching Records Found .......");
}
getch();
}
void ddepo()
{
node *dptr;
int bal;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
printf("Deposit Amount:");
scanf("%d",&bal);
dptr->bal+=bal;
printf("Your New balance:%d",dptr->bal);
getch();
}
void dcurrent_depo()
{
node *dptr;
int bal,ch;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
printf("\nHow do you wish to deposit?\n1->cash\n2->cheque\nEnter your choice : ");
scanf("%d",&ch);
if(ch==1)
{
printf("Deposit Amount:");
scanf("%d",&bal);
dptr->bal+=bal;
printf("Your New balance:%d",dptr->bal);
}
else if(ch==2)
{
do{
printf("\nYour Check No:");
dtemp->check=chk;
printf("%d\n",dtemp->check);
chk++;
}while(chk>21);
printf("Deposit Amount:");
scanf("%d",&bal);
dptr->bal+=bal;
printf("Your New balance:%d",dptr->bal);
}
getch();
}
void withdrawal()
{
node *dptr;
int no;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter the account No : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no){
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL)
{
if(dptr->num>=5000 && dptr->num<10000)
{
dwith();
}
else
{
dcurrent_with();
}
}
else {
printf("No Matching Records Found .......\n");
}
getch();
}
void dwith()
{
node *dptr;
int bal;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
b:
printf("Withdrawal Amount:");
scanf("%d",&bal);
if((dptr->bal-bal)<500)
{
printf("INSUFFICIENT FUND-A minimum of Rs.500/- should be maintained\n");
goto b;
}
dptr->bal-=bal;
printf("Your New balance:%d",dptr->bal);
getch();
}
void dcurrent_with()
{
node *dptr;
int no,bal,ch;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
printf("\nHow do you wish to deposit?\n1->cash\n2->cheque\nEnter your choice : ");
scanf("%d",&ch);
if(ch==1)
{
b:
printf("Withdrawal Amount:");
scanf("%d",&bal);
if((dptr->bal-bal)<500)
{
printf("INSUFFICIENT FUND-A minimum of Rs.500/- should be maintained\n");
goto b;
}
dptr->bal-=bal;
printf("Your New balance:%d",dptr->bal);
}
else if(ch==2)
{
do{
printf("\nYour Check No:");
dtemp->check=chk;
printf("%d\n",dtemp->check);
chk++;
}while(chk>21);
c:
printf("Withdrawal Amount:");
scanf("%d",&bal);
if((dptr->bal-bal)<500)
{
printf("INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account\n");
goto c;
}
dptr->bal-=bal;
printf("Your New balance:%d",dptr->bal);
}
getch();
}
void dedit()
{
node *dptr;
int no,bal;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter number to Edit : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no){
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL) {
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nOld First Name : %s", dptr->dfname);
printf("\nNew First Name : ");
scanf("%s", dptr->dfname);
printf("\nOld Last Name : %s", dptr->dlname);
printf("\nNew Last Name : ");
scanf("%s", dptr->dlname);
printf("\nPhone Number : %s", dptr->dtel);
printf("\nNew Phone Number : ");
scanf("%s", dptr->dtel);
printf("\nOld Balance : %d", dptr->bal);
m:
printf("\nNew Balance : ");
scanf("%d", &bal);
if(bal<500)
{
printf("INSUFFICIENT FUND-A minimum of Rs.500/- should be maintained\n");
goto m;
}
dptr->bal=bal;
}
else {
printf("No Matching Records Found .......\n");
}
getch();
}
void ddel()
{
node *dptr,*dprev,*dtemp;
int no;
char dyn='n';
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter your account no to delete : ");
scanf("%d",&no);
dprev=dptr=dstart;
while(dptr->num!=no){
dprev=dptr;
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL){
printf("\nDeleting Record.....Confirm [y/n]: ");
dyn=getch();
printf("\n\n---------------------------------------------------------");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No : %d\n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Balance : %d\n",dptr->bal);
printf("---------------------------------------------------------");
if(dyn=='y') {
if (dptr==dstart) {
dtemp=dstart->dnext;
free(dstart);
dstart=dtemp;
}
else {
dtemp=dptr->dnext;
free(dptr);
dprev->dnext=dtemp;
}
printf("\n\n1 Record Deleted....");
}
else
printf("\n\nRecord not Deleted....");
}
else {
printf("\nNo Matching Records Found .......");
}
getch();
}
void ddisp()
{
node *dptr;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
clrscr();
printf("\t\t------------------------------\n");
for(dptr=dstart; dptr!=NULL; dptr=dptr->dnext) {
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\n\t\tAccount number: %d",dptr->num);
printf("\n\t\tFirst name: %s", dptr->dfname);
printf("\n\t\tLast name:%s", dptr->dlname);
printf("\n\t\tTelephone No.: %s", dptr->dtel);
printf("\n\t\tYour Balance: %d",dptr->bal);
printf("\n\t\t------------------------------\n");
}
getch();
}
void ddisp1()
{
printf("\n\n");
printf("\t\t------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dtemp->dlname);
printf("\n\t\tYou are a SAVINGS account holder of our bank");
printf("\n\t\tAccount number: %d",dtemp->num);
printf("\n\t\tFirst name: %s", dtemp->dfname);
printf("\n\t\tLast name:%s", dtemp->dlname);
printf("\n\t\tTelephone No.: %s", dtemp->dtel);
printf("\n\t\tYour Balance: %d",dtemp->bal);
printf("\n\t\t------------------------------\n");
getch();
}
void ddisp2()
{
printf("\n\n");
printf("\t\t------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dtemp->dlname);
printf("\n\t\tYou are a CURRENT account holder of our bank");
printf("\n\t\tAccount number: %d",dtemp->num);
printf("\n\t\tFirst name: %s", dtemp->dfname);
printf("\n\t\tLast name:%s", dtemp->dlname);
printf("\n\t\tTelephone No.: %s", dtemp->dtel);
printf("\n\t\tYour Balance: %d",dtemp->bal);
chk=1;
printf("\n\t\tCheque nos:%d to %d",chk,chk+19);
printf("\n\t\t------------------------------\n");
getch();
}
void main()
{
int dch;
dstart=(node *)malloc(sizeof(node));
dstart=NULL;
do{
clrscr();
dch=dmenu();
clrscr();
switch(dch) {
case 1: dadd();
break;
case 2: dfind();
break;
case 3: dedit();
break;
case 4: ddel();
break;
case 5:
ddisp();
break;
case 6:
deposit();
break;
case 7:
withdrawal();
break;
case 8:
dfind();
break;
}
}while(dch!=9);
}





TESTING

Testing is the major control measure used during software development. Its basic function is to detect errors in the software. During requirement analysis and design, the output is a document that is usually textual and no executable. After the coding phase, computer programs are available that can be executed for testing purpose. This implies that testing not only, has to uncover errors introduced during coding, but also errors introduced during previous phase. Thus the goal of testing is to uncover the requirements, design and coding errors in the programs. So after testing the outputs of my project are as follows:



ONE TYPE OF OUTPUT:-


BANKING DATABASE
================



1. Create a new account
2. Search customer details
3. Edit customer details
4. Delete a customer
5. Display all account holders
6. Deposit money
7. Withdrawal money
8. Balance Enquiry
9. Exit


Enter your choice(1-9): 1

Which type of account you want to create?
1->Savings
2->Current
enter your choice : 1

Your Account No:5001
First name: AKSHI
Last name:SHARMA
Telephone No.: 2251678
Deposit Sum:400
INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account
Deposit Sum:1000


------------------------------

HELLO SHARMA WELCOME TO OUR BANK
You are a SAVINGS account holder of our bank
Account number: 5001
First name: AKSHI
Last name:SHARMA
Telephone No.: 2251678
Your Balance: 1000
------------------------------

SECOND TYPE OF OUTPUT:-

BANKING DATABASE
================



1. Create a new account
2. Search customer details
3. Edit customer details
4. Delete a customer
5. Display all account holders
6. Deposit money
7. Withdrawal money
8. Balance Enquiry
9. Exit


Enter your choice(1-9): 7

Enter the account No : 5001

-----------------------------------------------

HELLO SHARMA WELCOME TO OUR BANK
Account No:5001
First Name : AKSHI
Last Name : SHARMA
Phone Number : 2251678
Your Balance : 1000
Withdrawal Amount:300
Your New balance:700



FUTURE SCOPE OF THE PROJECT

Our project will be able to implement in future after making some changes and modifications as we make our project at a very low level. So the modifications that can be done in our project are:-

This project can be implement only at small bank branches. It cannot be used for large scale bank purposes.

No comments:

Post a Comment