0% found this document useful (0 votes)
118 views16 pages

Atm Project

The document contains information about an ATM Management System project created by Krishiv Vyas using Python 3.11. It includes a description of what an ATM is and its functions. It then provides an abstract that discusses designing an ATM system and how users typically use plastic cards and PINs to access their bank accounts through an ATM. Finally, it includes sample Python code for an ATM program that allows users to check balances, withdraw and deposit cash, and change their PIN.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views16 pages

Atm Project

The document contains information about an ATM Management System project created by Krishiv Vyas using Python 3.11. It includes a description of what an ATM is and its functions. It then provides an abstract that discusses designing an ATM system and how users typically use plastic cards and PINs to access their bank accounts through an ATM. Finally, it includes sample Python code for an ATM program that allows users to check balances, withdraw and deposit cash, and change their PIN.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Project Profile

Project Title : ATM Management System


Project Platform : Python 3.11
Developed By : Krishiv Vyas
Class :12th science
WHAT IS ATM
An ATM is an electronic device which allows a bank’s customer to make
financial transactions in a public space & check their account balance at any
time without the need for a human teller.

 The customer is identified by a plastic ATM card with a


magnetic stripe or a plastic smartcard with a chip.

 Services available through an ATM  Withdraw cash.

 Transfer money between accounts.

 Obtain account balance.

 Make deposits of cash and checks


ABSTRACT:
This report attempts to understand the design of an Automated Teller
Machine (ATM) system, a device used by bank customers to process account
transactions. Typically, a user inserts into the ATM a special plastic card that is
encoded with information on a magnetic strip. The strip contains an
identification code that is transmitted to the bank's central computer by modem.
To prevent unauthorized transactions, a personal identification number (PIN)
must also be entered by the user using a keypad. The computer then permits the
ATM to complete the transaction; most machines can dispense cash, accept
deposits, transfer funds, and provide information on account balances. Banks
have formed cooperative, nationwide networks so that a customer of one bank
can use an ATM of another for cash access. Some ATMs will also accept credit
cards for cash advances. The first ATM was installed in 1969 by Chemical Bank
at its branch in Rockville Centre, New York. A customer using a coded
card was dispensed a package containing a set sum of money.
PYHTON:

Python is an interpreted, high-level, general-purpose programming


language. Created by Guido van Rossum and first released in 1991, Python has
a design philosophy that emphasizes code readability, notably using significant
whitespace. It provides constructs that enable clear programming on both small
and large scales. Van Rossum led the language community until July 2018.
Python is dynamically typed and garbage-collected. It supports multiple
programming paradigms, including procedural, object-oriented, and functional
programming. Python features a comprehensive standard library, and is referred
to as "batteries included". Python interpreters are available for many operating
systems. CPython, the reference implementation of Python, is open-source
software and has a community-based development model. Python and CPython
are managed by the non-profit Python Software Foundation.
Code:-
# creating a lists of users, their PINs and bank statements
users = ['jitendra', 'sunny', 'vivek']
pins = ['1111', '2222', '3333']
amounts = [1000, 2000, 3000]
count = 0
# while loop checks existance of the enterd username
while True:
user = input('\nENTER USER NAME: ')
print(user)
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')
print('****************')
print('----------------')

# comparing pin
while count < 3:
print('------------------')
print('******************')
pin = str(input('PLEASE ENTER PIN: '))
print('******************')
print('------------------')
if pin.isdigit():
if user == users[0]:
if pin == pins[0]:
break
else:
count += 1
print('-----------')
print('***********')
print('INVALID PIN')
print('***********')
print('-----------')
print()

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

if user == users[2]:
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
while True:
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],'RUPEES 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 RUPEES NOTES')

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

elif response == 'l':


print()
print('---------------------------------------------')
print('*********************************************')
cash_in = int(input('ENTER AMOUNT YOU WANT TO LODGE: '))
print('*********************************************')
print('---------------------------------------------')
print()
if cash_in%10 != 0:
print('----------------------------------------------------')
print('****************************************************')
print('AMOUNT YOU WANT TO LODGE MUST TO MATCH 10
RUPEES NOTES')
print('****************************************************')
print('----------------------------------------------------')
else:
amounts[n] = amounts[n] + cash_in
print('----------------------------------------')
print('****************************************')
print('YOUR NEW BALANCE IS: ', amounts[n], 'RUPEES')
print('****************************************')
print('----------------------------------------')
elif response == 'p':
print('-----------------------------')
print('*****************************')
new_pin = str(input('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(input('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':
exit()
else:
print('------------------')
print('******************')
print('RESPONSE NOT VALID')
print('******************')
print('------------------')

output:-
ENTER USER NAME: "jitendra"

jitendra

------------------

******************

PLEASE ENTER PIN: 1111

******************

------------------

-------------------------

*************************

LOGIN SUCCESFUL, CONTINUE

*************************

-------------------------

()

--------------------------
**************************

('Jitendra', 'welcome to ATM')

**************************

----------ATM SYSTEM-----------

-------------------------------

*******************************

SELECT FROM FOLLOWING OPTIONS:

Statement__(S)

Withdraw___(W)

Lodgement__(L)

Change PIN_(P)

Quit_______(Q)

: "S"

*******************************

-------------------------------

---------------------------------------------

*********************************************

('Jitendra', 'YOU HAVE ', 1000, 'RUPEES ON YOUR ACCOUNT.')

*********************************************
---------------------------------------------

-------------------------------

*******************************

SELECT FROM FOLLOWING OPTIONS:

Statement__(S)

Withdraw___(W)

Lodgement__(L)

Change PIN_(P)

Quit_______(Q)

: "W"

*******************************

-------------------------------

---------------------------------------------

*********************************************

ENTER AMOUNT YOU WOULD LIKE TO WITHDRAW: 400

*********************************************

---------------------------------------------

-----------------------------------

***********************************
('YOUR NEW BALANCE IS: ', 600, 'RUPEES')

***********************************

-----------------------------------

-------------------------------

*******************************

SELECT FROM FOLLOWING OPTIONS:

Statement__(S)

Withdraw___(W)

Lodgement__(L)

Change PIN_(P)

Quit_______(Q)

: "L"

*******************************

-------------------------------

()

---------------------------------------------

*********************************************

ENTER AMOUNT YOU WANT TO LODGE: 150

*********************************************
---------------------------------------------

()

----------------------------------------

****************************************

('YOUR NEW BALANCE IS: ', 750, 'RUPEES')

****************************************

----------------------------------------

-------------------------------

*******************************

SELECT FROM FOLLOWING OPTIONS:

Statement__(S)

Withdraw___(W)

Lodgement__(L)

Change PIN_(P)

Quit_______(Q)

: "P"

*******************************

-------------------------------

-----------------------------
*****************************

ENTER A NEW PIN: 1234

*****************************

-----------------------------

------------------

******************

CONFIRM NEW PIN: 1234

*******************

-------------------

NEW PIN SAVED

-------------------------------

*******************************

SELECT FROM FOLLOWING OPTIONS:

Statement__(S)

Withdraw___(W)

Lodgement__(L)

Change PIN_(P)

Quit_______(Q)

: q

You might also like