0% found this document useful (0 votes)
8 views33 pages

My Document

The document certifies the project titled 'Student Report Card Management System' completed by Saurav Kumar for class XII B, which is supervised by PGT Narendra Kumar. The project aims to manage student records efficiently using Python and MySQL, focusing on reducing paperwork and enhancing data retrieval. It includes acknowledgments, objectives, system requirements, and source code for the implemented system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views33 pages

My Document

The document certifies the project titled 'Student Report Card Management System' completed by Saurav Kumar for class XII B, which is supervised by PGT Narendra Kumar. The project aims to manage student records efficiently using Python and MySQL, focusing on reducing paperwork and enhancing data retrieval. It includes acknowledgments, objectives, system requirements, and source code for the implemented system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

PGT (Computer Science)

CERTIFICATE
This is to certify that the Project entitled,“Student Report
Card Management system” is a bona-fide work done by
KUMAR ,Roll no. 22627829 of class XII B of
SAURAVCHOUDHARY
VIKASH
academic session 2024
2020-2125 in partial fulfillment of CBSE’s
AISSC Examination 20242021 and has been carried out under
my direct supervision and guidance. This Report or a
similar report on this topic has not been submitted for any
other examination and does not form a part of any other
course undergone by the candidate.
…………………………… …………………………
Signature of Student ( Narendra Kumar)
Name: VIKASH
SAURAV KUMAR
CHOUDHARY PGT (Computer
PGT
(Computer science )
Science)
[Type text]Page 2
Roll No:

Signature Of Principal

[Type text]Page 3
ACKNOWLEDGMENT
I am extremely grateful to Mr. Narendra
Kumar, Teacher of Department of
Computer Science for his able guidance
and useful suggestions, which helped me in
completing the project work, in time.
I would also like to thank MR Dr. ASHOK
Amina
Khatoon, Our Principal Mam and all other
GUPTA
teaching and non-teaching staff of
Computer Science department who helped
me directly or indirectly in the completion
of this project.
Finally, yet importantly, I would like to
express my heartfelt thanks to my beloved
parents for their blessings, my
friends/classmates for their help and
wishes for the successful completion of
this project.

[Type text]Page 4
SAURAV KUMAR

Content Pages
1) Introduction
2) Objective
3) About Python/My SQL
4)
5)
Module Used
SQL Tables INDE
6)
7)
8)
Source Code
Output
X
System requirements

9) Limitations and Upgradation


10) Bibli h

[Type text]Page 5
INTRODUCTION
The project titled “Student Report Card Management System” is
a program for monitoring and controlling the records of a
Student. This project is designed & coded in Python 3 and
database management is handled by MYSQL.

This program mainly focuses on basic operations like creating


a profile for new student, searching details and marks of a
student and updating records/details of a student, The
Student Management System is a Python program written on
64 bits, windows 10, designed to help school management to
maintain and organize a student’s detail with ease.

This programme is easy to use for both beginners and


advanced users. It features a familiar and simple, user interface,
combined with strong searching, insertion and reporting
capabilities. The report generation facility helps to get a good
idea of which

[Type text]Page 6
OBJECTIVES
i. To reduce time for the Institution
ii. To increase efficiency and accuracy
of the system
iii. To reduce pressure on the
management and relieving man power
from repetitive and dull job
iv. To make the retrieval of information faster
v. To make the system more feasible
vi. To reduce large amount of paper work
vii. To make the system more reliable to
avoid any ambiguity.
viii. To make the system more flexible.

[Type text]Page 7
About PYTHON
Python is an easy to learn, powerful programming
language. It has efficient high-level data structures
and a simple but effective approach to object-
oriented programming. Python's elegant syntax and
dynamic typing, together with its interpreted nature,
makes it an ideal language for scripting and rapid
application development in many areas on most
platforms.

Features of Python:
i. Simple
ii. Easy to Learn
iii. Free and Open Source
iv. Object Oriented
v. Extensive Libraries
vi. Embeddable
[Type text]Page 8
About SQL
 MySQL is a freely available open source Relational Database Management
System (RDBMS) that uses Structured Query Language (SQL). SQL is the
most popular language for adding, accessing and managing content in a
database. It is most noted for its quick processing, proven reliability, ease and
flexibility of use.
 It offers advanced features and reliability far beyond a typical freeware project.
Successful companies such as Verizon, Netflix, and Twitter rely
on MySQL databases to power their businesses. In addition to being free,
another very appealing aspect of MySQL is its open source nature.
 MySQL is a relational database management system (RDBMS) based on the
SQL (Structured Query Language) queries. It is one of the most popular
languages for accessing and managing the records in the table. MySQL is
open-source and free software under the GNU license.

[Type text]Page 10
MODULES USED
The following modules were used in making of this program:

 mysql.connector
mysql.connector – It is a module of python which
helps in the connection of Python with My SQL. It is
not an inbuilt module.

[Type text]Page 11
SQL Tables

[Type text]Page 12
SYSTEM REQUIREMENTS
 HARDWARE REQUIRED:
 Computer
a)Ram-at least 1gb
b)Processor-Intel Atom/I3 or above
c)HDD-20Gb+
 Printer
 Compact Disk

 SOFTWARE REQUIRED:

 Operating System: Windows 7 or later


 Python 3 or above
 Ms Word
 MySQL

[Type text]Page 13
Source
Code
[Type text]Page 14
print()
print()
print(' '
******************************************************************
\t STUDENT REPORT CARD MANAGEMENT SYSTEM
******************************************************************'' )
print()
#============================ sql connection
==================================
import mysql.connector as mc
connect=''
try:
db=mc.connect(host="localhost",user
="root",password="jaihind",database="result")
cur=db.cursor()
connect='ok'
except:
print('====connection to sql failed====')
print('...Program not connected to sql please check program
and database.....')
if connect=='ok':
cur.execute('show tables')
rec=cur.fetchall()
table=''
if ('details',) in rec:
if ('marks',) in rec:
if ('result',) in rec:
table='ok'
else:
print('Tables not found in my sql please check correctly')
#=========================== functions
======================================
def insert_details():
roll=int(input('Enter roll no of student;'))
sql='select * from details where roll=%s'
[Type text]Page 15
w data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
if len(record)!=0:
print('Record already exist for this roll no;')
else:
while True:
name=input('Enter name of student;')
mot=input('Enter mother\'s name;')
ft=input('Enter father\'s name;')
dob=input('Enter date of birth;')
sql1='insert into details values(%s,%s,%s,%s,%s)'
data1=(mot,ft,dob,roll,name)
cur.execute(sql1,data1)
db.commit()
ch=input('Do you want to enter more record say(y/n)')
if ch=='y' or ch=='Y':
continue
elif ch=='n' or ch=='N':
print('Record sucessfully inserted...')
break
else:
print('Enter right choice.....')
w
def display_details():
roll=int(input('Enter roll no of student for display details;'))
sql='select * from details where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
if len(record)==0:
print('NO record found for this roll no;')
else:
print('[Mother\'s name,Father\'s name,DOB,Roll no,Name]')
print(record)
[Type text]Page 16
def modify_details():
roll=int(input('Enter roll no of student for modify/delete
details;'))
sql='select * from details where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
if len(record)==0:
print('NO record found for this roll no;')
else:
cho=input('Do you want to delete or modify record;')
if cho=='delete' or cho=='Delete':
sql='delete from details where roll=%s'
data=(roll,)
cur.execute(sql,data)
db.commit()
print('Record sucessfully deleted.....')
elif cho=='modify' or cho=='Modify':
chi=input('what you want to modify-
\n1.Name\n2.Mother\'s name\n3.Father\'s name\n4.D.O.B\n')
if chi=='1':
name=input('Enter new name of student ;')
sql='update details set name=%s where roll=%s'
data=(name,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
elif chi=='2':
mot=input('Enter new mother\'s name;')
sql='update details set mother_name=%s where
roll=%s'
data=(mot,roll)
cur.execute(sql,data)
db.commit()
[Type text]Page 17
print('Record sucessfully modify.....')
elif chi=='3':
ft=input('Enter new father\'s name;')
sql='update details set father_name=%s where
roll=%s'
data=(ft,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
elif chi=='4':
dob=input('Enter new date of birth;')
sql='update details set d_o_b=%s where roll=%s'
data=(dob,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
else:
print('Enter right choice.....')
else:
print('Enter right choice.....')
def insert_marks():
roll=int(input('Enter roll no of student for insert marks;'))
sql='select * from details where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
if len(record)==0:
print('NO record found for this roll no;')
else:
ms1=int(input('Enter marks of English;'))
ms2=int(input('Enter marks of Hindi;'))
ms3=int(input('Enter marks of Math;'))
ms4=int(input('Enter marks of Science;'))
ms5=int(input('Enter marks of Social Science;'))
[Type text]Page 18
ms6=int(input('Enter marks of computer;'))
sql1='insert into marks values(%s,%s,%s,%s,%s,%s,%s)'
data1=(ms1,ms2,ms3,ms4,ms5,ms6,roll)
cur.execute(sql1,data1)
db.commit()
print('Record sucessfully inserted....')
def display_marks():
roll=int(input('Enter roll no of student for display marks;'))
sql='select * from marks where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
if len(record)==0:
print('NO record found for this roll no;')
else:
print('[English,Hindi,Math,Science,social,computer]')
print(record)
def modify_marks():
roll=int(input('Enter roll no of student for modify/delete
marks;'))
sql='select * from marks where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
if len(record)==0:
print('NO record found for this roll no;')
else:
cho=input('Do you want to delete or modify marks;')
if cho=='delete' or cho=='Delete':
sql='delete from marks where roll=%s'
data=(roll,)
cur.execute(sql,data)
db.commit()
print('Record sucessfully delete.....')
[Type text]Page 19
elif cho=='modify' or cho=='Modify':
chi=input('what you want to modify marks of -
\n1.English\n2.Hindi\n3.Maths4.Science\n5.Social\n6.Compute
r\nEnter-')
if chi=='1':
ms1=int(input('Enter marks of English;'))
sql='update marks set english=%s where roll=%s'
data=(ms1,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
elif chi=='2':
ms2=int(input('Enter marks of Hindi;'))
sql='update marks set hindi=%s where roll=%s'
data=(ms2,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
elif chi=='3':
ms3=int(input('Enter marks of Math;'))
sql='update marks set maths=%s where roll=%s'
data=(ms3,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
elif chi=='4':
ms4=int(input('Enter marks of Science;'))
sql='update marks set science=%s where roll=%s'
data=(ms4,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
elif chi=='5':
[Type text]Page 20
ms5=int(input('Enter marks of Social;'))
sql='update marks set sst=%s where roll=%s'
data=(ms5,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
elif chi=='6':
ms6=int(input('Enter marks of computer;'))
sql='update marks set computer=%s where roll=%s'
data=(ms6,roll)
cur.execute(sql,data)
db.commit()
print('Record sucessfully modify.....')
else:
print('Enter right choice.....')
else:
print('Enter right choice.....')
def result_creator():
total=0
count=0
percentage=0
roll=int(input('Enter roll no of student for result creation;'))
sql='select * from marks where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
if len(record)==0:
print('Record not found for this roll no;')
else:
sql='select * from result where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
[Type text]Page 21
if len(record)!=0:
print('Result already created...')
else:
sql='select * from marks where roll=%s'
data=(roll,)
cur.execute(sql,data)
record=cur.fetchall()
for i in range(len(record[0])-1):
total+=int(record[0][i])
if record[0][i]<33:
count+=1
if count>=2:
status='FAIL'
else:
status='PASS'
percentage=str(total/5)
sql='insert into result values(%s,%s,%s,%s)'
data=(percentage,total,roll,status)
cur.execute(sql,data)
db.commit()
print('Result sucessfully created...')
def display_result():
cho=input('Want to see all result say(y/n);')
if cho=='Y' or cho=='y':
cur.execute( 'select * from details,marks,result where
details.roll=marks.roll=result.roll;')
record=cur.fetchall()
for rec in record:
print(' _________________________________________________')
print('|')
print('| student name : ','\t',rec[4])
print('| roll : ','\t',rec[3])
print('| date of birth: ','\t',rec[2])
print('| mother\'s name : ','\t',rec[0])
[Type text]Page 22
print('| father\'s name : ','\t',rec[1])
print('|................................................')
print('| subject marks')
print('|................................................')
print('| science : \t',rec[8])
print('| hindi : \t',rec[6])
print('| social studies :\t',rec[9])
print('| maths : \t',rec[7])
print('| computer : ','\t',rec[10])
print('| englis : \t',rec[5])
print('| total : \t',rec[13])
print('| percent : \t',rec[12],'%')
print('| status : \t',rec[15])
elif cho=='N' or cho=='n':
roll=int(input('Enter roll no of student for display result;'))
sql=' select * from details,marks,result where
details.roll=%s=marks.roll=result.roll;'
data=(roll,)
cur.execute(sql,data)
rec=cur.fetchall()
if len(rec)==0:
print('NO record found for this roll no;')
else:
print(' _________________________________________________')
print('|')
print('| student name : ','\t',rec[0][4])
print('| roll : ','\t',rec[0][3])
print('| date of birth: ','\t',rec[0][2])
print('| mother\'s name : ','\t',rec[0][0])
print('| father\'s name : ','\t',rec[0][1])
print('| science : \t',rec[0][8])
print('| hindi : \t',rec[0][6])
print('| social studies :\t',rec[0][9])
[Type text]Page 23
print('| maths : \t',rec[0][7])
print('| computer : ','\t',rec[0][10])
print('| englis : \t',rec[0][5])
print('| total : \t',rec[0][13])
print('| percent : \t',rec[0][12],'%')
print('| status : \t',rec[0][15])
if connect=='ok' and table=='ok':
while True:
print('|....................................|')
print('| ******MENU FOR OPERATION****** |')
print('|....................................|')
print('| 1.To insert |')
print('|....................................|')
print('| 2.To display |')
print('|....................................|')
print('| 3.To modify/delete |')
print('|....................................|')
print('| 4.To create result |')
print('|....................................|')
print('| 5.To displsy result |')
print('|....................................|')
print('| 6.EXIT |')
print('|.....................................')
cho=int(input('Enter your choice(1,2,3,4,5,6);'))
if cho==1:
while True:
print('|....................................|')
print('| *****SUBMENU FOR OPERATION***** |')
print('|....................................|')
print('| 1.To insert details of student |')
print('|....................................|')
print('| 2.To insert marks of student |')
print('|....................................|')
print('| 3.EXIT |')
[Type text]Page 24
print('|....................................|')
cho=int(input('Enter your choice(1,2,3);'))
if cho==1:
insert_details()
elif cho==2:
insert_marks()
elif cho==3:
break
else:
print('Enter right choice...')
elif cho==2:
while True:
print('|....................................|')
print('| *****SUBMENU FOR OPERATION***** |')
print('|....................................|')
print('| 1.To display details of student |')
print('|....................................|')
print('| 2.To display marks of student |')
print('|....................................|')
print('| 3.EXIT |')
print('|....................................|')
cho=int(input('Enter your choice(1,2,3);'))
if cho==1:
display_details()
elif cho==2:
display_marks()
elif cho==3:
break
else:
print('Enter right choice...')
elif cho==3:
while True:
print('|.....................................|')
print('| *****SUBMENU FOR OPERATION***** |')
[Type text]Page 25
print('|.....................................|')
print('|1.To modify/delete details of student|')
print('|.....................................|')
print('|2.To modify/delete marks of student |')
print('|.....................................|')
print('|3.EXIT |')
print('|.....................................|')
cho=int(input('Enter your choice(1,2,3);'))
if cho==1:
modify_details()
elif cho==2:
modify_marks()
elif cho==3:
break
else:
print('Enter right choice...')
elif cho==4:
result_creator()
elif cho==5:
display_result()
elif cho==6:
break
else:
print('Enter right choice...')

[Type text]Page 26
OUTPUT

[Type text]Page 27
[Type text]Page 28
[Type text]Page 29
[Type text]Page 30
[Type text]Page 31
[Type text]Page 32
[Type text]Page 33
LIMITATIONS AND
UPGRADATIONS
*Limitations:
 Records of only one student can be modified at atime.
 Results of multiple students can't be displayed at once.
 Multiple Databases can’t be used together.

*Upgradations:
The following upgradations can be made in future:
 Attendance record maintenance and attendance calculator.
 FEE details maintenance.
 GUI Interface.
 Option to Print the result of astudent.

[Type text]Page 34
BIBLIOGRAPHY
 w3schools.com
 pythoninstitUte.org
 Computer Science with Python by Sumita Arora

[Type text]Page 35

You might also like