Cs Project Exam Management

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

PM SHRI KENDRIYA VIDYALAYA

AHMEDABAD CANTT








This is to certify that HITESH PAREEK of class XII A of PM
SHRI KENDRIYA VIDYALAY AHMEDABAD CANTT NO.2
has done his project on EXAMINATION MANAGEMENT
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
It is with pleasure that I acknowledge my sincere gratitude
to our teacher, MRS. SONIA CHOUDHARY 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 MR. SACHIN
KUMAR SINGH RATHORE 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 PYTHON
Python is a versatile and powerful programming language
that has become increasingly popular due to its emphasis on
code readability and simplicity. Created by Guido van Rossum
and released in 1991, Python allows developers to express
ideas in fewer lines of code compared to languages like C++
or Java, promoting efficiency and reducing complexity.

Its extensive standard library and a vibrant ecosystem of


third-party packages enable a wide range of applications,
from web development and data analysis to artificial
intelligence. Python's strong community support provides
ample learning resources, making it an ideal choice for both
beginners and experienced programmers. With its flexibility
and ease of use, Python is a go-to language for automating
tasks, analysing data, and developing applications.
HISTORY OF PYTHON
The programming language Python was conceived in the late
1980s, and its implementation was started in December
1989 by Guido van Rossum at CWI in the Netherlands as a
successor to ABC capable of exception handling and
interfacing with the Amoeba operating system. Van Rossum
is Python's principal author, and his continuing central role in
deciding the direction of Python is reflected in the title given
to him by the Python community, Benevolent Dictator for
Life (BDFL). (However, Van Rossum stepped down as leader
on July 12, 2018.). Python was named after the BBC
TV show Monty Python's Flying Circus.
Python 2.0 was released on October 16, 2000, with many
major new features, including a cycle-detecting garbage
collector (in addition to reference counting) for memory
management and support for Unicode, along with a change
to the development process itself, with a shift to a more
transparent and community-backed process.
Python 3.0, a major, backwards-incompatible release, was
released on December 3, 2008 after a long period of testing.
Many of its major features have also been backported to the
backwards-compatible, though now-unsupported, Python 2.6
and 2.7.
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.
HARDWARE AND SOFTWARE

➢ Printer- to print the required documents of the project.


➢ Compact Drive
➢ Processor: Pentium III and above
➢ RAM: 256 MB(minimum)
➢ Hard-Disk : 20 GB(minimum)

➢ 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.
import sys

import matplotlib.pyplot as plt

import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',

password='123456',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','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 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()
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/

You might also like