You are on page 1of 90

lOMoARcPSD|33986000

Ankit Project - asdf

Computer Science (Maharshi Dayanand University)

Studocu is not sponsored or endorsed by any college or university


Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)
lOMoARcPSD|33986000

A
Project Report

ON

Automated Teller Machine (ATM) System

IN
THE PARTIAL FULFILLMENT OF REQUIREMENT FOR THE
AWARD OF THE DEGREE
OF
MASTER OF SCIENCE IN COMPUTER APPLICATIONS
(2020-2022)

Under the supervision of: Submitted by:


Dr. Pramod Nara Ankit
Asst. Prof. , MSc- 4th sem
AIJHM College, Rohtak Roll No:220234177017

DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS


AIJHM College, ROHTAK- 124001

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

CERTIFICATE

It is certify that the project work entitled <ATM (AUMATED TELLER

MACHINE)” in JAVA which is being submitted by ANKIT, Roll No. 220234177017 in

partial fulfillment of the requirement for the award of the degree of Master of Computer

Science (4th sem.) is an authentic work carried out by him.

Wishing her good luck in future.

Signature of the Supervisor

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

ACKNOWLEDGEMENT

The project work mentioned in this report, is the result of cumulative effort over a

period an entire semester in course of which, I have received intellectual support from

various sources. It is my pleasure to express my profound sense of gratitude to all those who

have contributed richly to this project and have been highly instrumental in making this a

success.

I am highly indebted to my computer lecturer, Dr. PRAMOD NARA for giving me

opportunity to work on this project.He has been an invaluable source of guidance and

motivation at all stages of my work.

ANKIT

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

INDEX

Sr. No Contents Page No

1 Introduction 1
2 Problem Definition 2
3 Existing System and need for the new system 3
4 Scope of the work 4
5 Feasibility Study 6
6 Technical Feasibility 6
7 Economical Feasibility 6
8 Operational Feasibility 6
9 Hardware &software Requirement Specification 7
10 E-R Diagram 8
11 Normalized Database Design 9
12 Activity Diagram 11
13 Code 12-62
14 User interface design 62
15 Testing & Implementation plan 72
16 User manual 78

17 Drawbacks, Limitations & Future Scope 81


18 Abbreviations 82

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Introduction:-
I am very glad to introduce my project <AUTOMATED TELLER
MACHINE=. Now a day each company or organization prefers the computerized
paper-work. Definitely the computer system is more reliable than the manual works.
The common human errors can be eliminated with the help of system.

An Automated Teller Machine (ATM) is a computerized


telecommunications device that provides the customers of a financial institution with
access to financial transaction in a public space without the need for a human clerk or
bank teller. On most modern ATMs, the customer is identified by inserting a plastic
ATM card with a magnetic stripe or a plastic smartcard with a chip that contains a
unique card number and some security information.

ATMs are known by various other names including automated banking


machine, money machine, bank machine, cash machine and Any Time Money in
India.

An ATM card (also known as a bank card, client card, key card or cash
card) is an ISO 7810 card issued by a bank, credit union or building society, Unlike a
debit card, in-store purchases or refunds with an ATM card can generally be made in
person only, as they require authentication through a personal identification number
(PIN). In other words, ATM cards cannot be used at merchants that only accept credit
cards.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Problem Definition:-

Automated Teller Machine (ATM) system is banking software


developed to give facility of bank customer for 24hours & nearer to your location;
therefore customer can do their transaction at any time at any place. This software is
also help for bank, to minimize crowding of customer in bank premises & pressure of
work on bank servants.
Now a day each company or organization prefers the computerized
paper-work. Definitely the computer system is more reliable than the manual works.
The common human errors can be eliminated with the help of system.

The main objective of ATM system is to help the organization in automating


the whole manual processing of the existing system. This project should support multi
user environment. The system is fully automated. ATM system is designed to solve
the purpose of clarifying system requirement. This system should be able to handle
extremely large volumes of data. This system should capable to keep track of all
detailed description of the account holder of banks.

The following details are involved in this ATM system project,

● ATM Card holder /account /bank customer detail.


● Daily transaction detail of each ATM card holder.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Existing System:-

Existing system creates complexity in doing calculation of collection of

money because it is manual.

Existing system creates problems in maintaining records of book keeping.

Existing system, there is large documentary work so it requires space for its

storage.

To do the documentary work there is need of extra staff worker.

Existing system takes much more time to updating process of records.

Due to existing system crowding of customer in bank premises are more &
pressure of work on bank servants are also more.

Need for the new system:-

The proposed system need to maintain all the records in computerized form.

It is useful to store record systematically & accurately by using this system.

It is useful to reducing the extra work which maintains the records of book

keeping & paper less work.

We can easily handle data efficiently & effectively.

The storage space, extra workers, missing files all these possibilities are

decreased through this system.

This system helps to save time & cost spending on documentation.

With the help of this system ATM card holder can see all the records about his
account only at any time efficiently.

The most important facility provided by this system is that, there is no any
possibility of miss any records.

This system is useful for recording daily transactions done by customers.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

So, this system helps to overcome the problems of previous system.

An ATM card is an ISO card issued by a bank, credit union or building

society. Unlike a debit card, in-store purchases or refunds with an ATM card
can generally be made in person only, as they require authentication through a
personal identification number or PIN. In other words, ATM cards cannot be
used at merchants that only accept credit cards.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Scope of the work:-

As this is software it can be used by a wide variety of banks to automate


the process of manually maintaining the records related to the each transaction of
bank account holder. The main goal of this application is to provide very reliable &
efficient service to bank account holder at any time & any location.
This system will cover the following modules,

1. Cash Withdrawal.
2. Balance Enquiry.
3. Mini Statement.
4. PIN Change.
5. Cash Deposit.
6. Loan Information.
7. Help Menu.

Detail information about system modules,

1. Cash Withdrawal :-
It mainly used for withdrawal of cash as per customer demand.
For any authorized ATM card holder the ATM system requests for its ATM no &
PIN no then customer to login in their accounts, then amounts are given to system
and customer can withdraw amount.

2. Balance Enquiry :-
It refers to enquiry of bank balance of an authorized ATM card
holder account to check for the resulting balance after certain transactions.

3. Mini Statement:-
It refers to enquiry of last ten transaction of an authorized ATM
card holder. It includes deposit & withdrawal amount of transaction & also
contains respective transaction date and current available balance.

4. PIN Change:-
It refers to the Change of PIN no of an authorized ATM card
holder. I require giving system old PIN no of the ATM card & then giving
new PIN no & confirm the new PIN no.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

5. Cash Deposit:-
It mainly used for deposit cash amount to their bank account as per
customer demand. It is easy process of deposit amount to their bank accounts
without filling deposit sleep.

6. Loan Information:-
It mainly used for to give information about various bank loan rates
to ATM card holder.

7. Help Menu:-
Help menu gives information about how to use ATM card when
you give correct information to ATM system. I describe information
about all transaction menus & what is used of each menu.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Feasibility study:-
Feasibility Study is essential to evaluate cost & benefit of the proposed
system. This is very important step because on the basis of this; system decision is
taken on whether to proceed or to postpone the project or to cancel the project.
Feasibility study forms the most important phase in the system development life cycle
so that the people who are affected by the system benefit from the change. This
involves some very crude estimates of schedules of completion of the proposed
system and the cost of the system. This study ensures that the system meets the
objectives of the organization before it can be approved for development. It also
involves the study of different risks involved in developing the system.
The major areas to consider while determining the feasibility of a system
are:-

Technical Feasibility:-

The technical feasibility study always focuses on the existing computer


hardware, software and personal. This also includes need for more hardware, software
or personal and possibility of procuring or installing such facilities.

ATM is a system that can work on single stand alone Pentium machine
with 128 MB RAM, Hard disk drive size of 80 GB, mouse, monitor and keyboard &
it also require internet connection to corresponding computer. The equipments are
easily available in the market, so technically the system is very much feasible.

Economical Feasibility: -

This feasibility is useful to find the system development cost and checks
whether it is justifiable. The cost overheads include software and hardware
maintenance cost, training costs that includes cost required for manpower, electricity,
stationary etc. The proposed system will provide the right type of information at right
time, and in the required format. This will save time required for decision-making and
routine operations. Considering all these advantages, the cost overheads of the system
are negligible. So the system is economically feasible.

❖ Operational Feasibility : -

It is also known as resource feasibility. The operation users of the


system are expected to have minimum knowledge of computer. The developed
system is simple to use, so that the user will be ready to operate the system. The
proposed system is developed using JAVA programming language & Mysql

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

database which is platform independent and user friendly. So the system is


operationally feasible.

Hardware Requirements:-

● Processor: Pentium 4 or onwards.


● Hard Disc: 80GB.
● RAM: 128MB.
● Monitor: 15= Color Monitor.
● Mouse.
● Keyboard.

Software Requirements:-

Operating System: - Windows XP or onwards or Linux.

● Java Run Time Environment (JRE) – jdk1.5 (As Front End Tool).
● Mysql-connector-java-5.1.22-bin.
● MYSQL server (As Back End Tool).
● JCreator.

Programming Languages Used:-

In this system we use JAVA Platform for programming language.JAVA


Platform means the environment which is used to run program.JAVA is
platform independent language since no only single operating system can be
required by the java. All the different operating system can execute the java
programming language.

Java provides huge functionality that means it provide A huge library.


❖ Containing lots of reusable codes.

❖ An execution environment that provides services such as security.

❖ Portability across operating system.

❖ Automatic garbage collection.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Requirement Analysis:-
This involves studying the current system to find out how it is
working and where the improvements should be made. These studies consider both
manual and computer methods. Hence an early step in investigation is to understand
situation.

Entity Relationship Diagram:-

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Normalized Database Design:-

Database Table Design:-


The general theme behind a database is to handle information as an
integrated whole. A database is a collection of interrelated data stored with minimum
redundancy to serve many users quickly and effectively. After designing the input and
output, the analyst must concentrate on database design or how data should be
organized around user requirements. The general objective is to make information
access, easy quick, inexpensive and flexible for other users. During database design
the following objectives are concerned:-

Controlled Redundancy

Easy to learn and use

More information and low cost

Accuracy

Integrity

1) Table Name: - accountdetail It stores the information about


account detail of ATM card holder.

Field name Data type Size Constraint Description

Atmno int 20 Primary key ATM card no.

Accno int 20 Not Null Account no of ATM card holder.

Pinno int 10 Not Null PIN no of ATM card holder.

Acctype varchar 50 Not Null Account type of ATM card


holder.

Name varchar 100 Not Null Name of the ATM card holder.

Balance float Not Null Available balance of ATM card


holder.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Expirydate date Not Null ATM card expiry date.

2) Table Name: - transaction It stores the information about


each transaction created by ATM card holder.

Field name Data type Size Constraint Description

Trid Int 10 Primary key Transaction no

Atmno Int 20 Foreign key ATM card no.

Accno Int 20 Foreign key Account no of ATM card holder.

Depositamt float Not Null Deposit amount of ATM card


holder.

Withamt float Not Null Withdrawal amount of ATM card


holder.

Avbalance float Not Null Available balance of ATM card


holder.

Tdate date Not Null Transaction date at which


transaction occurred by ATM card
holder.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Activity Diagram:-

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Code:-
//Welcome screen

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.applet.*;

public class Welcome extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JButton b,b1;
JLabel l1,l2,l3,l4,l5,l6;
ImageIcon img1;
JTextField t1;
String strdate,strtime;
File wavFile = new File("clicksound.au");
AudioClip sound;

public Welcome()
{
jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l2=new JLabel("Welcome To ICICI Bank");


l2.setFont(new Font("Times New Roman",Font.BOLD,40));
l2.setForeground(Color.BLUE);
l2.setBounds(180,230,500,30);
jf.add(l2);

l3=new JLabel("ATM Services");


l3.setFont(new Font("Times New Roman",Font.BOLD,30));
l3.setForeground(Color.BLUE);
l3.setBounds(300,300,300,30);
jf.add(l3);

l4=new JLabel("Press OK To Use ATM Service or Press


Exit to quite"); l4.setF
ont(f1)
;
l4.setF
oregro
und(Co
lor.BLU
E);
l4.setB
ounds(
Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)
lOMoARcPSD|33986000

120,37
0,580,
30);
jf.add(l
4);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

b=new JButton("Ok",new ImageIcon("ok.png"));


b.setFont(f);
b.setBounds(200,550,130,40);
jf.add(b);
b.addActionListener(this);

b1=new JButton("Exit",new ImageIcon("cancel.png"));


b1.setFont(f);
b1.setBounds(500,550,130,40);
jf.add(b1);
b1.addActionListener(this);

img1=new ImageIcon("bank.jpg");
l1=new JLabel(img1);
l1.setBounds(1,1,800,700);
jf.add(l1);

jf.setTitle("WELCOME TO ICICI BANK ATM");


jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==b)
{
sound.play();
new Atmcardno();
jf.setVisible(false);
}
else if(ae.getSource()==b1)
{
sound.play();
System.exit(0);
}
}
public static void main(String args[])
{
new Welcome();
}

//Transaction Menu
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.sql.*;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

import java.io.*;
import java.applet.*;
import javax.swing.Timer;

public class TransactionMenu extends JFrame implements ActionListener


{

JFrame jf;
Font f,f1;
JButton b1,b2,b3,b4,b5,b6,b61,b7;
JLabel l1,l2,l3;
ImageIcon img1;
Connection con;
PreparedStatement ps;
Statement stmt;
ResultSet rs;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;
int atno,acno,pno;
String actype;

public TransactionMenu(int atno1,int acno1,int pno1,String actype1)


{
atno=atno1;
acno=acno1;
pno=pno1;
actype=actype1;

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l2=new JLabel("Select Any One Option From The Following");


l2.setFont(f1);
l2.setForeground(Color.BLUE);
l2.setBounds(130,250,600,30);
jf.add(l2);

b1=new JButton("Cash Withdrawal");


b1.setFont(f);
b1.setBounds(120,350,190,40);jf.add(b1);
b1.addActionListener(this);

b2=new JButton("Balance Enquiry");


b2.setFont(f);
b2.setBounds(120,400,190,40);jf.add(b2);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

b2.addActionListener(this);

b3=new JButton("Mini Statement");


b3.setFont(f);
b3.setBounds(120,450,190,40);jf.add(b3);
b3.addActionListener(this);

b4=new JButton("PIN Change");


b4.setFont(f);
b4.setBounds(450,350,190,40);jf.add(b4);
b4.addActionListener(this);

b61=new JButton("Cash Deposit");


b61.setFont(f);
b61.setBounds(450,400,190,40);jf.add(b61);
b61.addActionListener(this);

b5=new JButton("Loan Information");


b5.setFont(f);
b5.setBounds(450,450,190,40);jf.add(b5);
b5.addActionListener(this);

b6=new JButton("Help");
b6.setFont(f);
b6.setBounds(300,500,150,40);jf.add(b6);//320,500,190,40 cash dep
b6.addActionListener(this);

b7=new JButton("Cancel",new ImageIcon("cancel.png"));


b7.setFont(f);
b7.setBounds(300,580,150,40);jf.add(b7);
b7.addActionListener(this);
jf.add(l1);

jf.setTitle("Transaction Menu");
jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);

t =new Timer(20000,this);// 20 minisecond


t.start();
}

public void actionPerformed(ActionEvent ae)


{
if(ae.getSource()==t)

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

{
t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome(); jf.setVisible(false);
}
}

else if(ae.getSource()==b1)
{
sound.play();
t.stop();
new CashWithdrawal(atno,acno,pno,actype);
jf.setVisible(false);
}

else if(ae.getSource()==b2)
{
sound.play();
t.stop();
new BalanceEnquiry(atno,acno,pno,actype);
jf.setVisible(false);
}
else if(ae.getSource()==b3)
{
sound.play();
t.stop();
new MiniStatement(atno,acno,pno,actype);
jf.setVisible(false);

}
else if(ae.getSource()==b4)
{
sound.play();
t.stop();
new PinChange(atno,acno,pno,actype);
jf.setVisible(false);
}
else if(ae.getSource()==b61)
{
sound.play();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

t.stop();
new CashDeposit(atno,acno,pno,actype);
jf.setVisible(false);
}
else if(ae.getSource()==b5)
{
sound.play();
t.stop();
new LoanInformation();
jf.setVisible(false);
}
else if(ae.getSource()==b6)
{
sound.play();
t.stop();
new Help();
jf.setVisible(false);
}

else if(ae.getSource()==b7)
{
sound.play();
t.stop();
JOptionPane.showMessageDialog(this,"Your last transaction cancel.");
sound.play();
new Welcome();
jf.setVisible(false);
}
}
/* public static void main(String args[])
{
new TransactionMenu(ano,acno,pno);
}*/
}

//Pin Change

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.sql.*;
import java.io.*;
import java.lang.*;
import java.applet.*;

public class PinChange extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JButton b1,b2,b3;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

JLabel l1,l2,l3,l4,l5;
ImageIcon img1;
JPasswordField p1,p2,p3;
Connection con;
PreparedStatement ps;
Statement stmt,stmt1;
ResultSet rs;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;
int atno,acno,pno;
String actype;
int pp1,pp2,pp3;

public PinChange(int atno1,int acno1,int pno1,String actype1)


{
atno=atno1;
acno=acno1;
pno=pno1;
actype=actype1;

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l5=new JLabel("PIN Change");


l5.setFont(new Font("Times New ROman",Font.BOLD,30));
l5.setForeground(Color.BLUE);
l5.setBounds(300,250,200,30);
jf.add(l5);

l2=new JLabel("Enter old PIN no");


l2.setFont(f1);
l2.setForeground(Color.WHITE);
l2.setBounds(120,350,200,30);
jf.add(l2);

p1=new JPasswordField(10);
p1.setBounds(360,350,200,30);
jf.add(p1);

l3=new JLabel("Enter new PIN no");


l3.setFont(f1);
l3.setForeground(Color.WHITE);
l3.setBounds(120,400,200,30);
jf.add(l3);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

p2=new JPasswordField(10);
p2.setBounds(360,400,200,30);
jf.add(p2);

l4=new JLabel("Confirm new PIN no");


l4.setFont(f1);
l4.setForeground(Color.WHITE);
l4.setBounds(120,450,240,30);
jf.add(l4);

p3=new JPasswordField(10);
p3.setBounds(360,450,200,30);
jf.add(p3);

b1=new JButton("Enter",new ImageIcon("ok.png"));


b1.setFont(f);
b1.setBounds(120,550,130,40);jf.add(b1);
b1.addActionListener(this);

b2=new JButton("Clear",new ImageIcon("clear.png"));


b2.setFont(f);
b2.setBounds(280,550,130,40);jf.add(b2);
b2.addActionListener(this);

b3=new JButton("Cancel",new ImageIcon("cancel.png"));


b3.setFont(f);
b3.setBounds(440,550,130,40);jf.add(b3);
b3.addActionListener(this);

jf.add(l1);

jf.setTitle("Pin Change");
jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);

t =new Timer(20000,this);// 20 minisecond


t.start();
}

public void actionPerformed(ActionEvent ae)


{
if(ae.getSource()==t)
{
t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
else if(ae.getSource()==b1)
{
sound.play();
t.stop();

if(((p1.getText()).equals(""))&&((p2.getText()).equals(""))&&((p3.getText()).equals("")))
{
JOptionPane.showMessageDialog(this,"Please enter old PIN no 1 times and new PIN no 2
times !","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
}
else if((Integer.parseInt(p2.getText()))!=(Integer.parseInt(p3.getText())))
{
JOptionPane.showMessageDialog(this,"Please enter New PIN no & confirm PIN no same
!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
p1.setText("");
p2.setText("");
p3.setText("");
}
else
{
try
{
int foundrec=0;
int pingiv=Integer.parseInt(p1.getText());
Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
stmt1=con.createStatement();
ps=con.prepareStatement("select * from accountdetail where atmno='"+atno+"' and
accno='"+acno+"' and acctype='"+actype+"' and pinno='"+pingiv+"' ");
rs=ps.executeQuery();
while(rs.next())
{

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

foundrec=1;
}
if(foundrec==1)
{
pp1=Integer.parseInt(p1.getText());
pp2=Integer.parseInt(p2.getText());
pp3=Integer.parseInt(p3.getText());

stmt=con.createStatement();
stmt.executeUpdate("update accountdetail set pinno="+pp2+" where atmno='"+atno+"'
and accno='"+acno+"' and acctype='"+actype+"' and pinno='"+pp1+"' ");
JOptionPane.showMessageDialog(null,"You have update PIN no succesfully.");
new Welcome();
jf.setVisible(false);
}
else
{
JOptionPane.showMessageDialog(null,"You enter wrong old PIN no.");
p1.setText("");
p2.setText("");
p3.setText("");
}
con.close();
}
catch(SQLException se)
{
System.out.println(se);
// JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)
{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);
}
}
}
else if(ae.getSource()==b2)
{
sound.play();
p1.setText("");
p2.setText("");
p3.setText("");

}
else if(ae.getSource()==b3)
{
sound.play();
JOptionPane.showMessageDialog(this,"Your last transaction cancel.");
sound.play();
new Welcome();
jf.setVisible(false);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

}
}
/*public static void main(String args[])
{
new PinChange();
}*/
}

//Mini Statement
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.sql.*;
import java.io.*;
import java.applet.*;
import javax.swing.table.*;
import javax.swing.table.DefaultTableModel;

public class MiniStatement extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JButton b1;
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l31,l41,l51,l61;
ImageIcon img1;
Connection con;
PreparedStatement ps,ps1;
Statement stmt;
ResultSet rs;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;
int atno,acno,pno;
String actype,strdate,strtime;
float givam,amt,abal,amtmin,sumbal;
Date date;
GregorianCalendar calendar;
DefaultTableModel model = new DefaultTableModel();
JTable tabGrid = new JTable(model);
JScrollPane scrlPane = new JScrollPane(tabGrid);

public MiniStatement(int atno1,int acno1,int pno1,String actype1)


{
atno=atno1;
acno=acno1;
pno=pno1;
actype=actype1;//int atno=1000,acno=10001;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

date= new Date();


calendar=new GregorianCalendar();
calendar.setTime(date);
strdate =calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-
"+calendar.get(Calendar.DATE);
strtime=date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
System.out.println(strdate);
System.out.println(strtime);

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,15);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l2=new JLabel("Mini Statement");


l2.setFont(new Font("Times New ROman",Font.BOLD,30));
l2.setForeground(Color.BLUE);
l2.setBounds(250,200,250,30);
jf.add(l2);

l3=new JLabel("DATE");
l3.setFont(f1);
l3.setForeground(Color.WHITE);
l3.setBounds(100,250,70,20);jf.add(l3);

l31=new JLabel(strdate);
l31.setFont(f1);
l31.setForeground(Color.WHITE);
l31.setBounds(100,270,150,20);jf.add(l31);
l31.setText(strdate);

l4=new JLabel("TIME");
l4.setFont(f1);
l4.setForeground(Color.WHITE);
l4.setBounds(250,250,70,20);jf.add(l4);

l41=new JLabel(strtime);
l41.setFont(f1);
l41.setForeground(Color.WHITE);
l41.setBounds(250,270,150,20);jf.add(l41);

l5=new JLabel("ATM NO");


l5.setFont(f1);
l5.setForeground(Color.WHITE);
l5.setBounds(380,250,110,20);jf.add(l5);

l51=new JLabel();
l51.setFont(f1);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

l51.setForeground(Color.WHITE);
l51.setBounds(380,270,300,20);jf.add(l51);

scrlPane.setBounds(100,300,300,190);
jf.add(scrlPane);
tabGrid.setFont(new Font ("Times New Roman",0,15));

model.addColumn("TRDate");
model.addColumn("Depositamt");
model.addColumn("Withamt");
model.addColumn("Balance");

l6=new JLabel("Available balance:");


l6.setFont(f1);
l6.setForeground(Color.WHITE);
l6.setBounds(100,500,130,20);jf.add(l6);

l61=new JLabel(); l61.setFont(f1);


l61.setForeground(Color.WHITE);
l61.setBounds(230,500,150,20);jf.add(l61);
f
Bank.")

.")

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

try
{
Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
ps1=con.prepareStatement("select * from transaction where
atmno='"+atno+"' and accno='"+acno+"' order by trid desc limit 11");
rs=ps1.executeQuery();
int r=0;
rs.last();
while(rs.previous())
{
model.insertRow(r++,new
Object[]{rs.getString(7),rs.getString(4),rs.getString(5),rs.getString(6)});

ps=con.prepareStatement("select * from accountdetail where


atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())
{
String atno2=rs.getString(1);
System.out.println("ATM NO is:"+atno2);
l51.setText(atno2);
String curbal=rs.getString(6);
System.out.println("Available balance are:"+curbal);
l61.setText(curbal);
}
con.close();
}
catch(SQLException se)
{
System.out.println(se);
//JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)
{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);
}

t =new Timer(20000,this);// 20 minisecond


t.start();
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==t)
{

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
else if(ae.getSource()==b1)
{ sound.play();
JOptionPane.showMessageDialog(this,"Your last transaction cancel.");
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
/*public static void main(String args[])
{
new MiniStatement();
}*/
}
//Loan information

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.io.*;
import java.applet.*;

public class LoanInformation extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9;
JButton cancel;
ImageIcon img;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

LoanInformation()
{
jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);
try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l2=new JLabel("Loan Information");


l2.setFont(new Font("Times New ROman",Font.BOLD,30));
l2.setForeground(Color.BLUE);
l2.setBounds(280,250,250,20);
jf.add(l2);

l3=new JLabel("Home Loan @ only 9%.");


l3.setFont(f1);
l3.setForeground(Color.WHITE);
l3.setBounds(40,300,680,25);
jf.add(l3);

l4=new JLabel("Personal Loan @ only 10%.");


l4.setFont(f1);
l4.setForeground(Color.WHITE);
l4.setBounds(40,350,680,25);
jf.add(l4);

l5=new JLabel("Car Loan @ only 12%.");


l5.setFont(f1);
l5.setForeground(Color.WHITE);
l5.setBounds(40,400,680,25);
jf.add(l5);

l6=new JLabel("Student Loan @ only 5%.");


l6.setFont(f1);
l6.setForeground(Color.WHITE);
l6.setBounds(40,450,680,25);
jf.add(l6);

l7=new JLabel("Computer or Laptop Loan @ only 8%.");


l7.setFont(f1);
l7.setForeground(Color.WHITE);
l7.setBounds(40,500,680,25);
jf.add(l7);
l8=new JLabel("For more information Visit
Bank."); our nearest branch of our

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

tVisible(true);
2000 1911 .");
t =new Timer(30000,this);//
30 minisecond
t.start();
}
public void
actionPerformed(ActionEvent ae)
{
if(ae.getSource()==t)
{
t.stop();
int
reply=JOptionPane.showC
onfirmDialog(null,"Do you
want continue?","ATM
Time
Warning",JOptionPane.YES
_NO_OPTION);

if (reply ==
JOptionPane.YES_OPTION)
{
sound
.play()
;
t.start
();
}
else if (reply ==
JOptionPane.NO_OP
TION)
{
sound.play();
t.stop();
new Welcome(); jf.setVisible(false);
}
}

else if(ae.getSource()==cancel)

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

sound.play(); JOptionPane.showMessageDialog(this,"Your last transaction cancel.");


sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
public static void main(String args[])
{
new LoanInformation();
}
}
//Help

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.io.*;
import java.applet.*;

public class Help extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12;
JButton cancel;
ImageIcon img;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;

Help()
{
jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New
Roman",Font.BOLD+Font.ITALIC,25);//label
jf.setLayout(null);
try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l2=new JLabel("Help");
l2.setFont(new Font("Times New ROman",Font.BOLD,30));
l2.setForeground(Color.BLUE);
l2.setBounds(320,250,200,30);
jf.add(l2);

l3=new JLabel("Cash withdrawal options used to getting money


from the ATM.");

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

l3.setFont(f);
l3.setForeground(Color.WHITE);
l3.setBounds(40,300,670,25);
jf.add(l3);

balance.")

card.")

rate."

of our Bank.");

l10=ne
w
JLabel("
Mr.Aks
hay
Mahadi
k.");
l10.setF
ont(f1);
l10.setF
oregro
und(Col
or.RED)
;
l10.set
Bounds
(340,48
0,250,3
0);
jf.add(l
10);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

l11=new JLabel("Under the guidence of ");


l11.setFont(f);
l11.setForeground(Color.RED);
l11.setBounds(40,510,200,20);
jf.add(l11);

l12=new JLabel("Mrs.Shobha Jagtap.");


l12.setFont(f1);
l12.setForeground(Color.RED);
l12.setBounds(250,510,250,30);
jf.add(l12);

cancel=new JButton("Cancel",new ImageIcon("cancel.png"));


cancel.setFont(f);
cancel.setBounds(280,570,130,40);
cancel.addActionListener(this);
jf.add(cancel);

img=new ImageIcon("bank.jpg");
l1=new JLabel(img);
l1.setBounds(1,1,800,700);
jf.add(l1);

jf.setTitle("Help");
jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);

t =new Timer(30000,this);// 30 minisecond


t.start();

}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==t)
{
t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

jf.setVisible(false);
}
}
else if(ae.getSource()==cancel)
{
sound.play();
JOptionPane.showMessageDialog(this,"Your last transaction cancel.");
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
public static void main(String args[])
{
new Help();
}
}
//Cash Withdrawal

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.sql.*;
import java.io.*;
import java.applet.*;

public class CashWithdrawal extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JButton b1,b2,b3;
JLabel l1,l2,l3,l4;
ImageIcon img1;
JTextField t1;
Connection con;
PreparedStatement ps;
Statement stmt,stmt1;
ResultSet rs;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;
int atno,acno,pno;
String actype,strdate;
float givam,amt,abal,amtmin,sumbal;
Date date1;
GregorianCalendar calendar;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

public CashWithdrawal(int atno1,int acno1,int pno1,String actype1)


{
atno=atno1;
acno=acno1;
pno=pno1;
actype=actype1;

date1= new Date();


calendar=new GregorianCalendar();
calendar.setTime(date1);
strdate =calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-
"+calendar.get(Calendar.DATE);
System.out.println(strdate);
System.out.println(actype);

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l4=new JLabel("Cash Withdrawl");


l4.setFont(new Font("Times New ROman",Font.BOLD,30));
l4.setForeground(Color.BLUE);
l4.setBounds(250,250,250,30);
jf.add(l4);

l3=new JLabel("Enter the amount to be withdrawal:");


l3.setFont(f1);
l3.setForeground(Color.WHITE);
l3.setBounds(100,380,400,30);jf.add(l3);

t1=new JTextField(40);
t1.setBounds(500,380,200,30);jf.add(t1);

b1=new JButton("Enter",new ImageIcon("ok.png"));


b1.setFont(f);
b1.setBounds(120,550,130,40);jf.add(b1);
b1.addActionListener(this);

b2=new JButton("Clear",new ImageIcon("clear.png"));


b2.setFont(f);
b2.setBounds(280,550,130,40);jf.add(b2);
b2.addActionListener(this);

b3=new JButton("Cancel",new ImageIcon("cancel.png"));


b3.setFont(f);
b3.setBounds(440,550,130,40);jf.add(b3);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

b3.addActionListener(this);

jf.add(l1);

jf.setTitle("Cash Withdrawal");
jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);

t =new Timer(20000,this);// 20 minisecond


t.start();
}

public void actionPerformed(ActionEvent ae)


{
if(ae.getSource()==t)
{
t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome(); jf.setVisible(false);
}
}

else if(ae.getSource()==b1)
{ sound.play();
t.stop();
if(((t1.getText()).equals("")))
{
JOptionPane.showMessageDialog(this,"Please enter withdrawal
amount!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
}
givam=0;
amt=0;
givam=Float.parseFloat(t1.getText()); System.out.println("You
enter amount are:"+givam);//////////

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

try
{

Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
ps=con.prepareStatement("select sum(withamt) from transaction where
tdate='"+strdate+"' and atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())//check today withdrawal sum
{
sumbal=0;
sumbal=sumbal+rs.getFloat(1);
System.out.println("You Today previous wihthdraw Rs:"+sumbal);
}
if(sumbal>1.0) ////if record found on current date then
{
if(actype=="saving")//saving account checking previous amt on current date and
enter amt on current date
{
if((sumbal+givam)<=25000)
{
if(givam<100)
{
JOptionPane.showMessageDialog(this,"You can not withdraw amount less than 100
RS!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else if(givam>10000)
{
JOptionPane.showMessageDialog(this,"You can not withdraw amount greater than
10000 RS at the same time!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else if(givam>100 && (!(givam % 100 ==0)))
{
JOptionPane.showMessageDialog(this,"Withdrawal amount should
be multiple of 100","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else
{

ps=con.prepareStatement("select * from accountdetail where atmno='"+atno+"' and


accno='"+acno+"' and pinno='"+pno+"' and acctype='"+actype+"'");
rs=ps.executeQuery();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

if(rs.next())
{
abal=Float.parseFloat(rs.getString(6));

if(abal>1000)
{
if(givam<=(abal-1000))
{
amt=((abal-1000)-givam);
amtmin=(amt+1000);
stmt=con.createStatement();
stmt.executeUpdate("update
accountdetail set balance="+amtmin+" where atmno='"+atno+"'");
System.out.println("You withdraw rs:"+t1.getText());
stmt1=con.createStatement();
stmt1.executeUpdate("insert into transaction
(atmno,accno,depositamt,withamt,avbalance,tdate)values('"+atno+"','"+acno+"',0,'"+givam+
"','"+amtmin+"','"+strdate+"') ");//
int reply=JOptionPane.showConfirmDialog(null,"Your cash withdrawal is in processing take
money from machine.Do you have to take receipt?","Cash withdrawl
Message",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.stop();
new BalanceEnquiry(atno,acno,pno,actype);
jf.setVisible(false);
}
else if (reply == JOptionPane.NO_OPTION)
{
ps=con.prepareStatement("select * from accountdetail where
atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())
{
float curbal=rs.getFloat(6);
JOptionPane.showMessageDialog(null,"Your available balance are: '"+curbal+"'","Available
balance",JOptionPane.INFORMATION_MESSAGE);
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
}///
else
{
JOptionPane.showMessageDialog(this,"Your balance is less to withdraw
amount","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

t1.setText("");
}
}
else
{
JOptionPane.showMessageDialog(this,"Your balance is less,You should keep minimum
balance 1000 RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
}
}
else
{
JOptionPane.showMessageDialog(this,"Your can not withdraw per day greater than
25000 RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}//
}
else
{
if(actype=="current")//current account checking previous amt on current
date and enter amt on current date
{
if((sumbal+givam)<=50000)
{
if(givam<100)
{
JOptionPane.showMessageDialog(this,"You can not withdraw amount less than 100
RS!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else if(givam>10000)
{
JOptionPane.showMessageDialog(this,"You can not withdraw amount greater than
10000 RS at the same time!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else if(givam>100 && (!(givam % 100 ==0)))
{
JOptionPane.showMessageDialog(this,"Withdrawal amount should
be multiple of 100","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else
{

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

ps=con.prepareStatement("select * from accountdetail where atmno='"+atno+"' and


accno='"+acno+"' and pinno='"+pno+"' and acctype='"+actype+"'");
rs=ps.executeQuery();
if(rs.next())
{
abal=Float.parseFloat(rs.getString(6));

if(abal>1000)
{
if(givam<=(abal-1000))
{
amt=((abal-1000)-givam);
amtmin=(amt+1000);
stmt=con.createStatement();
stmt.executeUpdate("update
accountdetail set balance="+amtmin+" where atmno='"+atno+"'");
System.out.println("You withdraw rs:"+t1.getText());
stmt1=con.createStatement();
stmt1.executeUpdate("insert into transaction
(atmno,accno,depositamt,withamt,avbalance,tdate)values('"+atno+"','"+acno+"',0,'"+givam+
"','"+amtmin+"','"+strdate+"') ");//
int reply=JOptionPane.showConfirmDialog(null,"Your cash withdrawal is in processing take
money from machine.Do you have to take receipt?","Cash withdrawl
Message",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.stop();
new BalanceEnquiry(atno,acno,pno,actype);
jf.setVisible(false);
}
else if (reply == JOptionPane.NO_OPTION)
{
ps=con.prepareStatement("select * from accountdetail where
atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())
{
float curbal=rs.getFloat(6);
JOptionPane.showMessageDialog(null,"Your available balance are: '"+curbal+"'","Available
balance",JOptionPane.INFORMATION_MESSAGE);
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
}///
else

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

{
JOptionPane.showMessageDialog(this,"Your balance is less to withdraw
amount","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
else
{
JOptionPane.showMessageDialog(this,"Your balance is less,You should keep minimum
balance 1000 RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
}
}
else
{
JOptionPane.showMessageDialog(this,"Your can not withdraw per day greater than
50000 RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");//
}
}
}
} //if record not found on current date then else
else
{
if(actype=="saving")
{ System.out.println(actype);

if(givam<=25000)
{
if(givam<100)
{
JOptionPane.showMessageDialog(this,"You can not withdraw amount less than 100
RS!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else if(givam>10000)
{
JOptionPane.showMessageDialog(this,"You can not withdraw amount greater than
10000 RS at the same time!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else if(givam>100 && (!(givam % 100 ==0)))
{

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

JOptionPane.showMessageDialog(this,"Withdrawal amount should


be multiple of 100","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else
{
ps=con.prepareStatement("select * from accountdetail where atmno='"+atno+"' and
accno='"+acno+"' and pinno='"+pno+"' and acctype='"+actype+"'");
rs=ps.executeQuery();
while(rs.next())
{
abal=Float.parseFloat(rs.getString(6));

if(abal>1000)
{
if(givam<=(abal-1000))
{
amt=((abal-1000)-givam);
amtmin=(amt+1000);
stmt=con.createStatement();
stmt.executeUpdate("update
accountdetail set balance="+amtmin+" where atmno='"+atno+"'");
System.out.println("You withdraw
rs:"+t1.getText());
stmt1=con.createStatement();
stmt1.executeUpdate("insert into transaction
(atmno,accno,depositamt,withamt,avbalance,tdate)values('"+atno+"','"+acno+"',0,'"+givam+
"','"+amtmin+"','"+strdate+"') ");

int reply=JOptionPane.showConfirmDialog(null,"Your cash withdrawal is in processing take


money from machine.Do you have to take receipt?","Cash withdrawl
Message",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)//go to balance diaplay


{
sound.play();
t.stop();
new BalanceEnquiry(atno,acno,pno,actype);
jf.setVisible(false);
}
else if (reply == JOptionPane.NO_OPTION)//only
balance on dialog box display the

{
ps=con.prepareStatement("select * from accountdetail where
atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())
{
int curbal=rs.getInt(6);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

JOptionPane.showMessageDialog(null,"Your available balance are: '"+curbal+"'","Available


balance",JOptionPane.INFORMATION_MESSAGE);
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
}///
else
{
JOptionPane.showMessageDialog(this,"Your balance is less to withdraw
amount","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
else
{
JOptionPane.showMessageDialog(this,"Your balance is less,You should keep minimum
balance 1000 RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
}
}
else
{
JOptionPane.showMessageDialog(this,"Your can not withdraw per day greater
than 25000 RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}//
else if(actype=="current")//current acc type if record are not found on current
date
{

JOptionPane.showMessageDialog(this,"You can not withdraw amount less than 100


RS!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else if(givam>10000)
{
JOptionPane.showMessageDialog(this,"You can not withdraw amount greater than
10000 RS at the same time!","Warning",JOptionPane.WARNING_MESSAGE);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

sound.play(); t1.setText("");
}
else if(givam>100 && (!(givam % 100 ==0)))
{
JOptionPane.showMessageDialog(this,"Wihdrawal
amount should
be multiple of 100","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
else
{
ps=con.prepareStatement("select * from accountdetail where atmno='"+atno+"' and
accno='"+acno+"' and pinno='"+pno+"' and acctype='"+actype+"'");
rs=ps.executeQuery();
while(rs.next())
{
abal=Float.parseFloat(rs.getString(6));

if(abal>1000)
{
if(givam<=(abal-1000))
{
amt=((abal-1000)-givam);
amtmin=(amt+1000);
stmt=con.createStatement();
stmt.executeUpdate("update
accountdetail set balance="+amtmin+" where atmno='"+atno+"'");
System.out.println("You withdraw rs:"+t1.getText());
stmt1=con.createStatement();
stmt1.executeUpdate("insert into transaction
(atmno,accno,depositamt,withamt,avbalance,tdate)values('"+atno+"','"+acno+"',0,'"+givam+
"','"+amtmin+"','"+strdate+"') ");

int reply=JOptionPane.showConfirmDialog(null,"Your cash withdrawal is in processing take


money from machine.Do you have to take receipt?","Cash withdrawl
Message",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)//go to balance diaplay


{
sound.play();
t.stop();
new BalanceEnquiry(atno,acno,pno,actype);
jf.setVisible(false);
}
else if (reply == JOptionPane.NO_OPTION)//only display the
balance on dialog box
{
ps=con.prepareStatement("select * from accountdetail where
atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

while(rs.next())
{
int curbal=rs.getInt(6);
JOptionPane.showMessageDialog(null,"Your available balance are: '"+curbal+"'","Available
balance",JOptionPane.INFORMATION_MESSAGE);
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
}///
else
{
JOptionPane.showMessageDialog(this,"Your balance is less to withdraw
amount","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
else
{
JOptionPane.showMessageDialog(this,"Your balance is less,You should keep minimum
balance 1000 RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
}
}
//}//
else
{
JOptionPane.showMessageDialog(this,"Your can not withdraw per day greater than 50000
RS","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
t1.setText("");
}
}
}
con.close();
}
catch(SQLException se)
{
System.out.println(se);
//JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)
{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

}
else if(ae.getSource()==b2)
{
sound.play();
t1.setText("");
}
else if(ae.getSource()==b3)
{
sound.play();
JOptionPane.showMessageDialog(this,"You
cancel."); r last transaction

sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
/* public static void main(String args[])
{
new CashWithdrawal();
}*/
}
//Cash Deposit

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.sql.*;
import java.io.*;
import java.applet.*;

public class CashDeposit extends JFrame implements ActionListener


{

JFrame jf;
Font f,f1;
JButton b1,b2,b3;
JLabel l1,l2,l3,l4;
ImageIcon img1;
JTextField t1;
Connection con;
PreparedStatement ps;
Statement stmt,stmt1;
ResultSet rs;
File wavFile = new File("clicksound.au");

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

AudioClip sound;
Timer t;
int atno,acno,pno,foundrec=0;
String actype,strdate;
float givam,amt,abal,amtmin,sumbal;
Date date1;
GregorianCalendar calendar;

public CashDeposit(int atno1,int acno1,int pno1,String actype1)


{
atno=atno1;
acno=acno1;
pno=pno1;
actype=actype1;

//atno=1000;
//acno=10001;

date1= new Date();


calendar=new GregorianCalendar();
calendar.setTime(date1);
strdate =calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-
"+calendar.get(Calendar.DATE);
System.out.println(strdate);

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l4=new JLabel("Cash Deposit");


l4.setFont(new Font("Times New ROman",Font.BOLD,30));
l4.setForeground(Color.BLUE);
l4.setBounds(250,250,250,30);
jf.add(l4);

l3=new JLabel("Enter the amount to be deposit:");


l3.setFont(f1);
l3.setForeground(Color.WHITE);
l3.setBounds(100,380,350,30);jf.add(l3);

t1=new JTextField(40);
t1.setBounds(460,380,200,30);jf.add(t1);

b1=new JButton("Enter",new ImageIcon("ok.png"));


b1.setFont(f);
b1.setBounds(120,550,130,40);jf.add(b1);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

b1.addActionListener(this);

b2=new JButton("Clear",new ImageIcon("clear.png"));


b2.setFont(f);
b2.setBounds(280,550,130,40);jf.add(b2);
b2.addActionListener(this);

b3=new JButton("Cancel",new ImageIcon("cancel.png"));


b3.setFont(f);
b3.setBounds(440,550,130,40);jf.add(b3);
b3.addActionListener(this);
}

public void actionPerformed(ActionEvent


jf.add(l1); ae)
{
if(ae.getSource()==t)
{
t.stop();
int
reply=JOptionPane.showC
onfirmDialog(null,"Do you
want continue?","ATM
Time
Warning",JOptionPane.YES
_NO_OPTION);

if (reply ==
JOptionPane.YES_OPTION)
{
sound
.play()
;
t.start
();
}
else if (reply ==
JOptionPane.NO_OP
TION)
{
sound.play();
t.stop();
new Welcome(); jf.setVisible(false);
}
}

elseif(ae.getSource()==b1)
{ sound.play();
t.stop();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

if(((t1.getText()).equals("")))
{
JOptionPane.showMessageDialog(this,"Please enter deposit
amount!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
}
givam=0; amt=0;
givam=Float.parseFloat(t1.getText());
System.out.println("You enter deposit amount
are:"+givam);//////////

try
{
float curbal=0;
Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
ps=con.prepareStatement("select * from accountdetail where
atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())
{
curbal=rs.getFloat(6);
}

amt=curbal+givam;
stmt=con.createStatement();
stmt.executeUpdate("update accountdetail set
balance="+amt+" where atmno='"+atno+"'");

stmt1=con.createStatement();
stmt1.executeUpdate("insert into transaction
(atmno,accno,depositamt,withamt,avbalance,tdate)values('"+atno+"','"+acno+"','"+givam+"'
,0,'"+amt+"','"+strdate+"') ");//
int reply=JOptionPane.showConfirmDialog(null,"Your cash deposit is in processing .Do you
have to take receipt?","Cash Deposit Message",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.stop();
new BalanceEnquiry(atno,acno,pno,actype);
jf.setVisible(false);
}
else if (reply == JOptionPane.NO_OPTION)
{
ps=con.prepareStatement("select * from accountdetail where
atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

{
float curbal1=rs.getFloat(6);
JOptionPane.showMessageDialog(null,"Your available balance are: '"+curbal1+"'","Available
balance",JOptionPane.INFORMATION_MESSAGE);
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
con.close();
}
catch(SQLException se)
{
System.out.println(se);
//JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)
{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);
}

}
else if(ae.getSource()==b2)
{
sound.play();
t1.setText("");
}
else if(ae.getSource()==b3)
{
sound.play();
JOptionPane.showMessageDialog(this,"You
cancel."); r last transaction

sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
/* public static void main(String args[])
{
new CashDeposit();
}*/
}
//Balance Enquiry

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.sql.*;
import java.io.*;
import java.applet.*;

public class BalanceEnquiry extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JButton b1;
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l31,l41,l51,l61;
ImageIcon img1;
Connection con;
PreparedStatement ps;
Statement stmt;
ResultSet rs;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;
int atno,acno,pno;
String actype,strdate,strtime;
float givam,amt,abal,amtmin,sumbal;
Date date;
GregorianCalendar calendar;

public BalanceEnquiry(int atno1,int acno1,int pno1,String actype1)


{
atno=atno1;
acno=acno1;
pno=pno1;
actype=actype1;

date= new Date();


calendar=new GregorianCalendar();
calendar.setTime(date);
strdate =calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-
"+calendar.get(Calendar.DATE);
strtime=date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
System.out.println(strdate);
System.out.println(strtime);

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

l2=new JLabel("Balance Enquiry");


l2.setFont(new Font("Times New ROman",Font.BOLD,30));
l2.setForeground(Color.BLUE);
l2.setBounds(250,250,250,30);
jf.add(l2);

l3=new JLabel("DATE");
l3.setFont(f1);
l3.setForeground(Color.WHITE);
l3.setBounds(100,300,70,30);jf.add(l3);

l31=new JLabel(strdate);
l31.setFont(f1);
l31.setForeground(Color.WHITE);
l31.setBounds(80,340,150,30);jf.add(l31);
l31.setText(strdate);

l4=new JLabel("TIME");
l4.setFont(f1);
l4.setForeground(Color.WHITE);
l4.setBounds(250,300,70,30);jf.add(l4);

l41=new JLabel(strtime);
l41.setFont(f1);
l41.setForeground(Color.WHITE);
l41.setBounds(250,340,150,30);jf.add(l41);

l5=new JLabel("ATM NO");


l5.setFont(f1);
l5.setForeground(Color.WHITE);
l5.setBounds(380,300,110,30);jf.add(l5);

l51=new JLabel(); l51.setFont(f1);


l51.setForeground(Color.WHITE);
l51.setBounds(380,340,300,30);jf.add(l51);

l6=new JLabel("Available Balance in RS:");


l6.setFont(f1);
l6.setForeground(Color.WHITE);
l6.setBounds(100,400,270,30);jf.add(l6);

l61=new JLabel(); l61.setFont(f1);


l61.setForeground(Color.WHITE);
l61.setBounds(380,400,270,30);jf.add(l61);
l7=new JLabel("Thank You For Banking With ICICI
information,"); BANK.For more

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

l7.setBounds(50,450,650,20);jf.add(l7);

l8=new JLabel("Please call Toll Free No:1800 2000 1911 or Visit


www.icicibank.com ");
l8.setFont(f);
l8.setForeground(Color.RED);
l8.setBounds(50,480,650,30);jf.add(l8);

b1=new JButton("Cancel",new ImageIcon("cancel.png"));


b1.setFont(f);
b1.setBounds(280,600,130,40);jf.add(b1);
b1.addActionListener(this);

img1=new ImageIcon("bank.jpg");
l1=new JLabel(img1);
l1.setBounds(1,1,800,700);
jf.add(l1);

jf.setTitle("Balance Enquiry");
jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);

try
{
Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
ps=con.prepareStatement("select * from accountdetail where
atmno='"+atno+"' and accno='"+acno+"'");
rs=ps.executeQuery();
while(rs.next())
{
String atno2=rs.getString(1);
System.out.println("ATM NO is:"+atno2);
l51.setText(atno2);
String curbal=rs.getString(6);
System.out.println("Available balance are:"+curbal);
l61.setText(curbal);
}
con.close();
}
catch(SQLException se)
{
System.out.println(se);
//JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);
}

t =new Timer(20000,this);// 20 minisecond


t.start();

public void actionPerformed(ActionEvent ae)


{
if(ae.getSource()==t)
{
t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
else if(ae.getSource()==b1)
{ sound.play();
JOptionPane.showMessageDialog(this,"Your last transaction cancel.");
sound.play();
t.stop();
new Welcome();
jf.setVisible(false);
}
}
/* public static void main(String args[])
{
new BalanceEnquiry();
}*/
}
//ATM Card No.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

import java.sql.*;
import java.io.*;
import java.applet.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class Atmcardno extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;
JButton b1,b2,b3;
JLabel l1,l2,l3,l4;
ImageIcon img1;
JTextField t1;
JPasswordField pwd;
Connection con;
PreparedStatement ps;
Statement stmt;
ResultSet rs;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;
int atno,acno,pno;
String curdate;
Date date;
GregorianCalendar calendar;

public Atmcardno()
{
date= new Date();
calendar=new GregorianCalendar();
calendar.setTime(date);
curdate =calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-
"+calendar.get(Calendar.DATE);
System.out.println(curdate);

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l4=new JLabel("ATM Card Number");


l4.setFont(new Font("Times New ROman",Font.BOLD,30));

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

l4.setForeground(Color.BLUE);
l4.setBounds(250,250,300,30);
jf.add(l4);

l2=new JLabel("Enter ATM card no:");


l2.setFont(f1);
l2.setForeground(Color.WHITE);
l2.setBounds(120,380,250,30);
jf.add(l2);

t1 = new JTextField(20);
t1.setBounds(370,380,200,30);
jf.add(t1);

l3=new JLabel("Enter PIN no:");


l3.setFont(f1);
l3.setForeground(Color.WHITE);
l3.setBounds(120,430,250,30);
jf.add(l3);

pwd=new JPasswordField(10);
pwd.setFont(f1);
pwd.setBounds(370,430,200,30);
jf.add(pwd);

b1=new JButton("Enter",new ImageIcon("ok.png"));


b1.setFont(f);
b1.setBounds(120,550,130,40);jf.add(b1);
b1.addActionListener(this);

b2=new JButton("Clear",new ImageIcon("clear.png"));


b2.setFont(f);
b2.setBounds(280,550,130,40);jf.add(b2);
b2.addActionListener(this);

b3=new JButton("Cancel",new ImageIcon("cancel.png"));


b3.setFont(f);
b3.setBounds(440,550,130,40);jf.add(b3);
b3.addActionListener(this);

img1=new ImageIcon("bank.jpg");
l1=new JLabel(img1);
l1.setBounds(1,1,800,700);
jf.add(l1);

jf.setTitle("ATM CARD NO");


jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

t =new Timer(20000,this);// 20 minisecond


t.start();

public void actionPerformed(ActionEvent ae)


{
if(ae.getSource()==t)
{
t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome(); jf.setVisible(false);
}
}

else if(ae.getSource()==b1)
{
//fetch
sound.play();
t.stop();
try
{
if(((t1.getText()).equals(""))&&((pwd.getText()).equals("")))
{
JOptionPane.showMessageDialog(this,"Please enter ATM card no and PIN
no!","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
}
else
{
int foundrec = 0;
Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
ps=con.prepareStatement("select * from accountdetail where
atmno='"+t1.getText()+"' and pinno='"+pwd.getText()+"'");
rs=ps.executeQuery();
while(rs.next())
{

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

atno=rs.getInt(1); System.out.println(atno);
acno=rs.getInt(2); System.out.println(acno);
pno=rs.getInt(3); System.out.println(pno);
String cardname=rs.getString(5); System.out.println(cardname);
String expdate=rs.getString(7);

try
{

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");


Date date1 = sdf.parse(expdate);
Date date2 = sdf.parse(curdate);

System.out.println("expiry date of atm card:"+sdf.format(date1));


System.out.println("Today date:"+sdf.format(date2));

if(date1.compareTo(date2)>=0)
{
System.out.println("Expiry date of atm:"+sdf.format(date1)+"is after today
date:"+sdf.format(date2));
JOptionPane.showMessageDialog(null,"Hello "+cardname);
sound.play();
new AccountType(atno,acno,pno);
jf.setVisible(false);
}
else if(date1.compareTo(date2)<0)
{
System.out.println("Date1 is before Date2");
JOptionPane.showMessageDialog(this,"Your atm card is out of expiry date.Please take
new ATM card from your home bank.","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
new Welcome();
jf.setVisible(false);

}
}
catch(ParseException ex)
{
System.out.println("Exception in date format"+ex);
ex.printStackTrace();
}

foundrec = 1;

}
if (foundrec == 0)
{
JOptionPane.showMessageDialog(null,"Invalid ATM card no or PIN
no.","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

t1.setText("");
pwd.setText("");
}
} con.close();
}
catch(SQLException se)
{
System.out.println(se);
// JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)
{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);
}
}
else if(ae.getSource()==b2)
{
sound.play();
t1.setText("");
pwd.setText("");

}
else if(ae.getSource()==b3)
{
sound.play();
JOptionPane.showMessageDialog(this,"Your last transaction cancel.");
sound.play();
new Welcome();
jf.setVisible(false);
}
}
/* public static void main(String args[])
{
new Atmcardno();
}*/
}
//Account Type

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.sql.*;
import java.io.*;
import java.applet.*;

public class AccountType extends JFrame implements ActionListener


{
JFrame jf;
Font f,f1;

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

JButton b1,bs1,bc1;
JLabel l1,l2,l4;
ImageIcon img1;
Connection con;
PreparedStatement ps;
Statement stmt;
ResultSet rs;
File wavFile = new File("clicksound.au");
AudioClip sound;
Timer t;
int atno,acno,pno;
String actype,actypegive;

public AccountType(int atno1,int acno1,int pno1)


{
atno=atno1;
acno=acno1;
pno=pno1;

jf=new JFrame();
f = new Font("Times New Roman",Font.BOLD,20);//button
f1 = new Font("Times New Roman",Font.BOLD,25);//label
jf.setLayout(null);

try{sound = Applet.newAudioClip(wavFile.toURL());}
catch(Exception e){e.printStackTrace();}

l4=new JLabel("Account Type");


l4.setFont(new Font("Times New ROman",Font.BOLD,30));
l4.setForeground(Color.BLUE);
l4.setBounds(250,250,300,30);
jf.add(l4);

l2=new JLabel("Seclect Account Type:");


l2.setFont(f1);
l2.setForeground(Color.WHITE);
l2.setBounds(120,400,250,30);
jf.add(l2);

bs1=new JButton("Saving");
bs1.setFont(f);
bs1.setBounds(390,360,130,40);jf.add(bs1);
bs1.addActionListener(this);

bc1=new JButton("Current");
bc1.setFont(f);
bc1.setBounds(390,440,130,40);jf.add(bc1);
bc1.addActionListener(this);

b1=new JButton("Cancel",new ImageIcon("cancel.png"));


b1.setFont(f);

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

b1.setBounds(280,550,130,40);jf.add(b1);
b1.addActionListener(this);

img1=new ImageIcon("bank.jpg");
l1=new JLabel(img1);
l1.setBounds(1,1,800,700);
jf.add(l1);

jf.setTitle("Account Type");
jf.setSize(800,700);
jf.setLocation(220,20);
jf.setResizable(false);
jf.setVisible(true);

t =new Timer(20000,this);// 20 minisecond


t.start();
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==t)
{
t.stop();
int reply=JOptionPane.showConfirmDialog(null,"Do you want continue?","ATM Time
Warning",JOptionPane.YES_NO_OPTION);

if (reply == JOptionPane.YES_OPTION)
{
sound.play();
t.start();
}
else if (reply == JOptionPane.NO_OPTION)
{
sound.play();
t.stop();
new Welcome(); jf.setVisible(false);
}
}

else if(ae.getSource()==b1)
{
sound.play();
t.stop();
JOptionPane.showMessageDialog(this,"Your last transaction cancel.");
sound.play();
new Welcome();
jf.setVisible(false);
}
else if(ae.getSource()==bs1)//saving account matching
{
sound.play();
t.stop();

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

try
{

int foundrec = 0;
Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
ps=con.prepareStatement("select acctype from accountdetail where
atmno='"+atno+"' and accno='"+acno+"' and pinno='"+pno+"' ");
rs=ps.executeQuery();
while(rs.next())
{
actypegive=rs.getString(1);
System.out.println(actypegive);
foundrec = 1;
}
if (foundrec == 1)
{
if(actypegive.equals("saving"))
{
actype="saving";
System.out.println(actypegive);
new TransactionMenu(atno,acno,pno,actype);
jf.setVisible(false);
}
else
{
JOptionPane.showMessageDialog(null,"Your account type is not match with given
account type.","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
new Welcome();
jf.setVisible(false);
}
}
con.close();
}
catch(SQLException se)
{
System.out.println(se);
// JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)
{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);
}

}
else if(ae.getSource()==bc1)//current account matching

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

{
sound.play();
t.stop();
try
{

int foundrec1 = 0;
Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","");
System.out.println("Connected to database.");
ps=con.prepareStatement("select acctype from accountdetail where
atmno='"+atno+"' and accno='"+acno+"' and pinno='"+pno+"' ");
rs=ps.executeQuery();
while(rs.next())
{
actypegive=rs.getString(1);
System.out.println(actypegive);
foundrec1 = 1;
}
if (foundrec1 == 1)
{
if(actypegive.equals("current"))
{
actype="current";
System.out.println(actype);
new TransactionMenu(atno,acno,pno,actype);
jf.setVisible(false);
}
else
{
JOptionPane.showMessageDialog(null,"Your account type is not match with given
account type.","Warning",JOptionPane.WARNING_MESSAGE);
sound.play();
new Welcome();
jf.setVisible(false);
}
}
con.close();
}
catch(SQLException se)
{
System.out.println(se);
// JOptionPane.showMessageDialog(null,"SQL Error:"+se);
}
catch(Exception e)
{
System.out.println(e);
//JOptionPane.showMessageDialog(null,"Error:"+e);
}
}

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

}
/*public static void main(String args[])
{
new AccountType();
}*/
}

User interface design: - Input Screens using sample data:


1) Welcome screen:

ATM
SYSTEM

1 1

2) ATM card no screen: on success then below screen.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

3) ATM card no screen: if enter wrong ATM no or PIN no.

4) ATM card no screen: if ATM card is out expiry date

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

5) ATM card no screen: each screen display out of 20sec then below message.

6) Account type screen: if account type is correct then go to transaction menu &
wrong then appear below screen & go to welcome screen.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

7) Transaction menu screen:

8) Cash withdrawal screen: if cash withdrawal is success then appear below screen,
if we click on YES then go to balance enquiry screen, if NO then show available
balance.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

9) Cash withdrawal screen: if we enter amount >10000 then below appear


screen.

10) Cash withdrawal screen: if per day withdrawal amount >25000 then below
appear screen if your account is saving & account is current then
amount>50000.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

11) Cash deposit screen: if cash deposit is success then appear below screen, if we
click on YES then go to balance enquiry screen, if NO then show available
balance.

12) Balance Enquiry screen:

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

13) PIN change screen: if we enter old pin no correct and new & confirm pin no
same then appear below screen.

14) PIN change screen: if we enter old pin no wrong and new & confirm pin no
same then appear below screen.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

15) PIN change screen: if we enter old pin no correct and new & confirm pin no
different then appear below screen.

16) Loan Information:

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

17) Help screen:

Reports: 1) Mini statement screen:

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Testing & Implementation plan:


A process of executing a program with the goal of finding errors is
Software Testing. A Software Testing Strategy helps to convert test case designs into
a well-planned execution steps that will result in the construction of successful
software. Software testing is a destructive process of trying to find the errors. The
main purpose of testing can be quality assurance, reliability estimation, validation or
verification.

Principle of Testing:

❖ All tests should be traceable as per the customer requirement.

❖ Resource planning should be in advanced.

❖ Test cases should not leave any fatal error.

❖ Test case should handle all critical functions.


Testing is the set of activities that can be planned in advance and conducted
systematically. To define these activities templates are provided by different testing
strategies.

Unit Testing:
At vertex of spiral, testing begins with unit testing. It aims at testing each
component or unit of software to check its functionality, independently. Ensures that it
works properly as a unit. Typical units are
Interface: tested to check proper flow of information into and out of the program
unit under test.
Local data structures: tested to check integrity of data during execution.
Boundary conditions: tested to ensure unit operates properly at boundaries to limit
processing.
Independent paths: tested to ensure all statements in the unit are executed at least
once.
Error handling paths: tested to check whether error messages are user friendly and
corresponds to error encountered, whether they reroute or terminate process when
error occurred.
Common errors found during unit testing are: incorrect initialization, precision
inaccuracy, mixed mode operation, incorrect arithmetic precedence etc.

Integration testing:
Further progressing the testing process, these units must be assembled or
integrated to form complete software package. So integration testing focuses the
problems of verification and construction.

Validation testing:
Taking one more outward turn along spiral, comes validation testing. It
consists of higher order tests using validation criteria defined during requirement
Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)
lOMoARcPSD|33986000

analysis phase. This test assures that software meets all functional, behavioural and
performance requirements.

Performance Testing:
It concentrate on the transaction response time, throughput etc. It is
designed to test the run-time performance of software within the context of an integral
system. Performance testing is conducted throughout all steps of testing process.

User Acceptance Testing:


The major concern while developing any product is that the product must
satisfy the user. Any acceptance testing validates & verifies whether the product is
user acceptable or not. This test confirms the reliability of the product.

Test Cases & Test Results:-

Test no Test name Description Expected Actual Result


output output
1 Validate Check for valid If ATM card no & If ATM card no & Pass
ATM card ATM card no & PIN no is valid then PIN no is valid
no & PIN PIN no of ATM go to test no 2. then go to test no
no. card no screen. If ATM card no & 2.
PIN no is not valid If ATM card no &
then display PIN no is not valid
message <Invalid then display
ATM card no or message <Invalid
PIN no.= ATM card no or
PIN no.=
2 Validate Check for ATM If ATM card is in If ATM card is in Pass
ATM card card expiry expiry date then expiry date then
expiry date. date is out of display next display next screen
current date of screen as a as a <Account
ATM cards no <Account Type= Type=
screen. If ATM card is out If ATM card is out
of expiry date then of expiry date then
display message display message
<Your ATM card <Your ATM card
is out of expiry is out of expiry
date. Please take date. Please take
new ATM card new ATM card
from your home from your home
bank.= bank.=
3 Validate Check for each If each screen is If each screen is Pass
each screen timer is timer is out of timer is out of
screen out of 20 20seconds then 20seconds then
time. seconds.
display messages display messages
<Do you want to <Do you want to

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

continue?= continue?=
If user clicks on If user clicks on
YES then current YES then current
screen is display screen is display
20seconds. 20seconds.
If user clicks on If user clicks on
NO then current NO then current
screen is exit & screen is exit &
display <Welcome display <Welcome
screen= screen=
4 Validate Check for If account type of If account type of Pass
account account type of ATM card holder is ATM card holder
type of ATM card match then display is match then
ATM card holder of next screen as display next
holder. Account type <Transaction screen as
screen. Menu= <Transaction
If account type of Menu=
ATM card holder is If account type of
not match then ATM card holder
display messages is not match then
<Your account display messages
type is not <Your account
matched with type is not
given account matched with
type.= & current given account
screen is exit & type.= & current
display <Welcome screen is exit &
screen= display <Welcome
screen=

5 Validate Check for If sum of If sum of Pass


withdrawal withdrawal withdrawal amount withdrawal
amount of amount on on current date & amount on
saving current date & enter withdrawal current date &
account. enter withdrawal amount of saving enter withdrawal
amount is account is amount of saving
<=25000 of <=25000 then go account is
saving account to test no 7. <=25000 then go
of cash If sum of to test no 7.
withdrawal withdrawal amount If sum of
screen. on current date & withdrawal
enter withdrawal amount on
amount of saving current date &
account is enter withdrawal
!<=25000 then amount of saving
display message account is
<Your cannot !<=25000 then
withdraw per day display message

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

greater than 25000 <Your cannot


RS= withdraw per day
greater than
25000 RS=

6 Validate Check for If sum of If sum of Pass


withdrawal withdrawal withdrawal amount withdrawal
amount of amount on on current date & amount on
current current date & enter withdrawal current date &
account. enter withdrawal amount of current enter withdrawal
amount is account is amount of current
<=50000 of <=50000 then go account is
current to test no 7. <=50000 then go
account of If sum of to test no 7.
cash withdrawal amount If sum of
withdrawal on current date & withdrawal
screen. enter withdrawal amount on
amount of current current date &
account is enter withdrawal
!<=50000 then amount of current
display message account is
<Your cannot !<=50000 then
withdraw per day display message
greater than 50000 <Your cannot
RS= withdraw per day
greater than
50000 RS=
7 Validate Check for If withdrawal If withdrawal Pass
withdrawal withdrawal amount is >100 amount is >100
amount. amount is >100 then go to test no then go to test no
of cash 8. 8.
withdrawal If withdrawal If withdrawal
screen. amount is !>100 amount is !>100
then display then display
message <You message <You
cannot withdraw cannot withdraw
amount less than amount less than
100 RS= 100 RS=

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

8 Validate Check for If withdrawal If withdrawal Pass


withdrawal withdrawal amount is >10000 amount is >10000
amount. amount is then display then display
>10000 of cash message <You message <You
withdrawal cannot withdraw cannot withdraw
screen. amount greater amount greater
than 10000 RS at than 10000 RS at
the same time= the same time=
If withdrawal If withdrawal
amount is amount is !>10000
!>10000 then go then go to test no
to test no 9. 9.

9 Validate Check for If withdrawal If withdrawal Pass


withdrawal withdrawal amount is divisible amount is divisible
amount. amount is by 100 then go to by 100 then go to
divisible by 100 test no 10. test no 10.
of cash If withdrawal If withdrawal
withdrawal amount is not amount is not
screen. divisible by 100 divisible by 100
then display then display
message <Amount message <Amount
should be multiple should be
of 100= multiple of 100=

10 Validate Check for If withdrawal If withdrawal Pass


withdrawal withdrawal amount is > amount is >
amount. amount is > available balance available balance
available balance then display then display
ATM card holder message <Your message <Your
of cash cash withdrawal cash withdrawal
withdrawal is in processing is in processing
screen. take money from take money from
machine. Do you machine. Do you
have to take have to take
receipt?, receipt?,
If ATM card If ATM card
holder clicks on holder clicks on
YES then go to YES then go to
<Balance Enquiry <Balance Enquiry
Screen= Screen=
If ATM card holder If ATM card
clicks on NO then holder clicks on
display message NO then display
<Your available message <Your
balance are: ---" available balance

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

If withdrawal are: ---"


amount is !>
available balance If withdrawal
then display amount is !>
message <Your available balance
balance is less to then display
withdraw amount= message <Your
balance is less to
withdraw
amount=

11 Validate old Check old PIN is If old PIN is correct If old PIN is pass
PIN no. correct of PIN then go to test no correct then go
Change screen. 12. to test no 12.
If old PIN is If old PIN is
wrong then display wrong then display
message "You message "You
enter wrong old enter wrong old
PIN no.” PIN no.”

12 Validate Check New PIN If New PIN is If New PIN is Pass


New PIN no is match with match with match with
& Confirm Confirm PIN no Confirm PIN no Confirm PIN no
PIN no. of PIN Change then display then display
screen. message <You message <You
have update PIN have update PIN
no successfully.= no successfully.=
If New PIN is not If New PIN is not
match with match with
Confirm PIN no Confirm PIN no
then display then display
message <Please message <Please
enter New PIN no enter New PIN
& confirm PIN no no & confirm
same != PIN no same !=

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

User Manual:-

● Objective :

The main objective of this user manual is to introduce the user with the
available facilities in the ATM System. It provides a conceptual overview of the
functioning of the system and the detailed discussion and reports.

This user manual is divided into following logical parts:

1. Getting Started.

2. Functioning of the system.

The information regarding how one can start with the ATM system and how
to select appropriate buttons on the welcome screen can be seen and find in the
Getting Started portion.

The Functioning of the system part deals with the description of the
purpose of each of the menu items and screens. It also describes the functioning of
the system i.e. where to input data, how to process it and the detailed information
about the reports and their printing. This portion also describes the purpose of each
input screen used in the system.

The error messages and their explanations and appropriate actions to be


taken is handled by Trouble Shooting part of the user manual of this document.

● Getting Started:

To start the ATM system, the steps to be followed are:

1. Switch ON the terminal / computer.

2. Windows is loaded and goes the ATM project folder and in than run
welcome.java file.

3. As soon as the welcome file is executing/running then click on ok button and


next screen will be appear on the monitor as ATM card no.

4. Enter ATM card no and PIN no if it correct then go to account type screen, if
wrong then re-enter.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

5. Select the account type, if account type is correct then goes to the next screen as
transaction menu if wrong then goes to the welcome screen.

6. Select any option from transaction menu screen and perform its respective
operations.

7. To cancel the current screen clicks in cancel button and next screen appear as
welcome.

8. To exit from the system clicks on the 8EXIT9 button on the welcome screen.

● Functioning of the System :

This part of the user manual describes the basic functioning of the
system the procedure to invoke the main menu which has been described
previously.

When the transaction screen appears the user can select several
operations that can be performed on the system.

The following is the list of processes or different transactions that can be


performed directly through the transaction screen.

Menu Explanation:-
This section refers to the various types of interfaces which the user has to
face during operating the computerized system of <System=.

The section refers with the entire interface [Screens] a user will have to face
while operating the current system. It shows the various screens appearing for
different transactions. All the screens of different transactions in the system are
shown here.

Menus and links of ATM System are as follows;

1) Welcome: - This is main file of ATM system, by using this we can enter to
the ATM system & go to next screen as ATM card no.

2) ATM card no: - by using this we can enter the ATM card no and PIN no &
these are correct then we go to next screen as Account type.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

3) Account Type: - by using this we can press our account type if account
type is match then go to next screen as Transaction. If account type is not
match then display appropriate message and go to welcome screen.

4) Transaction Menu: - by using this we can go to various screens such as


cash withdrawal, cash deposit, balance enquiry, mini statement, pin change,
loan information and help.

5) Cash Withdrawal: - by using this we withdraw cash from our account.

6) Cash Deposit: - by using this we deposit cash to our account.

7) Balance Enquiry: - by using this we can see our available balance.

8) Mini Statement: - by using this we can see our last 10 transaction.

9) PIN Change: - by using this we can change or update our PIN no of ATM
card.

10) Loan Information: - by using this we can see various loan rates such as
home loan, car loan and personal loan.

11) Help: - by using this we can see how to operate existing system.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

Drawbacks:-
1. ATM System requires 24 hours security therefore it requires security guards.
2. ATM System requires small shop to store machine therefore need to pay that
shop rents.
3. If money in the ATM is not available then it takes some time to fill the money
in the cash stock box in ATM machine.
4. If ATM card is lost & this lost ATM card uses any other person then it will
become dangerous.

Limitations:-
1. Our system may become obsolete as in computer industry; technological
developments are very fast, new software, new utilities may obsolete this
system.

2. System security is ATM card no and PIN no dependent, if security about ATM
card no and PIN no information is not maintained, system could be in great
danger.

3. This system is constructed and developed for text environment so pack gives
best appearance and performance under text environment but poor appearance
on GUI environment.

4. System requires electricity to function; absence may result in chaotic situation


in the organizational procedures.

Future scope:-
The system is designed keeping in mind the current requirements of the
ATM. However some aspects were not considered and system can easily changing
where shop requirements are changed.

Some of the enhancements can be:

❖ System can be design in GUI environment.

❖ System can be design to work without manpower by using Scratch card.

❖ The system can be made flexible so that new modules can be added at any

given time.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)


lOMoARcPSD|33986000

❖ In future system can be construct the modules of fund transfer, mobile

recharge, pay electricity bill can be developed.

Abbreviations:-

After I have completed the project we are sure that problem in the
existing system would overcome. <Automated Teller Machine (ATM). System”
process has been computerized reduced human error and to increase the efficiency.
The main focus of this project is to lessen human efforts. The maintenance of record
is made efficient, as all the records are stored in the database through which the data
can be retrieved easily. The navigation control is provided in all form to navigate
through large amount of records. My main aim of the project is to provide correct
banking services to customer of the bank at any time any place.

The problem which exited in earlier system, have been removed to large
extent. The computerization of the <Automated Teller Machine (ATM) System.”
will not only improve the efficiency but will also reduce human stress thereby
indirectly improving human resources.

Downloaded by Maheshwara Reddy (maheshwara8985@gmail.com)

You might also like