Vous êtes sur la page 1sur 78

PROJECT REPORT

ON
BANKING MANAGEMENT SYSTEM

COURSE: - B.TECH.
SUBMITTED BY:-

YEAR: - 2009-10

Neha Bansal(0701910041)
Evangeline Kharlyngdoh(0701910021)

BONAFIDE CERTIFICATE
GS MANDALS

Certified that this project report Banking Management System is the


bonafide work by

Neha Bansal (0701910041)


Evangeline Kharlyngdoh (0701910021)

Who carried out the project work under my supervision, towards partial
fulfillment of the requirements of the Degree of Bachelor of Technology
in Computer Science & Engineering from Uttar Pradesh Technical
University, Lucknow.

Mr. Naveen Tyagi

Mr. Achal Agarwal

HEAD OF THE DEPARTMENT

SUPERVISOR (Lecturer)

Computer Science &

Computer Science &

Engineering

Engineering

Marathwada Institute Of

Marathwada Institute Of

Technology,

Technology,

Bulandshahr.

Bulandshahr.

CERTIFICATE OF AUTHENTICATION
We solemnly declare that this project report on Banking Management System is
the bonafide work done purely by us, carried out under the supervision of Mr.
Achal Agarwal, towards partial fulfillment of the requirements of the Degree of
Bachelor of Technology in Computer Science & Engineering from Uttar Pradesh
Technical University, Lucknow during the year 20092010.
It is further certified that this work has not been submitted, either in part of in full, to
any other department of the UPTU, or any other University, institution or elsewhere,
or for publication in any form.

NAME
Neha Bansal

ROLL NO.
-

Evangeline Kharlyngdoh -

0701910041
0701910021

ACKNOWLEDGEMENT

We are highly thankful to (H.O.D.) for providing a great opportunity to


develop this mini project. Apart from the effort of us , the success of any project
depends largely on the encouragement & guidelines of many others. We take this
opportunity to express our gratitude to the people who have been instrumental in the
successful completion of this project.
We would like to show our heartiest appreciation to our project
supervisor (Mr. Achal Agarwal ).We cant say thank enough for your tremendous
support & help. We feel motivated & encouraged every time we attended your
meeting. Without their encouragement & guidance this project would not have been
materialized. The guidance & support received from all the members who
contributed and who are contributing to this project was vital for the success of this
effective project. We are grateful for their constant support and help.
Neha Bansal (0701910041)
Evangeline Kharlyngdoh (0701910021)

INDEX
i. Introduction to Banking Management System.
ii. Objectives.
iii. Importance
iv. H/W and S/W Requirements.
v. System analysis.
vi. System design.
vii. Input design
viii. Output design
ix. Test plan
x. Maintenance
xi. Functions
xii. Introduction to C
xiii. MS access.
xiv. Database Structure
xv. Module description
xvi. ER diagram.
xvii. Snapshots
xviii. Conclusion
xix. Coding.
xx. Bibliography.

INTRODUCTION :
AIM:To develop a software for solving financial applications of a
customer in banking environment in order to nurture the needs of
an end banking user by providing various ways to perform banking
tasks. Also to enable the users workspace to have additional
functionalities which are not provided under a conventional
banking software.

This System is developed to solve the problem of the Bankers who are unable to
keep record of thousands of customers and their transactions.Easy to create new
account of customer, up to date account informationProvide easily deposit and
withdrawal of money. A little overview of this system is given below:How it helps in Banking Management: This software provides a database to store huge amount of data.
All the data related to the banking transactions can be move simply.
How it is useful for customers also: This banking management software saves customers costly time.
On spot updation in account directories takes place which is very excellent
features.
Is it safe: The whole information stored in the database is safe because it is used locally
in particular bank and not spread out over the Internet.
The whole data is the password protected which prevents unauthorized access
to the database.
Benefits:
It can avoid crowd inside the bank.
Much easier to use than the conventional method of banking.
It is much faster application.
All information is available just on single click.

OBJECTIVES OF THE PROJECT

To provide the customer with the facility of fast and


computerized banking process.
Provide the easy way for opening and closing the
banking account.
To maintain the database of customer for better
management.
In this project various kinds of reports are generate like
list of all the banking customer account whose balance
is less then opening amount for cash withdrawal.i
Database of customer history is also maintained for
better service to the costumer
Various kinds of queries like Interest rate, information
about available balance on customers account.
To provide ATM and Banking management system.
To provide easily display account on banking and Atm

IMPORTANCE

Importance Of B.M.S.:It has a great importance in Banks, which has many


transactions like account opening, account closing,
depositing, withdrawals, etc these can not be managed easily
manually. So one system can be required which can easily
manage the wide activities of managing the various
transactions taking place. We can overcome this problem by
using Banking Management system.
Advantage Of Using Computer Over Manual System:When size of a Bank grows, Department, Staff, customers and
the transactions etc also increase manually we can manage
up to some limit but when the size of work become large
problem occurs. So Banking Management System helps in
this type of problems. We can easily keep the information
related to the banks and easily maintain and update the
information.
In short, the advantage of using computers over the manual
management system can be understood through the following
parts:1. Time saving
2. Economical
3. Quick
4. Accurate
5. Better control
6. Increase efficiency
HARDWARE AND SOFTWARE REQUIREMENTS

Selecting proper H/W and S/W combination for the


development the project is another issue of great importance
in the project development cycle.
Following are the H/W and S/W configuration used
developing the system Hospital Management System.

in

H/W Configuration:1. It uses a Pentium

VI processor which at a speed of 133

MHZ.
2. The minimum capacity of RAM (Random Access Memory) is
512MB
3. Hard disk capacity is 2 GB.
Software Worked Upon:1. Operating system windows 9x or higher.
2. Turbo C as front end.
3. Microsoft Access DBMS as back end.

Windows Environment:-

Windows is one of the member of the graphical user


interface (GUI) based family of ms operating system, its
versions being windows 3.x, windows 95, windows 98,
windows 2000, windows NT and the recent release being the
windows XP work station.
A Microsoft window is optimized to be a file, print and
application server that can handle tasks for organizations
ranging from small work groups to large enterprise networks.
It provides foundation for a new generation of server
application and tools, as well as for file and print services. Its
client/server platform is designed to integrate current and
future technologies and provide competitive advantage
through better information access.

SYSTEM ANALYSIS
Analysis:-

10

Analysis is the study of problem prior to make some action. In


the specific domain of computer system development,
analysis refers to the study of some business areas
application, usually leading to the specification of new
system. The action that is to be taken later on is
implementation of system.
While studying or analyzing an analysis has to involve deeply
in analysis task.
Steps In The System Development Life Cycle:Every task of our daily life can be perform in a appropriate
manner by adopting some predetermine methodologies
.Similarly System Development Life Cycle involves many
steps in the design of new system.
These Steps Are:-

Problem definition
Drawbacks in the existing system
Request for the system change
Requirement analysis
The proposed system
Feasibility study of the proposed system

PROBLEM DESCRIPTION:

11

The bank management system is an application for


maintaining a persons account in a bank. The system
provides the access to the customer to create an
account, deposit/withdraw the cash from his account,
also to view reports of all accounts present. The
following presentation provides the specification for the
system.
REQUIREMENT SPECIFICATION:
Functional requirements
Non-Functional requirements
User requirements
System requirements

FUNTIONAL REQUIREMENTS:
User
basic
graphical
tools
such
shapes,objects,brushes,colour tools,eraser etc

as

Should allow free hand drawing, object shapes such


as circle,ellipse,rectangle,polygon.
Should allow the usage of different colors in the
form of brushes,shapes,curves.
Manage
the
picture
pencil,airbrush,clear all.

with

tools

such

as

NON FUNTIONAL REQUIREMENTS:

12

Must provide the program in vivid colours


format.
Should
have adaptability
single module at a time

to

allow

usage

and

of

Must enable faster processing of operations when a


module is selected.

Feasibility Analysis:It determines the best way to achieve the objective of the
system request and is the preliminary steps towards the
design of a system proposed system changes leading
feasibility study fall into one of the three categories.
Change To The Existing System:When the present has some discrepancies, which can be
removed by some alteration, fall under this category.
Completely New System:When the present system whether manual or computerized
has a lot of discrepancies which results in performance
degradation and the system is causing big loss of money and
the time then sometimes it is desirable to replace the older
system with a completely new system .

13

Hardware Survey:When the present hardware platforms are not sufficient or


satisfactory operation of current software then it is required
the processing time, response time etc can be removed.

Other Feasibility Of Proposed System Is:Operational Feasibility:Operational


feasibility
is
concerned
with
human,
organizational and political aspects. One is a technical
performance aspect and the other is acceptance within the
organization.

Technical Feasibility:The existence of the infrastructure required for the proposed


system makes it technically feasible for the system to be
implemented. Technical feasibility is concerned with
specifying equipment and software that will successfully
support the required task.
Economic Feasibility:The organization already has the idea of development of the
information system in its priorities. The cost, which will be
incurred in the development, gets cleared.

14

SYSTEM DESIGN
Overview:System design is an essential activity in the system
development life cycle. System design is the general
specification of the computer-based solution that was
selected analysis. Design specification forms the basis for
the system development.
The design is a solution the translation of requirement into
ways of meeting them in the process the end user
requirements were translated into specification for a
computer based information system. System design consists
of tow phase:
1. Logical design
2. Physical design
In logical design the detailed specification of the new system
is described i.e. output, the input and the database, all in the
manner that meets project requirement. The activity
following logical design, are the procedures followed in the
physical design of a system takes the logical design blueprint
& produces the program specification, physical file or
database definition with the help of this blue print, e.g.
producing programs, software, and files and working system.

15

Design Goals:Here our approach is to develop an interactive system, which


accepts inputs, options and provides the user with the
required outputs. After some give and take, the design goals
suggest that the user have the following features:
1. The system should have good interface.
2. To facilitate the user, a number of messages should be
designed which guide the action.
3. Care should be taken to keep the user input simple to
ensure accuracy of input.
4. The system should be flexible.
System Design Phase: Data gathering
Detail system
Input design
Output design
Control design
Database design
Program writing.
Input Design:accepted

Input

design specifies

how data are

for processing. This involves:

What data to input.


What medium to use.
How the data should be arrange or coded.
The dialog to guide users in providing input.

16

Data items
and transactions validation
detect error.
Method of performing input validation.

to

Output Design:For many Ends-users output is the main reason for developing
the system and the basis on which they will evaluate the
usefulness of the application. Output design involves.
Determines what information to present.
Decide whether to display or print information.
Presentation in an acceptable format.

Control Design:While entering data or in requesting the performance of


certain function there may occur errors, which could be in
proper use of system. Control provides ways to: Ensure that only authorized users access the
system.
Guarantee that transaction is acceptable.
Validate the data for accuracy.
Determine whether any necessary data have been
omitted.
Database Design:The collection of data is usually referred to as database. The
database contains information about the particulars of
organization. The management of data involves the definition
of structures of the storage of information and the provision
of mechanism for the manipulation of information.

17

INPUT DESIGN
In this we decide the following input design details:
What data to input
What medium to use
How the data should be arranged or coded
The dialogue to guide customer in providing input
Data items and transactions needing validation to detect errors
Methods for performing cash withdrawing and steps to follow
when errors occur
The design of input also includes specifying the means by which
customer and system operators direct the system in which actions
to take.
Inaccurate input data are the most common use of error in data
processing, errors entered by the data entry operator can be
controlled by the input design is the process of converting user
originated inputs to a computer based format.
The goals of designing input data are to make a data entry as easy
as possible, logical and free from errors. In

entering data

operators need to know the following points: Allocated space for each field
Field sequence, which must match in the source documents
The format in which data fields are entered .The data may be of
different formats but the customer might be required to enter it
only one format.

18

OUTPUT DESIGN
Output design is the most important and the direct source of
information to the customer, efficient, intelligent output design should
improve systems relationship with the customer and in decision making
a form of output is a hard copy from the printer.
Output, refers to the results and information that are
generated by the system. Output is the main reason for developing the
system and the basis on which they will evaluate the usefulness of the
application.
When designing output, we have accomplished the following : Determine what information to present
Decide whether to display, print, or speak the information and
select the output medium
Arrange the presentation of information in an acceptable format
Decide how to distribute the output to intended recipient.

The output design is specified on layout forms, sheets that


describe the location characteristics, and format of the
column headings and pagination.

19

File Handling Concept


Often it is not enough to just display the data on the
screen. This is because if the data is large, only a limited
amount of it can be stored in memory and only a limited
amount of it can be displayed on the screen.
Memory is volatile and its contents would be lost once
the program is terminated.so if we need the same data again
it would have to be either entered through the keyboard again
or would have to be regenerated programmatically.
Obviously, both these operations would be tedious. At
such times it becomes necessary to store the data in a
manner that can be later retrieved and displaced either in
apart or in a whole. This medium is usually a file on the disk

20

FUNCTION

Banking company is an institution engaged in accepting, for


the purpose of lending or investment, of deposits of money
from the public, repayable on demand or otherwise and
withdrawable by cheque, draft, order and otherwise.
To
manage a Banking department in computerized way so that
we can make the department easy and faster is called
Banking Management system.
It has a great importance in Banks, which has many
transactions like account opening, account closing,
depositing, withdrawals, etc these can not be managed easily
manually. So one system can be required which can easily
manage the wide activities of managing the various
transactions taking place.
We can overcome
Management system.

1.

this

problem

by

using

Banking

CUSTOMERS RECORDS: It holds all the information


regarding the customers having their account in the
bank.

21

2.

ACCOUNT OPENING: The customers wanting to open


their account in the bank can do so by creating a new
account.

3.

TRANSACTIONS: The basic function of bank is to


receive deposits from public, withdrawals on the
demand of customers,transfer of money from one
account to another,etc

4.

ACCOUNT CLOSING: When any customer wants to


close their account, the bank can do so by deleting their
particular account.

5.

PRINT REPORT:After a customers transaction, the


bank prints out the report on the balance of the
customers account .

6.

CALCULATE INTEREST: Calculation of interest on the


deposited money, the loans etc are done by the bank.

22

INTRODUCTION TO C
A C program is built up from a collection of items such as functions
and what we could loosely call global variables. All of these things are
given names at the point where they are defined in the program; the
way that the names are used to access those items from a given place
in the program is governed by rules. The rules are described in the
Standard using the term linkage. For the moment we only need to
concern ourselves with external linkage and no linkage. Items with
external linkage are those that are accessible throughout the program
(library functions are a good example); items with no linkage are also
widely used but their accessibility is much more restricted. Variables
used inside functions are usually local to the function; they have no
linkage. Although this book avoids the use of complicated terms like
those where it can, sometimes there isn't a plainer way of saying
things. Linkage is a term that you are going to become familiar with
later. The only external linkage that we will see for a while will be when
we are using functions.
Functions are C's equivalents of the functions and subroutines in
FORTRAN, functions and procedures in Pascal and ALGOL. Neither
BASIC in most of its simple mutations, nor COBOL has much like C's
functions.
The idea of a function is, of course, to allow you to encapsulate one
idea or operation, give it a name, then to call that operation from
various parts of the rest of your program simply by using the name.
The detail of what is going on is not immediately visible at the point of
use, nor should it be. In well designed, properly structured programs, it
should be possible to change the way that a function does its job (as
long as the job itself doesn't change) with no effect on the rest of the
program.

23

In a hosted environment there is one function whose name is special;


it's the one called main. This function is the first one entered when
your program starts running. In a freestanding environment the way
that a program starts up is implementation defined; a term which
means that although the Standard doesn't specify what must happen,
the actual behaviour must be consistent and documented. When the
program leaves the main function, the whole program comes to an end.
Here's a simple program containing two functions:
#include <stdio.h>
/*
* Tell the compiler that we intend
* to use a function called show_message.
* It has no arguments and returns no value
* This is the "declaration".
*
*/
void show_message(void);
/*
* Another function, but this includes the body of
* the function. This is a "definition".
*/
main(){
int count;
count = 0;
while(count < 10){
show_message();
count = count + 1;
}
exit(0);
}
/*
* The body of the simple function.
* This is now a "definition".
*/
void show_message(void){
printf("hello\n");

24

MICROSOFT ACCESS

MS Access is a relational desktop database. As it is known,


data bases allow the user to collect any type of information
for storage and later searching and retrieval.
Being a desktop database, access is designed to be used on
a desktop computer. One can place an access database file
on a network file server and share the database with other
users on the network. It is not, however a true client/server
database, b coz the access database is a file stored on a
hard disk not a running application.
The fact that access is not a client/server database might
seem like a disadvantage, but it really isnt. When it is used in
the proper environment, it is very easy to administer.
Moreover, access is a relational database, where as relational
database are one of the most versatile types of databases
ever developed. Another advantage to relational databases is
that they eliminate the need to store redundant information.
Infact, access is more than just a database. It is also a full
featured application development environment. Access also

25

provides wizard, which is very helpful, when the user creates


database objects.
Limitations of Microsoft access:Microsoft access is a powerful database development tool.
However it has some drawbacks and limitations, which are as
follows: 1. Microsoft Access has no built in back up
process.
Access
requires the database file to be closed by all users
before it can
be manually backed up.
2. Access has a limit of 1.2 GB (Gigabytes) of data per
database.
3. Access has a limit of 255 total users.

26

DATABASE STRUCTURE

This project includes two database (password & ), First


database has one table(pass) for changing password and
second database has
four tables(Accounts, transaction,
closed accounts, balance, etc) those are create in access.
Add one table in first database (password). Name as: 1. PASS
Add four tables in second database . Name them as: 1. ACCOUNT CREATION
2. DEPOSITION
3. WITHDRAWAL
4. ACCOUNT CLOSING
5. ACCOUNT UPDATION

27

MODULE DESCRIPTION

MODULE

DESCRIPTION

Create File

Selecting this creates a new f


for the user by accepting input
such as account number, name
and amount

Open account

Opens a new account for the u


by accepting input such as
account number, name and
minimum balance

Search

Enables to search for the detai


of the given account number.
Displays only one account det
at a time

Deposit

Provides options to deposit amou


from the given account number.

Withdraw

Provides options to withdraw am


from the given account number.

Cancel account

Cancels the selected account fro


the bank.

28

Report

Display the list of all


account.Details comprising of
account number, name and
balance amount.

ER DIAGRAM:
The entity relationship(ER) model is a high level data model .It is
based on the perception of the real world that consists of a collection
of basic objects,called entities and of relationships among these
objects.It was developed to facilate database design by allowing
specification of an enterprise schema,which represent the overall
logical structure of a database.

The following are the different ER diagrams for


the different banking activities like ER diagram
for:
Creating account.
Withdraw account.
Modifying account.
Closing account.

29

ER DIAGRAM

E-R diagram for creating ACCOUNT


User

New Acc

Bank

New
Form

Verify

Rejected

DB

Create Acc

Created

30

E-R diagram for withdraw ACCOUNT


User

Withdraw

Deposit
Withdraw

Bank

Bank

DB
Verify

No
Amount

DB

Deposited

31

E-R diagram for modifying ACCOUNT

User

Modify

Bank

Verify

Account
Modified

Edit the
Form

Details
Incorrect

DB

32

E-R diagram for closing anACCOUNT


User

Close

Bank
Account
closed.
DB

33

SNAPSHOTS

34

35

36

37

38

TEST PLAN
Definition of testing:Testing is a vital to the success of the software program
testing includes if all the entries filled by the user are correct
accept by the program requirement then the goal will be
successfully achieved.
System testing requires test plans that consist of several key
activities and step for program, string, system and user
acceptance testing.
The system performance criteria deal with turnaround time,
backup, file protection, the human factor.
A system is tested for online response volume of transactions
stress, recovery from failure and usability then come system
testing which verifies that the whole set of programs hangs
together.
Testing can serve well as testing objectives:1. Testing is process of executing a program with the
intent of finding an error.
2. A good testing case is one that has a high probability of
finding an as get underscored errors.
3. A successful test is one that uncovers an as get
undiscovered error.

Among the rules that can aid in program testing are the
following:-

39

1. Make the test plan section of the program design: Testing should be one of the factors in problem
definition, program design and coding stages.
2. Check all trivial and special cases: - Often the simplest
can lead to the most annoying and mysterious errors.
3. Select test data on random bases doing so will eliminate
any inadvertent bias caused by the programmers select
test data.
4. Plan and document software testing just like hardware
testing: - Testing can never prove that no error exists; so
good software design, like good hardware design, is an
essential section of the testing process.
5. Use the maximum and minimum values of all variables

as test data: - Extreme values are often the sources of


special errors.

Software testing strategy:A software testing strategy leads to software requirement


analysis, where the information domain, function, behavior
performance, constraints and validation criteria for software
or establish moving in world along the spiral, we can to
design and finally to coding.
A strategy for software testing may also be viewed in the
contest of a spiral. Unit testing begins at the vertex of the
spiral and concentrates on each unit of the software as
implemented in source code. Testing progressed by moving
out words along the spiral to integrations testing, where the
focus is design.

40

White-Box Testing:White box testing, sometimes called glass-box testing ,is a


test case design method that uses the control structure of
the procedural design to derive test using white-Box-testing
methods the software engineer can drive test case that.

1. Guarantee that all independent paths within a module have


been
exercised at least once.
2. Exercise all logical decision on their true and false sides.
3. Execute all loops at their boundaries and within their
operational
bounds.
4. Exercise interval data structures to ensure then validity.

Black-Box Testing:Black-Box testing also called behavioral testing, focuses an


the functional requirement of the software that is black-box
testing enables to software engineer to sets the input
conditions that will fully exercise all functional requirement
for a program. Block- box testing is not an alternative to
while box technique rather it is a complementary approach
that is like to uncover a different class of errors than white
box method .Black-box testing attempts to find errors in the
following categorized:1. Incorrect or missing functions.

41

2. Interface error.
3. Error in data structures or external data base access.
4. Behavior or performance errors.
5. Initialization and termination errors.
Unit Testing:Unit testing focuses verification efforts of the smallest unit
for software design the software component or module using
the component level design description as a guide, important
control paths ate tested to uncover error with in the boundary
of the module the relative complexity of test and uncovered
for unit testing. The unit test is white box oriented, and the
stop can be conducted in parallel for multiple components.
Unit test procedure :The module interface is tested to insure that information
properly flows into an out of the program unit under test. The
local data structure is examined to insure that data stored
temporarily maintains its integrity during all steps in an
algorithms execution.
Unit testing is normally considered as an adjacent to the
coding step. After source level code has been developed,
reviewed and verified for correspondence to components
level design, unit test case design begins. The review of
design information provides guidance for establishing test
cases that are likely to uncover errors in each of the

42

categories discussed earlier. Each test case should be


coupled with a set of expected results.
Integration testing:Integration testing is a systematic technique for constructing
the program structure while at the same time conducting test
to uncover errors associated with interfacing. The objective
is to take unit tested components and build a program
structure that has been dictated by design.
Construction of the spiral is encounter validation testing,
where requirements established as section of software
requirements established as section of S/W requirements
analysis are validated against the S/W that has been
constructed.
There are many integration strategies:1. Top down integration
2. Bottom up integration
1. Top down integration:Top down integration testing is an incremental approach to
construction of program structure modules are integrated by
moving downward through the control hierarchy, beginning
with the main control module (main program). Modules
subordinate to the main control module are incorporated into
the structure in either a depth first or breathe first member.

43

2. Bottom up integration:Bottom up integration testing, as its name implies, begin


construction and testing with automatic modules (i.e.
components at the lowest levels in the program structure),
because components are integrated from the bottom up,
processing required for components coordinate to a given
level is always available and the need for stub is eliminated.

44

Maintenance
This stage is the updating and connecting of the program to
account for changing conditions or field experience. Proper
testing and documentation should significantly reduces the
frequently and extent of the required maintenance. I can now
appreciate why they are so critical:1. Documentation: We provide a technical documentation of a program because
many other programmers will be working with and
maintaining that programmer its life span.
2. Debugging and Testing: A formalized debugging and testing scheme reduce the like
hood of undeleted bugs in the finished program, thus,
reducing the maintenance required on that program.
3. When a change can be localized to a single module, it
makes maintenance much easier .We does not need to worry
about the effects of that change rippling. Throughout other
modules in the system.
4. Structured code: The must common maintenance operation. Operation is
tracking down bugs that went unnoticed during the testing
phase. A program implemented as a series of single entry
single. Exit blocks will facilitate debugging.
5. Portability and generality: Software tends to last longer than hardware. Therefore, a
program written with portability in mind will create less
damage when the inevitable new computers arise. Like wise,
when the user needs change, the truly generate. Program will
require little or no programmer time to adapt to the new
specification.

45

CONCLUSION

This project is developed to nurture the needs of a user in


a banking sector by embedding all the tasks of transactions
taking place in a bank.
Future version of this software will still be much enhanced
than the current version 1.0.Thus the Bank Management
System it is developed and executed successfully.

SUBMITTED BY:-

Neha Bansal(0701910043)
Evangeline Kharlyngdoh(0701910021)
(B.Tect C.S 3rd yr)
(M.I.T Bulandsahara)

46

/*--------------------------------------------------------------------THIS IS THE PROGRAME FOR MAINTAINING


THE DATA BASE OF
CUSTOMERS ACCOUNTS DETAILS IN A
BANK
----------------------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>
#include<string.h>
#include<dos.h>
/*------------------- VARIABE
DECLARATIONS-------------------------*/
struct customer //for holding customer
information
{
int dd,mm,yy;
char
cus_ac_no[15],cus_name[25],cus_add[45],cus_
ph_no[17];
double cus_bal;
float cus_intrst;
}p1;
typedef struct customer cust;

47

FILE *fp,*ft;
int recsize;
char choice,any,ch,eno[23];
double dep,withdraw;
double a,n;
struct date d;
/*-----------------------FUNCTION
DEFINATIONS---------------------*/
void acc_info(cust *p);
void add();// to add new account
void list();
void transac();//to make
transactions(deposit/withdrawal)
void del(); // to delete a perticular account
void report(); // to print report on customer
balance
float calculate_interest(cust *p); //To
calculate intrest
int no_of_days(int d1, int m1, int y1, int d2,
int m2, int y2);
void calbig();
void intro();
void calwin();
// these 4
functions
void load();
void calbox();
// for creating
appearence

48

void box(int a, int b, int c, int d); //


appearence effects
/
*-----------------------------------------------------------------------*/
void main()
{
int k ;
char pass[10] = {"bank"}; // Password of the
Program.
char p[10];
// Variable for the
Password.
char ps;
char choice;
int i = 0, c = 45,d1,m1,y1;
textcolor(GREEN);
clrscr();
load();
intro();
getch();
/*------------------: LOGIN WINDOW OF
PROGRAM :----------------*/
password: {
textbackground(BLACK); textcolor(GREEN);
clrscr();
i = 0;
49

c = 45;
box(12,3,69,5);
textcolor(CYAN + BLINK);
gotoxy(31,4); cprintf("W O R L D B A N K");
box(16,8,65,22); textcolor(CYAN + BLINK);
gotoxy(30,9);cprintf(" W E L C O M E ");
box(16,11,65,13); textcolor(CYAN);
gotoxy(38,12); cprintf("LOGIN");
textcolor(9);
gotoxy(28,16); cprintf("ENTER PASSWORD :
");
textcolor(RED);
_setcursortype(_SOLIDCURSOR); // To Show
Solid cursor.
while(i <= 9 || ps !='\r')
{
ps = getche();
gotoxy(c,16);
cprintf("*");
if (ps == '\r')
break;
else
{
p[i] = ps;
c++;
i++;
}
if (i > 12) break;
}
50

p[i] = '\0';
_setcursortype(_NOCURSOR); // To disable
the cursor.
if(strcmp(p,pass) == 0)
{
gotoxy(28,18);
textcolor(YELLOW + BLINK);
cprintf("YOU ARE SUCCESSFULY
LOGIN...
");
delay(1000);
}
else
{
gotoxy(27,18);
cprintf("SORRY! ACCESS DENIED.....
");
gotoxy(27,20);
cprintf("LET'S TRY AGAIN [Y]/[N] : ");
choice = getche();
if (choice == 'Y'|| choice == 'y'||choice ==
'\r')
goto password;
else
exit(0);
}
} //end of pass word block
51

fp = fopen("bank.txt","rb+");
if (fp == NULL)
{
fp = fopen("bank.txt","wb+");
if (fp==NULL)
{
puts("cannot create a file ");
exit(1);
}
}
while(1)
{
_setcursortype(_SOLIDCURSOR);
calwin(); textbackground(BLACK);
clrscr(); //yellow
calwin(); textbackground(LIGHTGRAY);
clrscr();
window(19,7,64,39);
delay(300); textbackground(BLACK);
textcolor(BROWN); clrscr();
window(18,6,62,37);//blue window
textbackground(LIGHTBLUE);
textcolor(GREEN); clrscr(); delay(100);
gotoxy(12,2);
cprintf("================== \n");
highvideo(); textcolor(WHITE+BLINK);
gotoxy(11,3); cprintf(" W O R L D B A N
K\n");
52

textcolor(GREEN);
gotoxy(12,4);
cprintf("==================\n");
gotoxy(4,6); cprintf("M A I N - M E N U
\n");
gotoxy(4,7);
cprintf("#################");
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(34,6); cprintf("%d-%d%d",d1,m1,y1);
gotoxy(4,9); cprintf("A-> Adding a new
Account\n");
gotoxy(4,12); cprintf("L-> List all
Accounts\n");
gotoxy(4,15); cprintf("T-> Transaction
[Deposit/Withdraw]\n");
gotoxy(4,18); cprintf("D-> close any
account \n");
gotoxy(4,21); cprintf("F-> Find an
Account\n");
gotoxy(4,24); cprintf("R-> Reports \n");
gotoxy(4,27); cprintf("E-> Exit \n ");
gotoxy(4,29); cprintf("Enter your choice
[A,L,T,D,F,R,E] :");
fflush(stdin); ch = getchar();
53

switch(toupper(ch))
{
case 'A' :
calwin();
textbackground(BLUE); textcolor(BLACK);
clrscr();
add();
break;
/*--------------------------------------------------------------*/
case 'L':
calwin();delay(100);
textbackground(LIGHTCYAN);
textcolor(BLACK); clrscr();
list();
break;
/*-------------------------------------------------------------*/
case 'T':
calwin();
textbackground(WHITE); textcolor(BLACK);
clrscr();
transac();
break;
/*----------------------------------------------------------*/
case 'D' :
calwin();
del();
break;
54

/*-------------------------------------------------------------*/
case 'F':
_setcursortype(_NOCURSOR);
k=valid();
if(k==2)
{
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(strcmp(p1.cus_ac_no,eno)==0)
{
acc_info(&p1);
}
}
}
else
{
calbox(); highvideo();
textcolor(WHITE+BLINK);
gotoxy(15,12); cprintf(" THIS IS INVALD
NUMBER.");
gotoxy(18,14); cprintf(" TRY AGAIN");
getch();
}
break;

55

/*-------------------------------------------------------------*/
case 'R':
calbig();
gotoxy(4,12);
cprintf("=======================
======================");
gotoxy(14,14);cprintf("REPORT OF WORLD
BANK CUSTOMERS");
gotoxy(4,16);
cprintf("=======================
======================");
gotoxy(4,21); cprintf(" Display customers
account to view details :");
gotoxy(5,23);cprintf("digit :");
gotoxy(13,23);scanf("%lf",&n);
report(n);
break;
/*-----------------------------------------------------------*/
case 'E':
intro();
highvideo(); textcolor(LIGHTGRAY+BLINK);
gotoxy(24,5); cprintf("THANK YOU FOR
USING THIS SOFTWARE");
highvideo(); textcolor(GREEN);
getch();
fclose(fp);
56

exit(1);
break;
/*-------------------------------------------------------------*/
default :
_setcursortype(_NOCURSOR);
window(23,43,57,49);
textbackground(BLACK); clrscr();
window(22,42,56,48);
textbackground(BLUE);
clrscr();highvideo(); textcolor(WHITE+BLINK);
gotoxy(5,3); cprintf(" SORRY WRONG
CHOICE....");
gotoxy(5,5); cprintf(" PRESS ANY KEY TO
CONTINUE....");
getch();
calwin(); clrscr();
break;
}//end of switch
}//end of while
} //end of void main
/
*----------------------------------------------------------------*/
void calwin() // Painting of whole screen
{
57

window(1,1,80,50); clrscr();
}
/
*----------------------------------------------------------------*/
int valid( )// Validation of Account number
{
int k=1;
calbox();
gotoxy(6,8); cprintf(" Enter customer
account number : ");
gotoxy(6,10); cprintf("
***************************** ");
gotoxy(62,7); fflush(stdin); gets(eno);
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(strcmp(p1.cus_ac_no,eno)==0)
{
k=2;
break;
}
}
return(k);
}

58

/*----------------------------------------------------------------------*/
void acc_info(cust *p)//Printing of an Account
Details
{
calbox();
_setcursortype(_NOCURSOR);
gotoxy(8,2);
cprintf("=======================
=====================\n");
gotoxy(8,3); cprintf("......Customer's
Information .......");
gotoxy(8,4);
cprintf("=======================
=====================\n");
gotoxy(7,7); cprintf("|-> Customer Account
number is:- %s",p->cus_ac_no);
gotoxy(7,10); cprintf("|-> Customer Name
is:-%s",p->cus_name);
gotoxy(7,13); cprintf("|-> Customer Address
is:- %s",p->cus_add);
gotoxy(7,16); cprintf("|->Customer Phone
number is:- %s",p->cus_ph_no);
p->cus_bal+=calculate_interest(p);
gotoxy(7,19); cprintf("|-> Customer Balence
is :- %.3lf Rs",p->cus_bal);

59

gotoxy(7,22); cprintf("|->Account opened on


:- %d-%d-%d ",p->dd,p->mm,p->yy);
highvideo(); textcolor(WHITE+BLINK);
gotoxy(7,24); cprintf("<-->Press any key to
continue");
getch();
}
/
*-------------------------------------------------------------------------*/
void add()//Addition of a new Account
{
int k;
clrscr();
any='y';
do{
k=valid();
if(k==2)
{
calbox(); highvideo();
textcolor(WHITE+BLINK);
_setcursortype(_NOCURSOR);
gotoxy(12,12); cprintf(" This Account
number already exist ");
gotoxy(19,14); cprintf(" Try again ");
getch();
break;
}
calbox( );
60

strcpy(p1.cus_ac_no,eno);
gotoxy(5,5); cprintf(" Enter customer
name : ");
fflush(stdin); gets(p1.cus_name);
gotoxy(5,9); cprintf(" Enter customer
address : ");
fflush(stdin); gets(p1.cus_add);
gotoxy(5,14); cprintf(" Enter customer
phone number :");
fflush(stdin); gets(p1.cus_ph_no);
gotoxy(5,18); cprintf(" Enter the
amount you want deposit :");
scanf("%lf",&p1.cus_bal);
gotoxy(5,19); cprintf("
============================
===== :");
getdate(&d);
p1.dd = d.da_day ;
p1.mm = d.da_mon ;
p1.yy = d.da_year ;
fseek(fp,0,SEEK_END);
fwrite(&p1,sizeof(p1),1,fp);
gotoxy(5,22); cprintf("Add another account
(y/n) : ");
fflush(stdin); any = getchar();
}while(tolower(any)=='y');//end of do
while
// getch();
}
61

/*----------------------------------------------------------*/
void list()//Printing all Accounts Details
{
clrscr();
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp)==1)
{
acc_info(&p1);
}
}
/*-----------------------------------------------------------*/
void transac()//Updating an Account
{
int k,p,t,r;
clrscr();
k=valid();
rewind(fp);
if(k!=2)
{
_setcursortype(_NOCURSOR);
calbox(); highvideo();
textcolor(WHITE+BLINK);
gotoxy(12,12); cprintf(" This is not a
valid number ");
gotoxy(19,14); cprintf(" Try again");
getch();
}
else
{
62

while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(strcmp(p1.cus_ac_no,eno)==0)
{
calbox();
gotoxy(11,4); cprintf(" What do you want
to do : ");
gotoxy(5,7); cprintf("1->.Deposit");
gotoxy(5,10); cprintf("2->.Withdraw");
gotoxy(5,13); cprintf("3->Exit");
gotoxy(5,17); cprintf("Enter your
choice :");
fflush(stdin);
choice=getchar();
switch(choice)
{
/*----------------------------------------------------*/
case '1':
calbox();
gotoxy(5,5); cprintf("Enter the money
you want to Deposit :");
gotoxy(8,7);cprintf("Rs :");
scanf("%lf",&dep);
p1.cus_bal+=dep;
acc_info(&p1);
recsize = sizeof(p1);
fseek(fp,-recsize,SEEK_CUR);
fwrite(&p1,sizeof(p1),1,fp);
63

getch();
break;
/*---------------------------------------------------*/
case '2':
calbox();
gotoxy(10,12); cprintf("Enter the
money you want to Withdraw : ");
gotoxy(12,14);cprintf("Rs :");
gotoxy(17,14);scanf("%lf",&withdraw);
if(p1.cus_bal<withdraw)
{
_setcursortype(_NOCURSOR);
calbox(); highvideo();
textcolor(WHITE+BLINK);
gotoxy(7,12);cprintf("YOU DONT'VE THIS
MUCH MONEY IN YOUR ACCOUNT");
gotoxy(19,14); cprintf("TRY AGAIN");
getch();
}
else
{
p1.cus_bal-=withdraw;
recsize = sizeof(p1);
fseek(fp,-recsize,SEEK_CUR);
fwrite(&p1,sizeof(p1),1,fp);
acc_info(&p1);
}
break;
64

/*--------------------------------------------------------*/
case '3':
break;
/*--------------------------------------------------------*/
default:
_setcursortype(_NOCURSOR);
window(23,43,57,49);
textbackground(BLACK); clrscr();
window(22,42,56,48);
textbackground(BLUE);
clrscr();highvideo(); textcolor(WHITE+BLINK);
gotoxy(5,3); cprintf(" SORRY WRONG
CHOICE....");
gotoxy(5,5); cprintf(" PRESS ANY KEY TO
CONTINUE....");
getch();
calwin(); clrscr();
break;
/*--------------------------------------------------------------*/
} //end of switch
}// end of inner if
}//end of while
}//end of outer else
}//end of Transaction function
/*----------------------------------------------------------*/
void del() //Deletion of an Account
65

{
int k;
clrscr(); calbox();
k=valid();
_setcursortype(_NOCURSOR);
if(k==2)
{
calbox(); highvideo();
textcolor(WHITE+BLINK);
gotoxy(16,12); cprintf(" ARE YOU SURE
");
gotoxy(7,14); cprintf(" YOU WANT TO
CLOSE THIS ACCOUNT (Y/N):\n");
if(toupper(getchar())=='Y')
{
ft = fopen("temp.dat","wb+");
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp) == 1)
{
if(strcmp(p1.cus_ac_no,eno)!=0)
{
fwrite(&p1,sizeof(p1),1,ft);
}
}
fclose(fp); fclose(ft);
remove("bank.txt");
rename("temp.dat","bank.txt");
fp = fopen("bank.txt","rb+");
66

} //end of inner if
} //end of outer if
else
{
calbox(); highvideo();
textcolor(WHITE+BLINK);
gotoxy(12,12); cprintf(" THIS IS NOT A
VALID NUMBER ");
gotoxy(19,14); cprintf(" TRY AGAIN");
getch();
}
}
/*--------------------------------------------------------------------*/
void report(double k)
{
int count=1,i=0,temp;
calbig();
rewind(fp);
_setcursortype(_NOCURSOR);
factor_10: {
if(count%10==0)
{
temp=count;
rewind(fp); count=1;
67

while(fread(&p1,sizeof(p1),1,fp) == 1)
{
count++;
if(count<temp) continue;
else
break;
}
}
while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(p1.cus_bal>=k)
{
gotoxy(4,13);
cprintf("=======================
======================");
gotoxy(6,15); cprintf("Account no");
gotoxy(23,15); cprintf("Name");
gotoxy(40,15); cprintf("Balence");
gotoxy(4,17);
cprintf("=======================
======================");
gotoxy(6,19+i); cprintf(" %s
",p1.cus_ac_no);
gotoxy(23,19+i); cprintf(" %s
",p1.cus_name);
p1.cus_bal+= calculate_interest(&p1);
gotoxy(40,19+i); cprintf("
%.3lf",p1.cus_bal);
count++;
i=i+2;
68

if(count%10==0)
{
_setcursortype(_NOCURSOR);
i=0;
gotoxy(4,37);
cprintf("-----------------------------------------------------"
);
highvideo(); textcolor(WHITE+BLINK);
gotoxy(7,38); cprintf(" <->Press any
key to continue ");
getch(); calbig();
goto factor_10;
}
}// end of inner if
} //end of while
} //end of factor_10 block
gotoxy(4,11);cprintf("The details of
customers account are :",k,count-1);
getch();
}
/*--------------------------------------------------------------------*/
void calbox() //creat small window
{
calwin();
textbackground(LIGHTGRAY);clrscr();
69

//black window
window(9,9,62,35); textbackground(BLACK);
textcolor(BROWN); clrscr();
//blue window
window(8,8,60,33);delay(150);
textbackground(LIGHTBLUE);
textcolor(GREEN); clrscr();
box(2,2,52,25);
}
/*---------------------------------------------------------------------*/
void calbig() //creat huge window
{
int count=0;
window(1,1,80,50);
textbackground(LIGHTCYAN);clrscr();
window(5,5,73,45);
textbackground(BLACK);clrscr();
window(3,3,70,42);
textbackground(BLUE);textcolor(GREEN);
clrscr();
box(3,2,66,37);
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp)==1)
count++;
gotoxy(15,3); cprintf(" REPORT OF WORLD
BANK CUSTOMERS");

70

gotoxy(14,4);
cprintf("#######################
###########");
gotoxy(5,7); cprintf("Total No Of Acconts
Are :- %d",count);
gotoxy(5,8);
cprintf("---------------------------------");
}
/*--------------------------------------------------------*/
void intro()
{
_setcursortype(_NOCURSOR);
calwin();
textbackground(BLACK);
clrscr();
box(15,8,69,30); //calbox();
highvideo(); textcolor(CYAN);
gotoxy(25,11); cprintf("\xde PROJECT ON
BANKING AUTOMATION \xde");
textcolor(GREEN);
box(15,8,69,13);
highvideo(); textcolor(CYAN);
gotoxy(20,16);cprintf("Created By : ");
gotoxy(20,18);cprintf(" NEHA and EVA ");
gotoxy(20,19);cprintf(" B.tech CSE");
gotoxy(20,20);cprintf(" M.I.T. Bulandshahr
");
71

/*
gotoxy(30,19);cprintf(" ");
gotoxy(30,21);cprintf("\xde B.tech CSE
\xde");
gotoxy(30,23);cprintf("\xde M.I.T
\xde");
gotoxy(30,25);cprintf("\xde Bulandshahr
\xde");
gotoxy(30,27);cprintf("\xde Email:eve.essence@gmail.com\xde");
textcolor(WHITE+BLINK);
gotoxy(30,19); cprintf("\xde Neeraj Sachdeva
\xde");
gotoxy(30,32);cprintf("<-> Press any key to
continue"); */
}
/*-----------------------------------------------------------*/
void box(int a, int b, int c, int d) //to
generarate box like finishing
{
int i,j ;
for( i = a; i < c; i++)
{
gotoxy(i,b); printf("\xcd");
gotoxy(i,d); printf("\xcd");
}
for( j = b; j < d; j++)
{
gotoxy(a,j); printf("\xba");
72

gotoxy(c,j); printf("\xba");
}
gotoxy(a,b);
gotoxy(c,b);
gotoxy(a,d);
gotoxy(c,d);

printf("\xc9");
printf("\xbb");
printf("\xc8");
printf("\xbc");

}
/
*---------------------------------------------------------------------*/
void load() // For creating loading effect
{
int a=5,b=19,c=78,d=21,i,j,k;
calwin();
textbackground(BLACK);
clrscr();
gotoxy(38,17);
cprintf("Loading....");
box(a,b,c,d);
_setcursortype(_NOCURSOR);
textcolor(BLUE);
for(i=1;i<(c-5);i++)
{
gotoxy(a+i,b+1);
delay(60);
cprintf("\xdd");
}
for(i=1;i<(c-5);i++)
{
73

gotoxy(a+i,b+1);
delay(60);
cprintf("\xdb");
}
_setcursortype(_NOCURSOR);
textcolor(GREEN);
}
/
*-------------------------------------------------------------------*/
int no_of_days(int d1, int m1, int y1, int d2, int
m2, int y2)
{
static int months[] =
{31,28,31,30,31,30,31,31,30,31,30,31} ;
int days = 0 ;
while (d1 != d2 || m1 != m2 || y1 != y2)
{
days++ ;
d1++ ;
if (d1 > months[m1-1])
{
d1 = 1 ;
m1++ ;
}
if (m1 > 12)
{
m1 = 1 ;
y1++ ;
74

}
}
return days ;
}
/*-------------THIS FUNCTION CALCULATES
INTEREST------------------*/
float calculate_interest(cust *p)
{
int d1, m1, y1, d2, m2, y2, months=0, days
;
d1 = p->dd ;
m1 = p->mm ;
y1 = p->yy ;
getdate(&d);
d2 = d.da_day ;
m2 = d.da_mon ;
y2 = d.da_year ;
p->cus_intrst=0.0 ;
if ((y2<y1) || (y2==y1 && m2<m1) ||
(y2==y1 && m2==m1&& d2<d1))
return p->cus_intrst;
days = no_of_days(d1,m1,y1,d2,m2,y2) ;
if (days >= 30)
{
months = days/30 ;
p->cus_intrst = ((p->cus_bal*2)/100) *
months ;
}
75

return p->cus_intrst ;
}
/*---------------------------THE END
-----------------------------------*/

BIBLIOGRAPHY
76

1. Let us C:

Yashavant P.Kanetkar

2. Data Structures through C: G.S. Baluja


3. C The Complete Reference: Schildt
4. C and C++: E. Balaguru swami
5. Database management system: by korth

77

Vous aimerez peut-être aussi