Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 31

Automated Teller Machine in Python

A PROJECT REPORT

Submitted in partial fulfilment of the requirement of the degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING

Supervised by: Submitted by:


Mr. Tejbir Rana Rajni mehta
Assistant Professor 6318034

Department of Computer Science

GURU NANAK INSTITUTE OF TECHNOLOGY,MULLANA

AFFILIATED TO

KURUSHETRA UNIVERSITY ,KURUSHETRA,HARYANA


Declaration

I hereby declare that the project report entitled “AUTOMATED TELLER MACHINE IN PYTHON”
submitted by me to Guru nanak institute of technology, Mullana in partial fulfilment of the requirement
for the award of the degree of B.Tech in computer science and engineering is a record of bonafide project
work carried out by my own efforts and fact arrived at my observation under the guidance of
Mr.Siddharth arora (Hod).

I further declare that the work reported in this project has not been submitted, either in part or in full, for
the award of any other degree or diploma in this institute or any other institute or university.

RAJNI MEHTA

1
CERTIFICATE:-

2
Acknowledgement

I acknowledge the contribution of each and every individual in the development of this project entitled
“AUTOMATED TELLER MACHINE IN PYTHON”, who directly or indirectly helped me in this
project. Without their support it would have been a tough job for me to complete this project.

I express my sincere thanks to Mr siddharth arora (Hod of cs:) who guided me across the process of
learning and implementing the python, which is the language used to develop this project.

I pay my deep sense of gratitude to my colleagues, friends and my parents for their valuable moral

RAJNI MEHTA

3
Abstract

The ATM system is the project which is used to access their bank account in order to make cash
withdrawals whenever the user need to make cash withdrawals, they can enter their PIN(Personal
Identification Number) and it will used to display the amount to be withdrawn in the form of 100’s, 500’s,
2000’s. Once their withdrawn was successful, the amount will be debited in their account.

The ATM system is develop in Python. Python is one of the powerful object oriented programming
language hence we used this language to develop our project.

The ATM will service one customer at a time. A customer will require to enter the ATM card number,
PIN Both of which will be sent to the data base for validation as part of each transaction. The customer
will the then able to perform one or more transaction. Also customer must will able to make a balance
enquiry of any account linked to the card.

The ATM will communicate each transaction to the database and obtain verification that is allowed by the
database . In the case of the cash withdrawal a second message will be send after the transaction have
been physically completed. If the database determined the customer’s PIN is invalid the customer will be
required to re-enter the PIN before a transaction can complete if a transaction failed for any reason other
than any invalid PIN the ATM will display an explanation of the problem and will then ask the customer
whether he or she want to do another transaction.

4
Content

S. No. Topic Page No.

 Declaration
 Certification
 Acknowledgements
 Abstract
1. List of figures 6
2. List of symbols and abbreviations 7
3. Introduction of the project 8
4. Level-0 DFD 10
4.1 DFD on ATM program
4.2 DFD on depositing
4.3 DFD on withdrawing
4.4 DFD on balance enquiry
4.5 DFD on change PIN
5. Methodology (the whole planning) 15
6. Facilities required for proposed work (Hardware & software specification) 19
6.1 Hardware Specifications
6.2 Software specifications
7. Tools and technology used 20
8. Experiments and results 21
9. Future scope 30
10. References 31

1. List of figures

S. No. Name of figure/diagram Page No.


1. Physical view of an ATM 8
2. DFD on ATM program 10
5
3. DFD on depositing 11
4. DFD on withdrawing 12
5. DFD on balance enquiry 13
6. DFD on change PIN 14
7. Working of an ATM 15
8. welcome page and main menu 22
9. choice 1 deposit feature 23
10. choice 2 withdrawal feature 24
11. choice 2 balance enquiry 25
12. choice 3 pin change feature 26
13. exiting from the ATM 27
14. incorrect PIN entered 28
15. PIN mismatch 29

2.List of symbols and abbreviations

S. No. Abbreviation Full form


1. IDE Integrated Development Environment
2. PIN Personal Identification Number
3. DFD Data Flow Diagram
4. RAM Random Access Memory
5. MHz Mega Hertz
6. ATM Automated Teller Machine

6
3.Introduction of project

The ATM is intended to be used by the individuals who are customer of a bank, possesses an active bank
account in that ATM, possesses an active ATM card of their own.

Following are the main objectives of the ATM developed during this project:

i. To provide the cash withdrawal facility to the users


ii. To provide the facility of checking the bank balance
iii. To provide the facility of changing the PIN to enhance security
iv. To provide the facility of deposit the amount

7
Figure 1: physical view of an ATM

This project is based on the working methodology of an ATM system. It provides some of the basic
functionality and features that mimics a real world ATM system.

An ATM (automated teller machine) is an electronic telecommunications device that enables customers
of financial institutions to perform financial transactions, such as cash withdrawals, deposits, transfer
funds, or obtaining account information, at any time and without the need for direct interaction with bank
staff [1].

Using an ATM, customers can access their bank deposit or credit accounts in order to make a variety of
financial transactions, most notably cash withdrawals and balance checking, as well as transferring credit
to and from mobile phones. ATMs can also be used to withdraw cash in a foreign country. If the currency
being withdrawn from the ATM is different from that in which the bank account is denominated, the
money will be converted at the financial institution's exchange rate[1].

Customers are typically identified by inserting a plastic ATM card (or some other acceptable payment
card) into the ATM, with authentication being by the customer entering a PIN (personal identification
number), which must match the PIN stored in the chip on the card (if the card is so equipped), or in the
issuing financial institution's database[1].

Use of ATM improves the way you follow to take the money out of your bank account. You no longer
need to fill form and formalities to take the money out of your account. All you need is just a simple card.
Card bears a unique 16- digit number with the access to your information being protected by a 4-digit
PIN. This the same which is used to verify the authentication your card. Card is inserted in the slot of
ATM to proceedp further where you be asked to enter your 4-digit PIN.
8
Upon entering the correct PIN you can:

i. Withdraw cash
ii. Check your account balance
iii. Change the PIN
iv. Deposit cash

If the entered PIN is wrong you get an another chance to enter the correct PIN. Card is blocked upon
entering the incorrect PIN for the three consecutive times for the security reasons. Once the card is
blocked no further operations can be performed by using that card.

9
4.Level 0 DFD

Change Pin

Diagram 1: DFD on ATM program

10
The Amount has been Credited to your A\C xxx0007

Diagram 2: DFD on depositing

11
Bal

Diagram 3: DFD on withdrawing

12
opt

Diagram 4: DFD on balance enquiry

13
opt

Diagram 5: DFD on change PIN

14
5. Methodology (the whole planning)

All implementation projects require the application of knowledge, skills, tools, methodologies and
techniques to undertake project tasks in order to meet or exceed a variety of needs and expectations.
Managing such projects requires the following:

 The identification of requirements (needs)


 The management of unidentified requirements (expectations)
 Establishment of clear and achievable objectives
 The balancing of the competing demands for scope, time schedule, cost and quality, and the
formulation of a plan to achieve the defined objectives using the available resource

Figure 2: working of an ATM

15
Following is the source code for the ATM:

Bal=50000

chance=3

x=7277

while chance>=0:

pin=int(input("Enter Your PIN"))

if pin==x:

print("Welcome Miss Rajni mehta your a/c no. is xxx0007\n")

print("Available Balance=Rs 50000")

print("Press 1 for Deposit\n")

print("press 2 for Withdraw\n")

print("press 3 for Balance enquiry\n")

print("press 4 for Change PIN\n")

print("press 5 for Exit\n")

opt=int(input(print("Choose an option\n")))

if opt==1:

dep=int(input(print("Enter the amount to be deposited\n")))

Bal=Bal+dep

print(dep,"has been Credited to your A\C xxx0007\n")

print("Available Balance Rs",Bal)

16
print("Thanks for visiting\n")

continue

elif opt==2:

wid=int(input(print("Enter the amount to be withdrawn\n")))

if(wid<=Bal):

Bal=Bal-wid

print(wid,"has been Debited from your A\C xxx0007\n")

print("Available Balance Rs",Bal)

print("Thanks for visiting\n")

else:

print(" Low Balance !!\n sorry,This amount cannot be withdrawn at this moment\n")

print("Thanks for visiting\n")

continue

elif opt==3:

print("Total Balance in your account is Rs",Bal)

print("Thanks for visiting\n")

continue

elif opt==4:

p=int(input(print("Enter New Pin")))

y=int(input(print("Confirm New Pin")))

if p==y:

17
x=p

print("Your Pin Change Successfully")

else:

print("Not match,Try again")

continue

elif opt==5:

print("Thanks for visiting\n")

else:

print("Please Enter a Correct PIN\n")

break

elif pin!=x:

print("Your PIN is incorrect,Try Again!!\n")

chance=chance-1

if chance==0:

print("Your A\C has been Temproary locked Please Try again after 30sec\n")

continue

18
6. Facilities required for proposed work (Hardware & software specification)

6.1 Hardware Specifications:

 RAM: minimum 512 MB (recommended 1 GB or more)


 Free disk space: 300 MB (recommended 1 GB or more) to run on IDE
 Processor speed: 800 MHz (recommended 1.5 GHz or faster)

6.2 Software Specifications:

 Python 3.7.3
 IDLE
 Command line interpreter (cmd)

19
7.Technology & tools used

7.1 Technology used: This project will be using the following technology

7.2.Python

python is an interpreter, high-level, general-purpose programming language.

Features of python[2]:

i. East to learn and use


ii. Expressive language
iii. Interpreted language
iv. Cross-Platform language
v. Free and Open source
vi. Object-Oriented language
vii. Extensible
viii. Large Standard Library
ix. GUI Programming Support
x. Integrated

7.3 Tools used: This project will be using following tools for development

i. Python 3.9.3
ii. IDLE
iii. Command line interpreter (cmd)

20
8. Expected result

The program under the ATM project is expected to produce the following result:

i. Accept the card and verify the credentials


ii. Incorrect credentials lead to the rejection of any transaction
iii. Correct credentials lead to the menu page of the ATM where the user is allowed to enter
his/her choice to proceed further.
iv. Program rejects any invalid choice which is out of range.
v. Upon opting for the cash withdrawal program rejects any invalid amount that an ATM cannot
dispense due to currency notes limitations.
vi. Program withstands any type-mismatch value given by the user using exception handling.
vii. Programs blocks any further transaction when incorrect PIN is entered three consecutive
times.
viii. Program can change the PIN of the card upon the user request.

21
Snaps of the output:-

Figure 3: choice 1 deposit feature

22
Figure 4: choice 2 withdrawal feature

23
Figure 5: Balance enquiry feature of ATM

24
Figure 6: PIN change feature of ATM

25
Figure 7: Exiting from the ATM

26
Figure 8: Incorrect PIN entered

27
Figure 9: PIN mismatch

28
9.Future Scope

 It can be implemented in ATM Machine by owner of the bank or in-charge of the branch.
 It is easy to learn the task.

29
10.Reference

[1] https://en.wikipedia.org/wiki/Automated_teller_machine

[2] https://www.tutorialspoint.com/What-are-the-major-features-of-python-programming

[3] https://www.python.org/downloads/

30

You might also like