Atm Machine Computer Project

You might also like

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

SOUNDARARAJA VIDYALAYA

Natham Road, Dindigul - 624003

ACADEMIC YEAR 2022-2023

THE PROJECT TITLED “ATM PROJECT”


submitted to the CENTRAL BOARD OF SCHOOL EDUCATION

in partial fulfillment of the requirements for the

ALL INDIA SENIOR SECONDARY CERTIFICATE


EXAMINATION (AISSCE) – SECOND YEAR

Subject

COMPUTER SCIENCE

Submitted By

S. SIDDHARTH
A. PRAJITH
S. THARUN BHALAAJI

Guided By

Mrs.R.CHITHRA, MCA, B.Ed.


DECLARATION BY THE STUDENT

I hereby declare that the project report submitted in partial fulfillment of the

requirement for ALL INDIA SENIOR SECONDARY CERTIFICATE

EXAMINATION (AISSCE) – SECOND YEAR is my original work as a part of

CBSE curriculum. The data used in the COMPUTER SCIENCE project has been

collected by me from the various resources and therefore I take it to be authentic

and reliable.

Place: Dindigul

Date: Signature of the Student

ii
BONAFIDE CERTIFICATE

This is to certify that this project entitled as ATM PROJECT is executed by

Master. A.PRAJITH with Registration number ______________ in partial

fulfillment of AISSCE (CBSE) EXAMINATION in COMPUTER SCIENCE and

is based on the result of studies carried out by him under my guidance during year

2022-2023.

Signature of the Guide Signature of the Principal


(R.CHITHRA) (Mrs. A.LUISA REMI)

This project report is submitted for the AISSCE (class XII) Examination in

Computer Science conducted on___________

Signature of the Internal Examiner Signature of the External Examiner

iii
ACKNOWLEDGEMENT

I thank the Almighty for providing me with everything that I required in

completing this project. I sincerely thank the Management, the Senior Advisor

Dr.R.RAMASWAMY, and the Principal Mrs.A.LUISA REMI, for giving me an

opportunity and encouraging me to do this project.

I am very much indebted to my project guide Mrs.R.CHITHRA for her

continuous encouragement and guidance. I would like to express my special

gratitude and thanks to resource persons for rendering me their valuable time and

attention. I thank my family members who have been a great source of moral

support.

My special thanks and appreciations also go to my classmates in developing

the project and to the people who have willingly helped me out with their abilities.

I sincerely thank everyone who made successful completion of this project

possible.

A.PRAJITH

iv
ATM PROJECT

1
INDEX

SL. No. PARTICULARS PAGE No.

1 Introduction to ATM Project 3

2 Introduction to python
4

3 Introduction to MySQL 6

4 System requirements 7

5 Source Code 8

6 Input & Output 21

7 Conclusion 24

8 Future Scope of the Project 25

9 Bibliography 26

2
INTRODUCTION TO ATM PROJECT

The Automated Teller Machine (ATM) is an Automatic Banking

Machine (ABM) that allows the customer to complete basic transactions

without any help from bank representatives. There are two types of Automated
Teller Machines (ATMs). The basic one allows the customer to only draw cash

and receive a report of the account balance. Another one is a more complex

machine that accepts the deposit, provides credit card payment facilities and

reports account information.

The ATM MACHINE SOFTWARE is device which is as same as

normal ATM machine. It allows the user to create account, deposit money,

withdraw money, transfer the money and check Balance. The following are the

facilities included in ATM MACHINE SOFTWARE.

• Allow the user to input their question.

• Show an in progress message.

• Create 10/20 responses, and show a random response.

The work becomes fully automated and any information regarding the

organization can be obtained by clicking the button. Moreover, now it’s an age

of computers of and automating such an organization gives the better look.

3
INTRODUCTION TO PYTHON

Python is developed by Guido van Rossum. Guido van Rossum started implementing

Python in 1989. Python is a very simple programming language so even if you are new

to programming, you can learn python without facing any issues

Learning python is easy as this is an expressive and high level programming

language, which means it is easy to understand the language and thus easy to learn.

Python is available and can run on various operating systems such as Mac,

Windows, Linux, UNIX etc. This makes it a cross platform and portable language

Python is free to download and use. This means you can download it for free and

use it in your application.

There are many machine learning applications written in Python. Machine

learning is a way to write logic so that a machine can learn and solve a particular

problem on its own.

Python has syntax that allows developers to write programs with fewer lines than

some other programming languages.

Python uses new lines to complete a command, as opposed to other


programming languages which often use semicolons or parentheses.

Many languages are compiled, meaning the source code you create needs to be

translated into machine code, the language of your computer s processor, before it can

4
be run. Programs written in an interpreted language are passed straight to an interpreter

that runs them directly.

This makes for a quicker development cycle because you just type in your code

and run it, without the intermediate compilation step.

5
INTRODUCTION TO MYSQL
MySQL is an open-source, fast reliable, and flexible relational database

management system, typically used with PHP.MySQL is a database system used for

developing web-based software applications. MySQL used for both small and large

applications.

MySQL is a relational database management system (RDBMS). MySQL is fast,

reliable, and flexible and easy to use. MySQL supports standard SQL (Structured Query

Language). MySQL is free to download and use.

MySQL was developed by Michael Widenius and David Axmark in 1994. MySQL

is presently developed, distributed, and supported by Oracle Corporation. MySQL Written

in C, C++.

MySQL server design is multi-layered with independent modules. MySQL is fully

multithreaded by using kernel threads. It can handle mul8tiple CPUs if they are available.

MySQL provides transactional and non- transactional storage engines. MySQL has

a high-speed thread-based memory allocation system. MySQL supports in-memory heap

table.

MySQL Handles large databases. MySQL Server works in client/server or

embedded systems. MySQL Works on many different platforms.

6
SYSTEM REQUIREMENTS

1. HARDWARE

*Processor

*Keyboard

*Mouse

*Minimum memory-2GB

2. SOFTWARE

*Operating system-oc7,os8

*Python IDLE

*MySQL

7
SOURCE CODE

8
To Create Table
import mysql.connector as sql

conn=sql.connect(host='localhost',user='root',password='manager',database='

ATM_MACHINE') if conn.is_connected():

print("sucessfully connected")

c1=conn.cursor()

mn="CREATE TABLE RECORDS( ACCONT_NO INT(4) primary key,PASSWORD INT(3),NAME


VARCHAR(20),CR_AMT INT default(0),WITHDRAWL INT default(0),BALANCE INT
default(0))" c1.execute(mn) print("Sucessfulluy created")

9
MAIN PROGRAM
import mysql.connector as sql

conn=sql.connect(host='localhost',user='root',password='manager',database='

ATM_MACHINE') c1=conn.cursor()

print("===================================================================
= ============")

print(" WELCOME TO OUR BANK ")

print("===================================================================
= ============")

print("1.To create account")

print("2.To login")

print("3.Exit")

print("===================================================================
= ============")

op=int(input("Enter your choice :"))

print("===================================================================
= ============")

if op==1:

c="y"

while c=="y":
10
m=int(input("Enter a 4 digit number as accont number:"))

cb="select * from records where ACCONT_NO={}".format(m)

c1.execute(cb)

d=c1.fetchall()

data=c1.rowcount

if data==1:

print("===================================================================
= ============")

print("This account number already exists:")

c=input("Do you want to continue y/n -")

print("===================================================================
= ============")

if

c=="y":

continue

else:

print("Thank you.")

print("Visit again")

print("===================================================================
= ============")

else:

11
name=input("Enter your name:")

passw=int(input("Enter your pass word:"))

ab="insert into records(ACCONT_NO,PASSWORD,NAME) values({},


{},'{}')".format(m,passw,name)

print("===================================================================
= ============")

c1.execute(ab)

conn.commit() print("Account

sucessfully created") print("The

minimum balance is 1000 ")

print("===================================================================
= ============")

s=int(input("Enter the money to be deposited :"))

print("===================================================================
=
============") sr="update records set CR_AMT={} where

ACCONT_NO={}".format(s,m)

c1.execute(sr)

conn.commit()

ef="update records set balance=cr_amt-withdrawl where


ACCONT_NO={}".format(m)

c1.execute(ef)

12
conn.commit()

print("sucessfully deposited")

print("Thank you")

print("Visit again") break

if op==2:

y="y" while

y=="y":

acct=int(input("Enter your account number:"))

cb="select * from records where ACCONT_NO={}".format(acct)

c1.execute(cb)

c1.fetchall()

data=c1.rowcount

if data==1:

pas=int(input("Enter your password :"))

print("===================================================================
= ============")

e="select password from records where ACCONT_NO={}".format(acct)

c1.execute(e)

a=c1.fetchone()

d=list(a)

13
if pas==d[0]:

print("correct")

print("1.Depositng money")

print("2.withdrawing money")

print("3.Transfering money")

print("4.Checking balance")

print("5.Changing Account number ")

print("===================================================================
= ============")

r=int(input("Enter your choice:"))

print("===================================================================
= ============")

if

r==1:

amt=int(input("Enter the money to be deposited:"))

print("===================================================================
= ============")

sr="update records set CR_AMT=CR_AMT + {} where


ACCONT_NO={}".format(amt,acct)

14
c1.execute(sr)

conn.commit() ef="update records set

balance=cr_amt-withdrawl where

ACCONT_NO={}".format(acct)

c1.execute(ef)

conn.commit()

print("sucessfully deposited")

t=input("Do you want to continue y/n -")

print("===================================================================
= ============")

if

t=="y":

continue

else: print("Thank

you") if r==2:

amt=int(input("Enter the money to withdraw:"))

print("===================================================================
= ============")

ah="select BALANCE from records where accont_no={}".format(acct)

c1.execute(ah)

m=c1.fetchone()

15
if amt >m[0]:

print("Your are having less

than",amt)

print("Please try again")

print("===================================================================
= ============")

else:

sr="update records set balance=balance - {} where


ACCONT_NO={}".format(amt,acct)

ed="update records set WITHDRAWL ={} where


ACCONT_NO={}".format(amt,acct)

c1.execute(ed)

c1.execute(sr) conn.commit()

print("Sucessfully updatad")

y=input("do you want to continue y/n -")

if y=="y":

continue

else:

print("Thank you")

if r==3:

act=int(input("Enter the accont number to be transferrsd :"))


print("===================================================================
= ============")

16
cb="select * from records where ACCONT_NO={}".format(act)

c1.execute(cb)

c1.fetchall()

data=c1.rowcount

if data==1:

print(act ,"number exists")

m=int(input("Enter the money to be transferred :"))

print("===================================================================
= ============")

ah="select BALANCE from records where accont_no={}".format(acct)

c1.execute(ah)

c=c1.fetchone()

if m > c[0]:

print("Your are having less than",m)

print("Please try again")

print("===================================================================
= ============")

else:

av="update records set balance=balance-{} where


ACCONT_NO={}".format(m,acct)

17
cv="update records set balance=balance+{} where
ACCONT_NO={}".format(m,act)

w="update records set withdrawl=withdrawl+{} where


accont_no={}".format(m,acct)

t="update records set CR_AMT=CR_AMT+{} where


accont_no={}".format(m,act)

c1.execute(av)

c1.execute(cv) c1.execute(w)

c1.execute(t) conn.commit()

print("Sucessfully transfered")

y=input("do you want to continue y/n -")

if y=="y":

continue

else:

print("Thank you")

if r==4:

ma="select balance from records where accont_no={}".format(acct)

c1.execute(ma)

k=c1.fetchone() print("Balance in your

account=",k)

print("===================================================================
= ============")

y=input("do you want to continue y/n -")

18
if y=="y":

continue

else: print("Thank

you") if r==5:

i=int(input("Enter your new account number:"))

cb="select * from records where ACCONT_NO={}".format(i)

c1.execute(cb)

c1.fetchall()

data=c1.rowcount

if data==1:

print("This number already exists")

print("Try again")

y=input("do you want to continue y/n -")

if y=="y":

continue

else:

print("Thank you")

else:

name=input("Enter your name")

ar="Update records set accont_no={} where name='{}' and


password={}".format(i,name,pas)

19
c1.execute(ar)

conn.commit() print("Your new

account number is ",i)

else:

print("Wrong password")

print("===================================================================
= ============")

y=input("do you want to continue y/n -")

else:

print("your Account does not exists")

if op==3:

print("Exiting")

c1.close()

20
INPUT &
OUTPUT

21
22
23
CONCLUSION

Security is the foundation of a good ATM system. The proposed ATM

Project provides secured authenticated connections between users and bank servers.

The whole process is automated right from PIN validation and Transaction

completion.

The ATM project was implemented by considering Python as Front end and

MYSQL as Back end. From an accountancy perspective, Python is most useful

when working with data. It can essentially read any type, both structured and

unstructured. It has powerful capabilities in data importation and manipulation -

tasks like merging and recoding – as well as handling large amounts.

This project enables two important features of an ATM, reduction of human

error in the banking system and the possibility of 24 hour personal banking. The

card details and PIN data base is a secured module that will not be open to routine

maintenance, the only possibility of access to this database will be through queries

raised from an ATM in the presence of a valid ATM card. So that the ATM Project

using Python is most secured one and the project is successfully completed.

24
FUTURE SCOPE OF THE PROJECT

The goal of a next-generation ATM is to make it “more like a tablet”

where the machine owner can add functionality by downloading apps, and

consumers can operate it using an app on their phone.

ATM vendors can deploy downloadable software while issuers will

have a software development kit (SDK) to add to their mobile app to affect

the authentication. Mike Lee, CEO of ATMIA and Chair of the Next-Gen

consortium, called it a milestone in the “reinvention of the ATM to integrate

ATMs into the mobile-digital world and to set up a new wave of innovation

and investment in our industry through this dynamic ecosystem.

Capabilities like this will enable the ATM industry to add

functionality to machines more quickly and at a lower cost, David Tente

maintains. “It pushes everything onto the consumer’s mobile device, so they

are now interacting with the ATM through their phone, rather than a screen

on the machine itself.

25
BIBLIOGRAPHY

Web sites

1. Icbse.com

2. Cbseplus.com

3. Pythonworld.in

4. Mykvs.in

Books

1. Computer science with python (sumitha arora)

2. Computer science with python (preethi arora)

26

You might also like