Ankit
Ankit
PROJECT
ON
Ankit Gupta
Class (12)
Session: 2019-2020
1
TABLE OF CONTENTS
Certificate
Acknowledgement
System analysis
Introduction
Objectives
Advantages
System Design
Flow Chart
Source Code
Outputs
Conclusion
References
2
ACKNOWLEDGEMENT
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.
4
SYSTEM ANALYSIS
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
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.
7
OBJECTIVES OF THE PROPOSED SYSTEM
8
ADVANTAGES OF THE PROPOSED SYSTEM
9
Makes the system more feasible and flexible and
thus retrieval of information becomes convenient.
SYSTEM DESIGN
MODULES (Description)
10
Enter choice
STATEMENT
WITHDRAW
DEPOSITE
“ENTER AMOUNT YOU WANT TO LODGE:
Enter choice”
CHANGE PIN
“ENTER A NEW PIN: Enter choice”
11
QUIT
==========================================
==========================================
12
FLOWCHART
13
SOURCE CODE
#!/usr/bin/python
import getpass
import string
import os
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
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('---------------------------------------------')
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('-----------------------------------')
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
27
REFERENCES
www.python.org.in
28