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

MOKSHCS

Uploaded by

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

MOKSHCS

Uploaded by

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

SINDHI MODEL SENIOR SECONDARY

SCHOOL

COMPUTER
SCIENCE (083)
PROJECT
2024-2025

Topic:
EXAMINATION MODULE SYSTEM

Guided By:
Mr. Dinesh N

Submitted By : Moksh Sakariya


Class and Section: XII A
Roll Number : 21
TABLE OF CONTENTS

Pg
S.No Topics
No.

1. ACKNOWLEDGEMENT 1

2. INTRODUCTION TO PYTHON 2

3. INTRODUCTION TO THE PROJECT 3

4. SYSTEM REQUIREMENTS 4

5. SOURCE CODE 5

6. SAMPLE OUTPUT 15

7. BIBLIOGRAPHY 19

8. LIMITATIONS 20
ACKNOWLEDGEMENT
IN THE ACCOMPLISHMENT OF THIS PROJECT
SUCCESSFULLY, MANY PEPOLE HAVE BEST
OWNED UPON ME THEIR BLESSINGS AND THE
HEART PLEDGE SUPPORT, THIS TIME I AM
UTILIZING TO THANK ALL THE PEPOLE WHO
HAVE BEEN CONCERNED WITH PROJECT.

PRIMARILY I WOULD THANK GOD FOR BEING


ABLE TO COMPLETE THIS PROJECT SUCCESS.
THEN I WOULD LIKE TO THANK MY PRINCIPAL
MRS. VICTORIA D AND COMPUTER SCIENCE
TEACHER MR. DINESH NAGAMBARAM WHOSE
VALUABLE GUIDACE HAS BEEN ONES THAT
HELPED ME PATCH PROJECT AND MAKE IT
FULL PROOF SUCCESSS HIS SUGGESTION AND
HIS INSTRUCTION HAS SERVE AS THE MAJOR
CONTRIBUTION TOWARDS THE COMPLETION
OF THE PROJECT.

THEN I WOULD LIKE TO THANK MY PARENTS


AND FRIENDS WHO HAVE HELPED ME WITH
THEIR VALUABLE SUGGESTION AND GUIDANCE
HAS BEEN HELPFUL IN VARIOUS PHASES OF
THE COMPLETION OF THE PROJECT.
INTRODUCTION TO
PYTHON
Python is an interpreted, object-oriented,
high-level programming language with
dynamic semantics. Its high-level built in
data structures, combined with dynamic
typing and dynamic binding, make it very
attractive for Rapid Application
Development, as well as for use as a
scripting or glue language to connect
existing components together. Python's
simple, easy to learn syntax emphasizes
readability and therefore reduces the cost
of program maintenance. Python supports
modules and packages, which encourages
program modularity and code reuse. The
Python interpreter and the extensive
standard library are available in source or
binary form without charge for all major
platforms, and can be freely distributed.
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 details as per
the requirement.
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
Python idle 3.6 or higher (as frontend).
Microsoft Word 2010 or higher for
documentation.
BACKEND DETAILS
Database Name: EXAM

Code:
Create Database Exam;
Use Exam;

Table Name: STUDENT

Attributes:
adm_no int(6) Primary Key
name varchar(40)
class int(2)
section char(1)

Code:
CREATE TABLE STUDENT (
adm_no INT(6) PRIMARY KEY,
Name VARCHAR(40),
class int(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));
FRONTEND DETAILS
Program Code
import sys
import matplotlib.pyplot as plt
import mysql.connector
mycon=mysql.connector.connect(host='localhost',
user='root', password='moksh',database='exam')
mycur=mycon.cursor()
def Student_Profile():
sql="Insert into student 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 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','Biology',
'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 TO ENTER MARKS AND ATTENDANCE')
print('PRESS 5 TO GENERATE REPORT CARD')
print('PRESS 6 TO DELETE MARKS DETAILS')
print('PRESS 7 TO GET A GRAPHICAL ANALYSIS ')
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()
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.
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