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

SUBMITTED IN PARTIAL FULFILMENT OF THE

REQUIREMENT
CLASS -12th B

SUBMITTED SUBMITTED BY:


TO :
NAME:SANJAY
MS. YASHIKA CLASS: 12thB
ROLLN0:12222
ID:20160210865
COMPUTER
SCIENCE PROJECT
ON
TELEPHONE BILLING SYSTEM
CERTIFICATE

This is to certify that SANJAY Student GBSSS


NO.1 has persuaded his work and prepared the
present dissertation entitled “telephone billing
system”
Under my guidance and supervision this being
submitted for partial fulfilment of the requirement
for senior secondary school certificate.

Supervision
MS. YASHIKA
Head of Computer Science
GBSSSNO.1 MS PARK SHD
New Delhi – 110032

ACKNOWLEDGEMENT

I would like to express my special thanks and


gratitude to my Computer Science teacher MS.
YASHIKA for his valuable guidance that
leads to the successful completion of this project.
Also I would like to thank the principal of our
school Mrs. SURENDER PAL SINGH for giving me an
opportunity

SANJAY
XII-B
PYTHON PROGRAMMING LANGUAGE
Python was created by Guido Van Rossum when he
was working at CWI (Centrum Wiskunde &
Informatica) which is a National Research Institute for
Mathematics and Computer Science in Netherlands.
The language was released in I991. Python got its
name from a BBC comedy series from seventies-
“Monty Python Flying Circus”. Python can be used to
follow both Procedural approach and Object Oriented
approach of programming. It is free touse.
Some of the features which make Python so popular are
as follows:-
It is a general purpose programming language which
can be used for both scientific and non scientific
programming.
It is a platform independent programming language.
It is a very simple high level language with vast
library of add-on modules.
It is excellent for beginners as the language
is interpreted, hence gives immediate results.
The programs written in Python are easily
readable and understandable.
It is suitable as an extension language for
customizable applications.
It is easy to learn and use.
CLASSES
Classes are the group of objects with same attributes
and common behaviour. A class is basically a blueprint
for creating an object in abject oriented programming
language like python Classes allow data encapsulation
as it combines the objects and the associated
functions into a single unit itself.
Syntax to define a class in python is as
follows:- class<class_name>:
statement1
statement2

FUNCTIONS
Functionsisasetofinstructionsenclosedinasingle unit
which can be executed as and when requiredby
calling thefunction.
Syntax:-
def <function_name>:
statement1
statement2
BINARY FILE
The binary file contains arbitrary binary data.the
numbers in a binary file can be used fornumerical
operations.
Therefore while working on an arbitrary file we have to
convert the binary pattern into the desired data typr as
required by our program.Special methods like LOAD
and DUMP help to accomplish this task
SOURCE
CODE
Source Code:-
#=====================================
==================
# TELEPHONE BILLING SYSTEM
#=====================================
==================
classcustomer:
cno=''
ph=''
name=''
addr=''
city=''
def getdata(self):
import os
os.system('cls')
print("\n"*4)
self.ph=int(input("\n\t\t\tEnter The 8 Digit Telephone
No. :"))
self.cno=int(input("\n\t\t\tEnter The Consumer No:"))
self.name=input("\n\t\t\tEnter Name:")
self.city=input("\n\t\t\tEnter City:")
self.addr=input("\n\t\t\tEnter Address:")
self.type=input('''\n\t\t\tEnter 'O' for OfficeOr
'Enter' for residential:''')
if self.type.upper()=='O':
self.type='Office'
else:
self.type='Home '
def showdata(self):
import os
os.system('cls')
print("\n"*4)
print("\t\t\tPhoneNo:",self.ph)
print("\t\t\tConsumer No:",self.cno)
print("\t\t\tName:",self.name)
print("\t\t\tCity:",self.city)
print("\t\t\tAddress:",self.addr)
print("\t\t\tType:",self.type)
def showcust(self):
print("\t\t",self.ph,"\t",self.cno,"\t",self.type,"",self.name)
#=====================================
=================
#CLASS TO CALCULATE AND DISPLAY THE BILL
#=====================================
==================
class bill:
def init (self):
customer. init (self)
self.ffcalls=100
self.oprd=''
self.clrd=''
self.mcalls=0
self.fcalls=100
self.credit=''
self.debits=''
self.chargec=0
self.chargem=0
self.tax=0
self.grossamt=0
self.surcharge=20
self.netamtbef=0
self.netamtaft=0
self.c=0
self.found=False

#=====================================
==================
# FUNCTION TO CALCULATE THE BILL
#=====================================
==================
def calbill(self):
import pickle
self.c=customer()
self.file=open("bill.dat","rb")
self.phone=''
import os
os.system('cls')
print("\n"*4)
while self.phone=='':
self.phone=input("\n\t\t\tEnter Telephone No. :")
self.phone=int(self.phone)
self.found=False
try:
while True:
self.c=pickle.load(self.file)
if self.c.ph==self.phone:
self.found =True
break
except EOFError:
pass
if self.found==False:
print("\n\t\t\tTelephone Number Not Found In The
Records")
input("\n\t\t\tPress Any KeyTo Continue")
return
self.file.close()
self.ffcalls=100
while self.oprd=='':
self.oprd=input("\n\t\t\tEnter The Open Meter Reading:")
while self.clrd=='':
self.clrd=input("\n\t\t\tEnter The Close MeterReadng:")
self.oprd=int(self.oprd)
self.clrd=int(self.clrd)
self.mcalls=self.clrd-self.oprd
if self.mcalls<self.fcalls:
self.chargec=0
self.chargem=0
else:
self.chargec=self.mcalls-self.fcalls
self.chargem=self.chargec*0.80
while self.debits=='':
self.debits=input("\n\t\t\tEnterDebitsIfAny:")
self.debits=int(self.debits)
self.tax=int((self.chargem+self.debits)/20)
self.grossamt=self.chargem+self.tax+self.debits
while self.credit=='':
self.credit=input("\n\t\t\tEnterCreditsIfAny:")
self.credit=int(self.credit)
if self.credit>self.grossamt:
self.netamtbef=0
self.surcharge=0
else:
self.netamtbef=self.grossamt-self.credit
self.netamtaft=self.netamtbef+self.surcharge

#=====================================
==================
# FUNCTION TO CALCULATE THE BILL
#=====================================
==================
def dispbill(self):
import os
os.system('cls')
print("\n"*4)
if self.found:
print("\n")
print("="*31,"Telephone Bill","="*32)
print("Name:",self.c.name)
print("-"*79)
print("Address:",self.c.addr)
print("="*79)
print("Telephone Number",end=' '*3)
print("Consumer Number",end=' '*3)
print("Previous reading",end=' '*3)
print("Current reading:")
print("="*79)
print(self.c.ph,end=' '*11)
print(self.c.cno,end=' '*12)
print(self.oprd,end=' '*18)
print(self.clrd)
print("-"*79)
print("Metered Calls",""*30,":",""*9,self.mcalls)
print("Free Calls",""*33,":",""*9,self.fcalls)
print("Chargable calls",""*28,":",""*9,self.chargec)
print("Debits",""*37,":",""*9,self.debits)
print("Taxes",""*38,":",""*9,self.tax)
print("Gross Amount",""*31,":",""*9,int(self.grossamt))
print("Credits",""*36,":",""*9,self.credit)
print("-"*79)
print("Amountpayablebefore",""*22,":",""
*9,int(self.netamtbef))
print("-"*79)
print("Surcharge",""*34,":",""*9,self.surcharge)
print("-"*79)
print("Amountpayableafter",""*23,":",""
*9,int(self.netamtaft))
print("="*79)
input("\n\t\t\tPress any key to continue")

#=====================================
==================
# FUNCTION TO ADD A NEW CUSTOMER
#=====================================
==================
def addrec():
importpickle
file=open("bill.dat",'ab')
c=customer()
import os
while True:
os.system('cls')
print("\n"*4)
c.getdata()
pickle.dump(c,file)
ch=input("\n\t\t\tDo You Want To Enter More Records:")
if ch.upper()=='N':
break
file.close()
#=====================================
==================
# FUNCTIONTOSHOWALLTHECUSTOMERSFROMTHEFILE
#=====================================
==================
def showrec():
importpickle
file=open('bill.dat','rb')
c=customer()
import os
os.system('cls')
print("\n"*4)
print("\t\tPhone No.\t Consumer No.\t Type\t Name")
try:
while True:
c=pickle.load(file)
print('\n')
c.showcust()
except EOFError:
pass
file.close()
input("\n\t\t\tPress Any KeyTo Continue")
def searchrec():
import pickle
file=open("bill.dat","rb")
c=customer()
import os
os.system('cls')
print("\n"*4)
phn=int(input("\n\t\t\tEnterTheTelephoneNo.:"))
found=False
try:
while True:
c=pickle.load(file)
if phn==c.ph:
found=True
break
except EOFError:
pass
if found:
c.showdata()
input("\n\t\t\tPress Enter To Continue")
else:
print("\n\t\t\tRecord not found:")
input("\n\t\t\tPress Enter To Continue")
file.close()
#=====================================
==================
# FUNCTIONTODELETERECORDOFACUSTOMERFROMTHE
FILE
#=====================================
==================
def delrec():
import pickle
import os
file=open("bill.dat","rb")
temp=open('temp.dat','ab')
import os
os.system('cls')
print("\n"*4)
phone=int(input("\n\t\t\tEnter The Phone Number:"))
c=customer()
try:
while True:
c=pickle.load(file)
if c.ph==phone:
print("\n\t\t\tRecord Successfully Deleted")
c.showdata()
input("\n\t\t\tPressanykey tocontinue")
pass
elif c.ph!=phone:
pickle.dump(c,temp)
except EOFError:
pass
file.close()
temp.close()
os.remove('bill.dat')
os.rename('temp.dat','bill.dat')
#=====================================
==================
# FUNCTION TO MODIFY DETAILS OF A CUSTOMER
#=====================================
==================
def modrec():
import pickle
file=open("bill.dat",'rb')
clist = list()
i=0
c = customer()
import os
os.system('cls')
print("\n"*4)
phn=int(input("\n\t\t\tEnterTheTelephoneNumber:"))
try:
while True :
c = pickle.load(file)
clist.append(c);
exceptEOFError:
pass
file.close()
found=False
i =0
for c in clist :
if ( c.ph==phn ) :
found = True
break
else :
i = i+1
if(notfound):
print("\n\t\t\tInvalidPhoneNumber")
return
import os
os.system('cls')
print("\n"*4)
print("\n\t\t\tEnter The New Details About The Customer:")
clist[i].getdata()
file = open("bill.dat", 'wb')

for c in clist :
pickle.dump(c,file)
file.close()
#=====================================
==================
# MAINMENU
#=====================================
==================
def menu():
import os
os.system('cls')
print("\n"*4)
print("\n\t\t\t\tMAIN MENU")
print("\n\t\t\tPress 1 : To Generate a Bill")
print("\n\t\t\tPress 2 : To List all Customers")
print("\n\t\t\tPress 3 : To Manage Customers")
print("\n\t\t\tPress 4 : To Exit")
#=====================================
==================
# CUSTOMERMENU
#=====================================
==================
def menurec():
import os
os.system('cls')
print("\n"*4)
print("\n\t\t\t\tCUSTOMER MENU")
print("\n\t\t\tPress 1 : To List All Customer")
print("\n\t\t\tPress 2 : To Add a Customer")
print("\n\t\t\tPress3:ToShowDetailsAboutACustomer")
print("\n\t\t\tpress 4 : To Delete a Customer")
print("\n\t\t\tPress 5 : To Modify a Existing Customer")
print("\n\t\t\tPress 6 : To Go Back To PreviousMenu")
#=====================================
==================
# MAIN
#=====================================
==================
opt=0
while opt!=4:
menu()
opt=int(input("\n\t\t\tEnter Your Choice:"))
if opt==1:
b=bill()
b.calbill()
b.dispbill()
elif
opt==2:sho
wrec() elif
opt==3:
ropt=0
while ropt!=4:
menurec()
ropt=int(input("\n\t\t\tEnter Your Choice:"))
if ropt==1:
showrec()
elifropt==2:
addrec()
elifropt==3:
searchrec()
elifropt==4:
delrec()
elifropt==5:
modrec()
elifropt==6:
break
else:
print("\n\t\t\tInvalid Choice")
input("\n\t\t\tPress Any KeyTo Continue")
elif opt==4:
print("\n\t\t\tGood Bye")
input("\n\t\t\tPress Any KeyTo Continue")
break
else:
print("\n\t\t\tInvalid Choice")
input("\n\t\t\tPress Any KeyTo Continue")
OUTPUT
Output

You might also like