0% found this document useful (0 votes)
91 views30 pages

Ragual R

This document contains the source code for a student report card generating system using Python and MySQL. The system allows users to add student details and marks, search student records by admission number, update marks, and delete student details from the database. Python functions are used to manage the menus, input/output, and MySQL queries. Student details are stored in one table and marks in another, with admission number linking the tables. The source code shows functions for each system feature and sample queries to insert, select, update, and delete records from the MySQL database tables.

Uploaded by

Elango Warrior
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)
91 views30 pages

Ragual R

This document contains the source code for a student report card generating system using Python and MySQL. The system allows users to add student details and marks, search student records by admission number, update marks, and delete student details from the database. Python functions are used to manage the menus, input/output, and MySQL queries. Student details are stored in one table and marks in another, with admission number linking the tables. The source code shows functions for each system feature and sample queries to insert, select, update, and delete records from the MySQL database tables.

Uploaded by

Elango Warrior
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/ 30

DHEERANCHINNAMALAI

INTERNATIONAL RESIDENTIAL
SCHOOL (CBSE)

2023-2024

COMPUTER SCIENCE PROJECT REPORT


ON
STUDENT REPORT CARD GENERATING
SYSTEM
SUBMITTED FOR THE AISSCE PRACTICAL
EXAMINATION 2023-2024

NAME : RAGUAL.R

CLASS : XII-B

REG.NO :
A PROJECT SUBMITTED IN PARTIAL FULFILLMENT
OF THE REQIREMENT FOR THE A.I.S.S.C.E
CERTIFICATION FROM CENTRAL BOARD OF
SECONDARY EDUCATION

…………………………………………………………
PROJECT WORK
DONE BY:
..…………………………………………
REG.NO:
……..……………………………………
UNDER THE GUIDANCE OF

MR. NOBY SCARIA


DEPARTMENT OF COMPUTER SCIENCE

DHEERAN CHINNAMALAI INTERNATIONAL


RESIDENTIAL SCHOOL
BANGALORE Main Road, UTHANGARAI

2023-2024
CERTIFICATE
THIS IS TO CERTIFY THAT THE PROJECT ENTITLED ………….
………………………………………………………………………………….. IS A BONAFIDE

WORK DONE BY …………........................................................

SUBMITTED TO THE DHEERAN CHINNAMALAI INTERNATIONAL RESIDENTIAL


SCHOOL, BANGALORE MAIN ROAD, UTHANGARAI, IN PARTIAL FULFILMENT OF

THE REQUIREMENT FOR THE A.I.S.S.C.E CERTIFICATION FROM CENTRAL BOARD

OF SECONDARY EDUCATION UNDER THE GUIDANCE OF MR. NOBY

SCARIA,COMPUTER SCIENCE DEPARTMENT FOR THE ACADEMIC YEAR 2023-


2024 .

TEACHER IN-CHARGE:

MR.NOBY SCARIA EXTERNAL EXAMINER

SUBMITTED FOR THE VIVA-VOICE EXAMINATION HELD ON……………………

PRINCIPAL

MR. SURESH S

SEAL
ACKNOWLEDGEMENT

IN THE ACCOMPLISHMENT OF THE PROJECT ……………………………………


…………………………………………………………………………SUCCESSFULLY, MANY
PEOPLE HAVE BEST OWNED UPON ME THEIR BLESSINGS AND HEART
PLEDGED SUPPORT , THIS TIME I AM UTILIZING TO THANK ALL THE
PEOPLE WHO HAVE BEEN CONCERNED WITH IS PROJECT .

PRIMARILY I WOULD THANK THE GOD FOR BEING ABLE TO COMPLETE


THIS PROJECT WITH SUCCESS.

THEN I WOULD LIKE TO THANK MY PRINCIPAL MR.SURESH.S FOR


VALUABLE GUIDANCE HAS BEEN HELPED ME PATCH THIS PROJECT .

I WOULD ALSO LIKE THANK MY COMPUTER SCIENCE TEACHER


MR.NOBY SCARIA HIS SUGGESTION AND HIS INSTRUCTION HAVE
SERVED ME AS THE MAJOR CONTRIBUTOR TOWARDS THE COMPLETION
OF THE PROJECT .

THEN I WOULD LIKE TO THANK ALL MY FACULTIES WHO HELPED


ME DIRECTLY OR INDIRECTLY, WITHOUT THEM THIS PROJECT MAY NOT
BE SUCCESS .

THEN I WOULD LIKE TO THANK MY PARENTS&FRIENDS WHO HAVE


HELPED ME WITH THEIR VALUABLE SUGGESTION & GUIDANCE, HAS
BEEN VERY HELPFUL IN VARIOUS PHASES OF THE COMPLETION OF THE
PROJECT .

LAST BUT NOT LEAST I WOULD LIKE TO THANK

MY CLASSMATES WHO HAVE HELPED ME A LOT .


INDEX
S.NO CONTENT PAGE.NO

1 OVERVIEW OF PYTHON 1
2 PROJECT SYNOPSIS 2
3 REQUIREMENTS 4
4 BACK END DETAILS 5

PACKAGES & FUNCTIONS


5
USED IN THE PROJECT 7
6 SOURCE CODE 8
7 SCREENSHOTS 18
23
8 BIBLIOGRAPHY
STUDENT REPORT CARD
GENERATING SYSTEM
OVERVIEW OF PYTHON
Python is a high-level, interpreted, interactive and object-

oriented scripting language. Python is designed to be highly

readable. Python’ s simple, easy to learn syntax emphasizes

readability and therefore reduces the cost of program

maintenance. Python has few keywords, simple structure,

and a clearly defined syntax. This allows the student to pick

up the language quickly. Python’ s source code is fairly easy

to maintain. Python provides a better structure and support

for large programs and shell scripting. Python is dynamically

typed language. It is often used to build websites, software,

automate tasks, and conduct data analysis.


PROJECT SYNOPSIS
This project titled as “STUDENT REPORT CARD GENERATING
SYSTEM”. It is automated report software , in this software
we have used python for frontend design and MySQL for
backend.
STUDENT REPORT CARD GENERATING SOFTWARE HAVING
FOLLOWING FEATURES ;
 Add student details
 Add students marks
 Search student report card
 Updating student marks
 Deleting students details
In this software for registering a student we have to provide
student admission number, student name, student class/
division, student date of birth.
In our project we are providing 1 type of searching option.
1.using admission number
In this software we are providing updating option for each
subject.
In this software we can able to add 5 subject theory and
practical marks.

REQUIRMENTS
MINIMUM HARDWARE REQUIREMENT
 Display : LED Monitor or above
 Processor : Pentium core or above
 Hard disk : 100GB
 RAM : 1GB
 Keyboard : PS/2 OR USB
 Mouse : PS/2 OR USB

MINIMUM SOFTWARE REQUIREMENT


 Operating system : Windows 8 or above
 Python IDLE : 3.6 OR above
 My SQL server : 8.0 or above

BACK END DETAILS


BACK END: MYSQL SERVER
It provides a database management system with
querying and connectivity capabilities, as well as the
ability to have excellent data structure and integration
with many different platforms.
It can handle large databases reliably and quickly in
high-demanding production environments.

Database Name: student


1st Table Name:
student_details

2nd Table Name: student_marks


PACKAGES & AND FUNCTIONS USED IN
THE PROJECT
PACKAGE/MODULE
Datetime: it is used in this software to provide date and
time.
Math: it is used in this software to provide mathematics
operations.
mysql. Connector: provides connectivity between mysql
sever and python program.
User defined functions
menu(): this function directs other functions.
addstud (): It is used to add student details.
addmarks (): It is used to add student marks.
disp (): It is used to search the student record.
update_marks(): It is used to update student marks
details.
delete_option(): It is used to delete student details.

SOURCE CODE
import mysql.connector as mc
mycon=mc.connect(user='root',password='206',host='localhost',
database='student')
if(mycon.is_connected()):
print("Connection Successfull")
def addstud():
opt='y'
while(opt 'y' or opt 'Y'):
admn=int(input("Enter the Student Admission Number"))
Name=input("Enter the Student Name")
class_division=input("Enter Class and Division")
DOB=input("Enter the Date of Birth(in YYYY-MM-DD like 2000-01-01)")
parents_Guardian=input("Enter the Parents orGuardian")
query="insert into student_details
values('{}','{},'{}','{}','{}')".format(admn,Name,class_division,DOB,parents_Gu
ardian)
mycursor mycon.cursor()
mycursor.execute(query)
mycon.commit()
print("*****Record AddedSuccessfully** ****")
opt-input("Do you add More ? y /Y")
menu()
Def addmarks():
x=int(input("Enter the admission of the student"))
query="select from student_details where admn={}".format(x)
mycursor=mycon.cursor()
mycursor.execute(query)
rec-mycursor.fetchone()
if(mycursor.rowcount=0): print("Sorry No record Found, Try Again")
menu()
else:
print("Admission Number:",rec[0])
print("Name:",rec[1])
print("Class & Division:",rec[2])
print("dob:",rec[3])
subl=input("Enter First Subject") subl_marks 1=int(input("Enter the Theory
Mark"))
sub1_marks2=int(input("Enter the Practical Mark"))
subl_total=subl_marks1+sub1_marks2
sub2=input("Enter Second Subject")
sub2_marks1=int(input("Enter the Theory Mark"))
sub2_marks2=int(input("Enter the Practical Mark"))
sub2_total=sub2_marks1+sub2_marks2
sub3=input("Enter Third Subject")
sub3_marks1=int(input("Enter the Theory Mark"))
sub3_marks2=int(input("Enter the Practical Mark"))
sub3_total-sub3_marks1+sub3_marks2
sub4-input("Enter Fourth Subject") sub4_marks 1=int(input("Enter the
Theory Mark"))
sub4_marks2=int(input("Enter the Practical Mark"))
sub4_total-sub4_marks1+sub4_marks2 sub5=input("Enter Fifth Subject")
sub5_marks 1=int(input("Enter the Theory Mark"))
sub5_marks2=int(input("Enter the Practical Mark"))
sub5_total=sub5_marks1+sub5_marks2

grand total subl_total+sub2_total+sub3_total+sub4_total+sub5_total


query="insert into student_marks
values({},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{})".
format(x,sub1,sub1_marks1,sub1_marks2,sub1_total,sub2,sub2_marks1,sub
2_marks2,sub2_total,sub3,sub3_marks1,sub3_marks2,sub3_total,sub4,sub4
_mark s1,sub4_marks2,sub4_total,sub5,sub5_marks
1,sub5_marks2,sub5_total,grand_total)
mycursor.execute(query)
mycon.commit()
print("Marks Added....")
menu()
def disp():
x=int(input("Enter the admission of the student"))
query="select * from student_details natural join student_marks where
admn={}".format(x)
mycursor-mycon.cursor()
mycursor.execute(query) rec-mycursor.fetchone()
if(mycursor.rowcount=0):
print("Sorry No record Found, Try Again")
menu()
else:
print("* *STUDENT REPORT CARD** **")
print("***********************************************************
************")
print("Admission Number:",rec[0]) print("Name:",rec[1])
print("Class & Division:",rec[2])
print("dob:",rec[3])
print("***********************************************************
***********")
query="select * from student_details natural join student_marks where
admn={}".format(x)
mycursor-mycon.cursor()
mycursor.execute(query)
rec-mycursor.fetchone()
print("SUBJECT NAME TheoryMarks PraticalMarks OBTAINED(100)")
print(rec[5], 't,rec[6], 't',rec[7], '\t',rec[8])
print(rec[9],'\t',rec[10],'\t',rec[11],'\t',rec[12])
print(rec[13], '\t',rec[14],'\t', rec[15],'\t',rec[16])
print(rec[17], '\',rec[18], '',rec[19],"M", rec[20])
print(rec[21], '\t',rec[22],t,rec[23], '\t',rec[24])
print("GRAND TOTAL", "\t",rec[25])
print("************************************************")
menu()
def update_marks():
x=int(input("Enter the admission of the student"))
query="select * from student marks where admn={}".format(x)
mycursor mycon.cursor() mycursor.execute(query)
rec-mycursor.fetchone()
print("subject1:",rec[1],"subject2:",rec[5],"subject3:",rec[9],"subject4:",rec[1
3],"subject5:",rec[17])
print("1.Update subject1 marks")
print("2.Update subject2 marks")
print("3.Update subject3 marks")
print("4.Update subject4 marks") print("5.Update subject5 marks")
print("6.Return to mainmenu") op=int(input("enter your choice"))
if(op== 1):
update_sub1(x)
elif(op==2):
update_sub2(x)
elif(op=3):
update_sub3(x)
elif(op==4):
update_sub4(x) update_sub5(x) menu()
elif(op-5):
update_sub5(x)
elif(op=6):
menu()
def update_sub1(x):
query="select * from student_marks where admn={}".format(x)
mycursor-mycon.cursor()
mycursor.execute(query)
rec-mycursor.fetchone()
if(mycursor.rowcount=0):
print("Sorry No record Found, Try Again")
menu()
else:
print("Subject",rec[1])
subl_marks 1=int(input("Enter the Theory Mark"))
sub1_marks2=int(input("Enter the Pratical Mark"))
subl_total subl_marks1+sub1_marks2
query="update student_marks set
subl_marks1=().subl_marks2={}.subl_total={} where
admn={}".format(sub1_marks 1,subl_marks2,sub1_total,x)
mycursor-mycon.cursor() mycursor.execute(query)
mycon.commit()
grand_total(x)
menu()
def update_sub2(x):
query="select * from student_marks where admn={}".format(x)
query="update student_marks set
sub3_marks1-{}),sub3_marks2-(3,sub3_total-() where
admn={}".format(sub3_marks 1,sub3_marks2,sub3_total,x)
mycursor mycon.cursor()
mycursor.execute(query)
mycon.commit()
grand_total(x)
menu()
def update_sub4(x):
query="select from student marks where admn={}".format(x) mycursor
mycon.cursor
mycursor.execute(query)
rec mycursor.fetchone()
if(mycursor.rowcount=0):
print("Sorry No record Found, Try Again")
menu()
else:
print("Subject",rec[13])
sub4 marks 1-int(input("Enter the Theory Mark"))
sub4_marks2=int(input("Enter the Pratical Mark"))
sub4_total=sub4_marks1+sub4_marks2
query="update student_marks set
sub4_marks1={},sub4_marks2=(),sub4_total={} where
admn={}".format(sub4_marks 1,sub4_marks2,sub4_total,x)
mycursor mycon.cursor()
mycursor.execute(query)
mycon.commit()
grand total(x)
menu()
def update_sub5(x):
mycursor-mycon.cursor()
mycursor.execute(query)
rec-mycursor.fetchone()
if(mycursor.rowcount=0):
print("Sorry No record Found, Try Again")
menu()
else:
print("Subject", rec[5])
sub2_marks 1-int(input("Enter the Theory Mark"))
sub2_marks2=int(input("Enter the Pratical Mark"))
sub2_total-sub2_marks1+sub2_marks2
query="update student_marks set
sub2_marks1=,sub2_marks2-().sub2_total={} where
admn={}".format(sub2_marks 1,sub2_marks2,sub2_total,x)
mycursor mycon.cursor()
mycursor.execute(query)
mycon.commit()
grand_total(x)
menu()
def update_sub3(x):
query="select * from student marks where admn={}".format(x)
mycursor=mycon.cursor()
mycursor.execute(query)
rec-mycursor.fetchone()
if(mycursor.rowcount=0):
print("Sorry No record Found, Try Again")
menu()
else:
print("Subject",rec[9])
sub3_marks1=int(input("Enter the Theory Mark"))
sub3_marks2=int(input("Enter the Pratical Mark"))
sub3_total=sub3_marks1+sub3_marks2
query="select * from student_marks where admn={}".format(x)
mycursor=mycon.cursor()
mycursor.execute(query)
rec-mycursor.fetchone()
if(mycursor.rowcount==0):
print("Sorry No record Found, Try Again")
menu()
else:
print("Subject",rec[17])
sub5_marks1=int(input("Enter the Theory Mark"))
sub5_marks2=int(input("Enter the Pratical Mark"))
sub5_total=sub5_marks1+sub5_marks2
query="update student_marks set sub5T-{},subSP-(,sub5total={} where
admn={}".format(sub5_marks1,sub5_marks2, sub5_total,x)
mycursor=mycon.cursor()
mycursor.execute(query)
mycon.commit()
grand_total(x)
menu()
def grand_total(x):
query="select * from student_marks where admn={}".format(x)
mycursor=mycon.cursor()
mycursor.execute(query) rec-mycursor.fetchone())
if(mycursor.rowcount==0):
print("Sorry No record Found, Try Again")
menu()
else:
grand total rec[4]+ree[8]+rec[12]+rec[16]+rec[20]
query="update student_marks set grand_total={} where
admn={}".format(grand_total,x)
mycursor=mycon.cursor()
mycursor.execute(query)
mycon.commit()
menu()
def delete_details():
x=input("Enter Member ID to be Delete: ") a=input("Are you sure for
deleting?(yes/no)") ")
print(" ")
if a== 'yes' or a== 'YES' or a== 'Yes':
query="delete from student_details where admn='("".format(x)
query1="delete from student_marks where admn="{}".format(x)
mycursor-mycon.cursor
mycursor.execute(query)
mycursor.execute(query1)
mycon.commit()
print("\n",x,"Deleted Successfully")
menu()
else:
menu()
def menu():
print("#############################")
print("STUDENT REPORT CARD ")
print("MAIN MENU")
print("###############################")
print("1.Enter Student Details")
print("2.Enter Student Marks")
print("3.Search Student Record") print("4.Edit Student Marks")
print("4.Edit Student Marks")
print("5.Delcte student details/marks")
print("6.Exit")
choice=int(input("Enter Your Choice"))
if(choice==1):
addstud()
elif(choice-2):
addmarks()
elif(choice =3):
disp()
elif(choice ==4):
update_marks()
elif(choice =5):
delete_details()
elif(choice =6):
quit()
menu()
SCREENSHOTS
Main menu:

________________________________
_

1.Add Student details:


2.Add Student Marks:

3.Display student report:


4.Updata student marks:

4.1.Update subject1 marks:


4.2.Updata Subject 2 marks:

4.3.Updata Subject 3 marks:


4.5.Update subject 4 mark:

4.5.Update subject 5 mark:


5.Delete Student details:
BIBLIOGRAPHY

Text Books
1.Computer Science with Python :
Sumitha Arora
2.Computer Science with Python :
Preeti Arora

Websites
1. www.cbseprojectguide.com
2. www.python4csip.com

You might also like