0% found this document useful (0 votes)
25 views28 pages

Ankit

Ankit Document ATM Machine

Uploaded by

dhruvmishra941
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views28 pages

Ankit

Ankit Document ATM Machine

Uploaded by

dhruvmishra941
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 28

COMPUTER SCIENCE

PROJECT
ON

ATM PROCESSING SYSTEM


.

PROJECT PREPARED BY:

Ankit Gupta

Class (12)

Session: 2019-2020

Florets International School Panki, Kanpur

1
TABLE OF CONTENTS

 Certificate

 Acknowledgement

 System analysis

 Introduction

 Objectives

 Advantages

 System Design

 Flow Chart

 Source Code

 Outputs

 Conclusion

 References

2
ACKNOWLEDGEMENT

It would be my utmost pleasure to express


my sincere thanks to My Computer Science
Teacher MR. MUKESH SINGH in providing a
helping hand in this project. His unflagging
patience, creativity and immense knowledge that
he shared with me have proved highly beneficial
to me and have made my Project File both
possible and successful.

Ankit Gupta
XII

CERTIFICATE

3
This is to certify that Ankit Gupta of class XII
has completed this project titled “ ATM processing
machine ” under my guidance & this project may be
considered as the part of the practical exam of
AISSCE conducted by CBSE.

Ms. Shradha Sharma


Principal
FLORETS INTERNATONAL SCHOOL

4
SYSTEM ANALYSIS

TOOLS LANGUAGE AND PLATFORM TO BE


USED

 HARDWARE SPECIFICATION
MEMORY : 4 GB
 MICROPROCESSOR:1.2
 HARD DISK:1 TB
 PRINTER: hp Laser printer
 SOFTWARE SPECIFICATION PLATFORM :
PYTHON IDLE
 FRONT END: PYTHON
 WINDOWS 10
 M.S WORD

5
INTRODUCTION

An automated teller machine (ATM) 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

ATMs are known by a variety of names, including


automatic teller machine (ATM) in the United States . In
Canada, the term automated banking machine (ABM) is
used, although ATM is also very commonly used in
Canada, and many Canadian organizations use ATM over
ABM. In British English, the terms cashpoint, cash machine
and hole in the wall are most widely used. Other terms
include any time money, cashline, nibank, tyme machine,
cash dispenser, cash corner, bankomat, or bancomat.
Many ATMs have a sign above them indicating the name
of the bank or organisation that owns the ATM, and

6
possibly including the networks to which it can connect.
ATMs that are not operated by a financial institution are
known as "white-label" ATMs.

In this project PYTHON language is used to maintain


all the data. It provides many
features like file handling ,data can be easily
maintained and many features that are required while
doing a project.

7
OBJECTIVES OF THE PROPOSED SYSTEM

 To reduce time for the organization


 To increase efficiency and accuracy of the system

 To reduce pressure on the labour and relieving man


power from repetitive and dull job

 To make the retrieval of information faster

 To make the system more feasible

 To reduce large amount of paper work

 To make the system more reliable to avoid any


ambiguity.

 To reduce the cost factor of the system

 To make the system more flexible.

8
ADVANTAGES OF THE PROPOSED SYSTEM

 Transfer funds between linked bank accounts


 Receive account balance
 Prints recent transactions list
 Change your pin
 Deposit your cash
 Prepaid mobile recharge
 Bill payments
 Cash withdrawal
 Perform a range of feature in your foreign
language
 Helps in eliminating all the paper work, saves
time and improves customer services.

 Reduces pressure on the COUSTOMERS.

9
 Makes the system more feasible and flexible and
thus retrieval of information becomes convenient.

SYSTEM DESIGN

This section of the project involves the division of


project in some modules or parts thus making the
presentation of the project clear and easily
understandable. We have discussed below various
modules and part of project they contain.

MODULES (Description)

This project mainly consists of four menus:



 STATEMENT
 WITHDRAW
 DEPOSITE
 QUIT”

10
Enter choice

STATEMENT

Statement displays the amount available to our account


“YOU HAVE XXXXX EURO ON YOUR ACCOUNT.”

WITHDRAW

“ENTER AMOUNT YOU WOULD LIKE TO


WITHDRAW: Enter choice

YOUR NEW BALANCE IS: XXXX”

DEPOSITE
“ENTER AMOUNT YOU WANT TO LODGE:
Enter choice”

CHANGE PIN
“ENTER A NEW PIN: Enter choice”

11
QUIT
==========================================

Project : ATM Processing System


Developed by: Ankit Gupta, Abhishek Pal, Ali Raza

Thanks for Using Me

==========================================

12
FLOWCHART

13
SOURCE CODE

#!/usr/bin/python
import getpass
import string
import os

# creatinga lists of users, their PINs and bank statements


users = ['user1', 'user2', 'user3']
pins = ['1234', '2222', '3333']
amounts = [1000, 2000, 3000]
count = 0
def welcome():

print("================================================="
)
print(" ")
print(" ")
print(" ")
print(" ")
print(" Project : ATM Processing System ")
print(" Developed by: Ankit Gupta, Abhishek Pal, Ali Raza
")
print(" Class : 12-C ")
print(" Technologies:Python ")
print(" ")
print(" ")
print(" ")
print(" ")
print("================================================="
)
input("Press any key to continue...")
def lastview():

14
print("================================================="
)
print(" ")
print(" ")
print(" ")
print(" ")
print(" Project : ATM Processing System ")
print(" Developed by: Ankit Gupta, Abhishek Pal, Ali Raza
")
print(" ")
print(" ")
print(" ")
print(" Thanks for Using Me ")
print(" ")
print(" ")
print("================================================="
)
input("Press any key to continue...")
exit()
# while loop checks existance of the enterd username
welcome()
while True:
user = input('\nENTER USER NAME: ')
user = user.lower()
if user in users:
if user == users[0]:
n=0
elif user == users[1]:
n=1
else:
n=2
break
else:
print('----------------')

print('================================================')
print('INVALID USERNAME')

15
print('================================================')
print('----------------')

# comparing pin
while count < 3:
print('------------------')

print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
pin = str(getpass.getpass('PLEASE ENTER PIN: '))

print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
print('------------------')
if pin.isdigit():
if user == 'user1':
if pin == pins[0]:
break
else:
count += 1
print('-----------')
print('***********')
print('INVALID PIN')
print('***********')
print('-----------')
print()

if user == 'user2':
if pin == pins[1]:
break
else:
count += 1
print('-----------')
print('***********')
print('INVALID PIN')
print('***********')
print('-----------')
print()

if user == 'user3':

16
if pin == pins[2]:
break
else:
count += 1
print('-----------')
print('***********')
print('INVALID PIN')
print('***********')
print('-----------')
print()
else:
print('------------------------')
print('************************')
print('PIN CONSISTS OF 4 DIGITS')
print('************************')
print('------------------------')
count += 1

# in case of a valid pin- continuing, or exiting


if count == 3:
print('-----------------------------------')
print('***********************************')
print('3 UNSUCCESFUL PIN ATTEMPTS, EXITING')
print('!!!!!YOUR CARD HAS BEEN LOCKED!!!!!')
print('***********************************')
print('-----------------------------------')
exit()

print('-------------------------')
print('*************************')
print('LOGIN SUCCESFUL, CONTINUE')
print('*************************')
print('-------------------------')
print()
print('--------------------------')
print('**************************')
print(str.capitalize(users[n]), 'welcome to ATM')
print('**************************')
print('----------ATM SYSTEM-----------')
# Main menu

17
while True:
#os.system('clear')
print('-------------------------------')
print('*******************************')
response = input('SELECT FROM FOLLOWING OPTIONS: \
nStatement__(S) \nWithdraw___(W) \nLodgement__(l) \nChange
PIN_(P) \nQuit_______(Q) \n: ').lower()
print('*******************************')
print('-------------------------------')
valid_responses = ['s', 'w', 'l', 'p', 'q']
response = response.lower()
if response == 's':
print('---------------------------------------------')
print('*********************************************')
print(str.capitalize(users[n]), 'YOU HAVE ', amounts[n],'EURO
ON YOUR ACCOUNT.')
print('*********************************************')
print('---------------------------------------------')

elif response == 'w':


print('---------------------------------------------')
print('*********************************************')
cash_out = int(input('ENTER AMOUNT YOU WOULD LIKE
TO WITHDRAW: '))
print('*********************************************')
print('---------------------------------------------')
if cash_out%10 != 0:
print('------------------------------------------------------')

print('******************************************************')
print('AMOUNT YOU WANT TO WITHDRAW MUST
TO MATCH 10 EURO NOTES')

print('******************************************************')
print('------------------------------------------------------')
elif cash_out > amounts[n]:
print('-----------------------------')
print('*****************************')

18
print('YOU HAVE INSUFFICIENT BALANCE')
print('*****************************')
print('-----------------------------')
else:
amounts[n] = amounts[n] - cash_out
print('-----------------------------------')
print('***********************************')
print('YOUR NEW BALANCE IS: ', amounts[n],
'EURO')
print('***********************************')
print('-----------------------------------')

elif response == 'l':


print()
print('---------------------------------------------')
print('*********************************************')
cash_in = int(input('ENTER AMOUNT YOU WANT TO
DEPOSITE: '))
print('*********************************************')
print('---------------------------------------------')
print()
if cash_in%10 != 0:
print('----------------------------------------------------')

print('****************************************************')
print('AMOUNT YOU WANT TO DEPOSITE MUST
TO MATCH 10 EURO NOTES')

print('****************************************************')
print('----------------------------------------------------')
else:
amounts[n] = amounts[n] + cash_in
print('----------------------------------------')
print('****************************************')
print('YOUR NEW BALANCE IS: ', amounts[n],
'EURO')
print('****************************************')
print('----------------------------------------')

19
elif response == 'p':
print('-----------------------------')
print('*****************************')
new_pin = str(getpass.getpass('ENTER A NEW PIN: '))
print('*****************************')
print('-----------------------------')
if new_pin.isdigit() and new_pin != pins[n] and len(new_pin)
== 4:
print('------------------')
print('******************')
new_ppin = str(getpass.getpass('CONFIRM NEW PIN:
'))
print('*******************')
print('-------------------')
if new_ppin != new_pin:
print('------------')
print('************')
print('PIN MISMATCH')
print('************')
print('------------')
else:
pins[n] = new_pin
print('NEW PIN SAVED')
else:
print('-------------------------------------')
print('*************************************')
print(' NEW PIN MUST CONSIST OF 4 DIGITS \
nAND MUST BE DIFFERENT TO PREVIOUS PIN')
print('*************************************')
print('-------------------------------------')
elif response == 'q':
lastview()
else:
print('------------------')
print('******************')
print('RESPONSE NOT VALID')
print('******************')
print('------------------')

20
OUTPUT

Welcome Screen

21
Login Information

Main Menu

22
Statement

Withdraw

23
Lodgement

24
Change Pin

Thanking Screen

25
Invalid Response

26
CONCLUSION

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.
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 personal identification number (PIN), 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.

27
REFERENCES

 Computer Science with PYTHON by Sumitra Arora

 Notes given by Mukesh Sir

 www.python.org.in

28

You might also like