0% found this document useful (0 votes)
11 views

Examination Module System

Uploaded by

nikhit890
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Examination Module System

Uploaded by

nikhit890
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 37

SETH M.

R JAIPURIA SCHOOL
KURSI ROAD LUCKNOW

A PROJECT REPORT ON
EXAMINATION MODULE
SYSTEM

CLASS-XII
(2024-25)
SUBMITTED TO : SUBMITTED
BY:

MR. ANURAG SRIVASTAVA

P.G.T.(COMP. SC)

TABLE OF CONTENTS

• CERTIFICATE

• ACKNOWLEDGEMENT

• INTRODUCTION TO THE PROJECT

• MOTIVE

• SYSTEM REQUIREMENTS

• CODING

• DATABASE TABLES
• SCREEN SHOTS OF EXECUTION.

• BIBLIOGRAPHY

• LIMITATIONS

CERTIFICATE

This is to certify that Nikhit Singh of class XII of

Seth M.R Jaipuria School , Kursi Road has done his

project on EXAMINATION MODULE SYSTEM under my

supervision. He has taken interest and has shown at most

sincerity in completion of this project.

I certify this Project up to my expectation & as per


guidelines issued by CBSE, NEW DELHI
Internal Examiner: External
Examiner:

Principal:

ACKNOWLEDGEMENT

It is with pleasure that I acknowledge my sincere

gratitude to our teacher, Mr. Anurag Srivastava who

taught and undertook the responsibility of teaching the

subject computer science. I have been greatly benefited

from his classes.

I am especially indebted to our Principal Mrs. Harpreet

Rekhi who has always been a source of encouragement


and support and without whose inspiration this project

would not have been a successful I would like to place on

record heartfelt thanks to him.

Finally, I would like to express my sincere appreciation for

all the other students for my batch their friendship & the

fine times that we all shared together.

INTRODUCTION TO THE PROJECT

The Examination Module System software is an ERP

software used in government and private educational

institutions in the senior secondary level.This software

stores details of students and their marks details in


different subjects. We can check the report card of the

student and perform marks analysis by graphical

method. This software helps us to create profile for

students, update marks and attendance detailsas per

the requirement.

MOTIVE
• To maintain the student profile, marks and attendance
details of the students of class-XI and XII.

• To generate report card displaying the marks of a student


in different subjects in a particular exam and
represent the same by graphical analysis.

• Globalized usage.
SYSTEM REQUIREMENTS

HARDWARE REQUIREMENT:

• Printer- to print the required documents of the


project.
• Compact Drive
• Proccesor: Pentium III and above
• RAM: 256 MB(minimum)
• Hard-Disk : 20 GB(minimum)

SOFTWARE REQUIREMENT:

• Windows 7 or higher
• My-SQL server 5.5 or higher(as backend)
• Python idle 3.6 or higher or spyder (as frontend).
• Microsoft Word 2010 or higher for documentation.
CODING
FRONTEND DETAILS
PROGRAM CODE

import sys
import matplotlib.pyplot as plt
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='
root', password='abhisek',database='exam')
mycur=mycon.cursor()

def Student_Profile():
sql="Insert into
student(adm_no,name,class,section)values(%s,%s,%s,
%s)"
print('\nPLEASE PROVIDE THE REQUIRED INFORMATION\
n')
ad=input('\nENTER THE ADMISSION NUMBER TO
REGISTER FOR EXAM:')
nm=input('\nENTER THE STUDENT NAME:')
cls=int(input('\nENTER THE CLASS(11/12):'))
sec=input('\nENTER THE SECTION(A-D):')
value=(ad,nm,cls,sec)
try:
mycur.execute(sql,value)
print(nm,'ADDED SUCCESSFULLY TO EXAM
MODULE')
mycon.commit()
except:
print('UNABLE TO INSERT!!!!!')

def Edit_Profile():
sql="Update student set section=%s where adm_no=
%s";
ph=input('\nENTER THE ADMISSION NUMBER WHOSE
SECTION TO MODIFY:')
nm=input('\nENTER THE NEW SECTION(A-D):')
value=(nm,ph)
try:
mycur.execute(sql,value)
mycon.commit()
print('RECORD UPDATED SUCCESSFULLY')
except:
print('UNABLE TO UPDATE SECTION!!!!')

def Remove_Profile():
ph=input('\nENTER THE ADMISSION NUMBER TO
DELETE:')
sql='Delete from student where Adm_no=%s'
value=(ph,)
try:
mycur.execute(sql,value)
mycon.commit()
print('RECORD DELETED SUCCESSFULLY')
except:
mycon.rollback()
print('UNABLE TO DELETE RECORD!!!')

def Record_Entry():
sql="Insert into
result(adm_no,exam_name,sub1,sub2,sub3,sub4,sub5
,total,percentage,attendance,grade,remarks)values(%
s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
print('\nPLEASE PROVIDE THE REQUIRED
INFORMATION\n')
ad=int(input('\nENTER THE ADMISSION NUMBER TO
ENTER RECORD:'))
nm=input('\nENTER THE EXAM NAME:')
sub1=int(input('ENTER MARKS IN SUBJECT
1(MAX:100):'))
sub2=int(input('ENTER MARKS IN SUBJECT
2(MAX:100):'))
sub3=int(input('ENTER MARKS IN SUBJECT
3(MAX:100):'))
sub4=int(input('ENTER MARKS IN SUBJECT
4(MAX:100):'))
sub5=int(input('ENTER MARKS IN SUBJECT
5(MAX:100):'))
total=sub1+sub2+sub3+sub4+sub5
per=total//5
wrkday=int(input('ENTER TOTAL NUMBER OF
WORKING DAYS:'))
present=int(input('ENTER NO OF DAYS PRESENT:'))
att=present/wrkday*100
att=int(att)
if(per>=90):
g='A'
rem='EXCELLENT PERFORMANCE!!'
elif(per>=75 and per<90):
g='B'
rem='VERY GOOD PERFORMANCE!!'
elif(per>=55 and per<=75):
g='C'
rem='SATISFACTORY PERFORMANCE!!'
elif(per>=35 and per<55):
g='D'
rem='AVERAGE PERFORMANCE!!'
else:
g='E'
rem='SCOPE FOR IMPROVEMENT!!'

value=(ad,nm,sub1,sub2,sub3,sub4,sub5,total,per,att,g
,rem)
try:
mycur.execute(sql,value)
print('RECORD ADDED SUCCESSFULLY TO EXAM
MODULE')
mycon.commit()
except:
print('UNABLE TO INSERT!!!!!')
def Report_Card():
ad=int(input('\nENTER THE ADMISSION NUMBER TO
SEARCH:'))
sql1='Select * from student where adm_no=%s'
value=(ad,)
mycur.execute(sql1,value)
rec1=mycur.fetchone()
if(rec1!=None):
adm=rec1[0]
name=rec1[1]
cls=rec1[2]
sec=rec1[3]
sql2='Select * from result where adm_no=%s'
value=(ad,)
mycur.execute(sql2,value)
rec2=mycur.fetchone()
if(rec2!=None):
adm=rec2[0]
exname=rec2[1]
sub1=rec2[2]
sub2=rec2[3]
sub3=rec2[4]
sub4=rec2[5]
sub5=rec2[6]
total=rec2[7]
per=rec2[8]
att=rec2[9]
g=rec2[10]
rem=rec2[11]
if(rec1==None and rec2==None):
print('WRONG ADMISSION NUMBER GIVEN!!!!!!')
else:
print('\n\n--------REPORT CARD OF',name,'----------\
n\n')
print('\nCLASS-',cls,'SECTION-',sec,'\n')
print('\n------------------------------\n')
print('\nRESULT OF',exname,'\n')
print('\n------------------------------\n')
if(sec=='A'):
print('\n ENGLISH : ',sub1)
print('\n HISTORY : ',sub2)
print('\n POL. SC : ',sub3)
print('\n ECONOMICS : ',sub4)
print('\n GEOGRAPHY : ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
print('\n REMAKS : ',rem)
elif(sec=='B'):
print('\n ENGLISH : ',sub1)
print('\n ACCOUNTANCY: ',sub2)
print('\n B.STUDIES : ',sub3)
print('\n ECONOMICS : ',sub4)
print('\n INFO.PRAC : ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
print('\n REMAKS : ',rem)
elif(sec=='C'):
print('\n ENGLISH : ',sub1)
print('\n PHYSICS : ',sub2)
print('\n COMP.SC : ',sub3)
print('\n CHEMISTRY : ',sub4)
print('\n MATHEMATICS: ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
print('\n REMAKS : ',rem)
elif(sec=='D'):
print('\n ENGLISH : ',sub1)
print('\n PHYSICS : ',sub2)
print('\n BIO.SC : ',sub3)
print('\n CHEMISTRY : ',sub4)
print('\n MATHEMATICS: ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
print('\n REMAKS : ',rem)

def Remove_Record():
ph=input('\nENTER THE ADMISSION NUMBER TO
DELETE:')
sql='Delete from RESULT where Adm_no=%s'
value=(ph,)
try:
mycur.execute(sql,value)
mycon.commit()
print('RECORD DELETED SUCCESSFULLY')
except:
mycon.rollback()
print('UNABLE TO DELETE RECORD!!!')

def Graph():
ad=int(input('\nENTER THE ADMISSION NUMBER TO
SEARCH:'))
sql1='Select * from result where adm_no=%s'
value=(ad,)
mycur.execute(sql1,value)
T=mycur.fetchone()
sql2='Select section from student where adm_no=
%s';
mycur.execute(sql2,value)
s=mycur.fetchone()
L=[T[2],T[3],T[4],T[5],T[6]]
sec=s[0]
if(sec=='A'):

sub1,sub2,sub3,sub4,sub5='English','History','Pol.Sc
','Economics','Geography'
elif(sec=='B'):

sub1,sub2,sub3,sub4,sub5='English','Accountancy','
B.Studies','Economics','Info.Practices'
elif(sec=='C'):
sub1,sub2,sub3,sub4,sub5='English','Physics','Computer
Sc.','Chemistry','Mathematics'
elif(sec=='D'):

sub1,sub2,sub3,sub4,sub5='English','Physics','Biol
ogy','Chemistry','Mathematics'
sub=[sub1,sub2,sub3,sub4,sub5]
clr=('red','green','blue','orange','brown')
plt.bar(sub,L,color=clr)
plt.xlabel('Subjects')
plt.ylabel('Marks')
plt.title('Marks Analysis')
plt.show()

def Close():
print('\nTHANK YOU FOR USING THE APPLICATION')
sys.exit()

print('-----------WELCOME TO EXAMINATION MODULE


SYSTEM FOR CLASS-XI & XII-------------\n\n')
while(True):
print('\n\nPRESS 1 TO CREATE A STUDENT PROFILE')
print('PRESS 2 TO EDIT A STUDENT PROFILE')
print('PRESS 3 TO DELETE A STUDENT PROFILE')
print('PRESS 4 FOR MARKS AND ATTENDANCE ENTRY')
print('PRESS 5 TO GENERATE REPORT CARD')
print('PRESS 6 TO DELETE MARKS DETAILS')
print('PRESS 7 TO PRODUCE A GRAPH PERFORMANCE')
print('PRESS 8 TO CLOSE THE APPLICATION')
choice=int(input('ENTER YOUR CHOICE : '))
if(choice==1):
Student_Profile()
elif(choice==2):
Edit_Profile()
elif(choice==3):
Remove_Profile()
elif(choice==4):
Record_Entry()
elif(choice==5):
Report_Card()
elif(choice==6):
Remove_Record()
elif(choice==7):
Graph()
elif(choice==8):
Close()

DATABASE TABLES
Database Name: EXAM
Code:
Create Database Exam;
Use Exam;
Table Name: STUDENT
Attributes:
adm_no int(6) Primary Key
name varchar(40)
classint(2)
section char(1)

Code:
CREATE TABLE STUDENT(

adm_no INT(6) PRIMARY KEY,

NameVARCHAR(40),

classint(2),
section char(1));

Table Name: RESULT


Attributes:
Adm_no int(6)
exam_name varchar(30)
sub1 int(3)
sub2 int(3)
sub3 int(3)
sub4 int(3)
sub5 int(3)
total int(3)
percentage int(5)
attendance int(5)
grade char(1)
remarks varchar(50)
Code:
CREATE TABLE RESULT (
Adm_no int(6) PRIMARY KEY,
exam_name varchar(30),
sub1 int(3),
sub2 int(3),
sub3 int(3),
sub4 int(3),
sub5 int(3),
total int(3),
percentage int(5),
attendance int(5),
grade char(1),
remarks varchar(50));
OUTPUT
SCREEN SHOTS OF EXECUTION
MAIN MENU

CREATING STUDENT PROFILE


EDITING STUDENT PROFILE
MARKS AND ATTENDANCE ENTRY
GENERATING REPORT CARD
PRODUCING GRAPH
DELETING STUDENTS PROFILE
BIBLIOGRAPHY

BOOKS:

• COMPUTER SCIENCE WITH PYTHON-BY SUMITA


ARORA
• COMPUTER SCIENCE WITH PYTHON-BY PREETI
ARORA
• PYTHON COOKBOOK

WEBSITES:
• www.geeksforgeeks.org
• https://docs.python.org/3/
• https://www.w3schools.com/python/
LIMITATIONS

• The Project has no provision to update marks

after the report card is generated.

• The project does not incorporate the provision

of producing the result of the entire class for a

particular examination.

• The project is limited to the examination system

of class-XI and XII and does not provide the

yearly summary sheet report generation facility.

You might also like