Kama Lesh
Kama Lesh
Kama Lesh
Using this
project as base the fields can be changed and a large project can be developed.
This project uses binary file handling to store and maintain the student data.
The marksheet management system is another way to publish student marksheet online. You
can install the Marksheet management system on any website using the simple installer. The
marksheet management system is created in PHP with the MYSQL database. You can easily on
your website or local server. The marksheet management system is an advanced feature of the
result management system.
We have designed and managed students' results as well as mark sheet with college or school
watermark. You can set any background image of school or college as a watermark. This is
known as a result management system or online marksheet web application.
You can access the complete source code, database, forms and other
necessary project files of Marksheet Management System from the download
links in this post. Here, I’ve briefly introduced the project with its modules,
features and the working mechanism of this system.
About Marksheet Management System:
Existing System:
Looking at the existing mark sheet management system, it is found that many
educational institutions, mainly engineering colleges, have incorporated
“Grading System” in their educational stream. But, the problem here is that
they are still using manual methods for calculating grades and entering in
them in the marksheet. This is a very time consuming and uneconomical
process.
Proposed System:
Features:
Two main features of this project are: entering marks in mark sheet and
printing marks. Both these functions are done automatically by this software
application. Some other features of the project are save, cancel and exit from
the application.
The marksheet entry form includes “student details” and “grade points
obtained” by the student. Students’ name, registration
number, examination year, exam roll no., semester, courses and exam type
are to be provided in student details. All these information are saved in the
system.
Here’s how the “grade points obtained” works. After providing the student
details, respective subjects’ exams taken by the student along with the subject
code and credit hours are loaded to grade points drop boxes. Then, grades can
calculated and GPA can be computed; the latter is displayed on GPA text
box, and the final mark sheet result of the student is shown on the text box.
The student details including subject, programs, etc. can be modified by
editing the database table. To log in to the application, admins and guests can
find their passwords in the database login file. This file along with the
database table are available in the download file.
roll
name
physics
chemistry
maths
computer
english
total
per
grade
"""
"""
modules imported
"""
import pickle
import os
"""
class used
"""
class student(object):
def __int__(s):
s.roll=0
s.name=" "
s.physics=0
s.chemistry=0
s.maths=0
s.computer=0
s.english=0
s.total=0
s.per=0
s.grade=" "
def add_rec(s):
s.roll=int(input("Enter roll no"))
s.name=input("Enter the name")
s.name=s.name.upper()
s.physics=float(input("Enter marks of physics"))
s.chemistry=float(input("Enter marks of chemistry"))
s.maths=float(input("Enter marks of maths"))
s.computer=float(input("Enter marks of computer"))
s.english=float(input("Enter marks of english"))
s.total=s.physics+s.chemistry+s.maths+s.computer+s.english
s.per=s.total/5
if(s.per>=90):
s.grade="A1"
elif(s.per>=80 and s.per<90):
s.grade="A2"
elif(s.per>=70 and s.per<80):
s.grade="B1"
elif(s.per>=60 and s.per<70):
s.grade="B2"
else:
s.grade="C"
def disp_rec(s):
print("roll",s.roll)
print("name",s.name)
print("physics",s.physics)
print("chemistry",s.chemistry)
print("maths",s.maths)
print("computer",s.computer)
print("english",s.english)
print("total",s.total)
print("per",s.per)
print("grade",s.grade)
def display_rec(s):
print("%-8s"%s.roll,"%-10s"%s.name,"%-10s"%s.physics,"%-12s"%s.chemistry,"%-
10s"%s.maths,"%-8s"%s.computer,"%-10s"%s.english,"%-10s"%s.total,"%-10s"%s.per,"%-
5s"%s.grade)
#print("in display_rec")
def modify_rec(s):
s.roll=int(input("Enter new roll no"))
s.name=input("Enter new name")
s.name=s.name.upper()
s.physics=float(input("Enter new marks of physics"))
s.chemistry=float(input("Enter new marks of chemistry"))
s.maths=float(input("Enter new marks of maths"))
s.computer=float(input("Enter new marks of computer"))
s.english=float(input("Enter new marks of english"))
def write_rec():
try:
rec=student()
file=open("stud.dat","ab")
rec.add_rec()
pickle.dump(rec,file)
file.close()
print("Record added in file")
input("Press any key to cont....")
except:
pass
def display_all():
os.system("cls")
print(110*"=")
print("\n RAMAKRISHNA VIDYA MANDIR \n")
print("\n LIST OF MARKS OF STUDENTS OF CLASS XII OPTING PCM \n")
print("\n -created by Mitushi Chauhan \n")
print("\n STUDENT MARKSHEET \n")
print(110*"=")
try:
file=open("stud.dat","rb")
print("%-8s"%"Rollno","%-10s"%"Name","%-10s"%"Physics","%-14s"%"Chemistry","%-
8s"%"Maths","%-10s"%"Computer","%-10s"%"English","%-10s"%"Total","%-8s"%"Per","%-
5s"%"Grade")
print(110*"=")
while True:
rec=pickle.load(file)
rec.display_rec()
except EOFError:
file.close()
print(110*"=")
input("Press any key to cont....")
except IOError:
print("File could not be opened")
def search_roll():
os.system("cls")
try:
z=0
print(110*"=")
print("Record searching by roll no")
print(110*"=")
n=int(input("Enter roll no to search"))
file=open("stud.dat","rb")
while True:
rec=pickle.load(file)
if(rec.roll==n):
z=1
print("\nRecord found and details are\n")
rec.disp_rec()
break
except EOFError:
file.close()
if(z==0):
print("Record is not present")
except IOError:
print("File could not be opened")
input("Press Enter to cont....")
def search_name():
os.system("cls")
try:
z=0
n=input("Enter name to search ")
file=open("stud.dat","rb")
while True:
rec=pickle.load(file)
if(rec.name==n.upper()):
z=1
rec.disp_rec()
break
except EOFError:
file.close()
if(z==0):
print("Record is not present")
except IOError:
print("File could not be opened")
input("Press Enter to cont....")
def modify_roll():
os.system("cls")
z=0
try:
n=int(input("Enter roll no to modify"))
file=open("stud.dat","rb")
temp=open("temp.dat","wb")
while True:
rec=pickle.load(file)
if(rec.roll==n):
z=1
print("Record found and details are")
rec.disp_rec()
print("Enter new data")
rec.modify_rec()
pickle.dump(rec,temp)
print("Record updated")
else:
pickle.dump(rec,temp)
except EOFError:
file.close()
temp.close()
if(z==0):
print("Record not found")
except IOError:
print("File could not be opened")
os.remove("stud.dat")
os.rename("temp.dat","stud.dat")
input("Press Enter to cont....")
def delete_roll():
os.system("cls")
z=0
try:
n=int(input("Enter roll no to delete"))
file=open("stud.dat","rb")
temp=open("temp.dat","wb")
while True:
rec=pickle.load(file)
if(rec.roll==n):
z=1
print("Record to delete found and details are")
rec.disp_rec()
else:
pickle.dump(rec,temp)
except EOFError:
file.close()
temp.close()
if(z==0):
print("Record not found")
except IOError:
print("File could not be opened")
os.remove("stud.dat")
os.rename("temp.dat","stud.dat")
input("Press Enter to cont....")
while True:
os.system("cls")
print(110*"=")
print(""" Main Menu
------------------------
1. Add record
2. Display all records
3. Search by rollno
4. Search by name
5. Modify by rollno
6. Delete by rollno
7. Exit
""")
print(110*"=")
ch=int(input("Enter your choice"))
print(110*"=")
if(ch==1):
write_rec()
elif(ch==2):
display_all()
elif(ch==3):
search_roll()
elif(ch==4):
search_name()
elif(ch==5):
modify_roll()
elif(ch==6):
delete_roll()
elif(ch==7):
print("END")
break
else:
print("INVALID CHOICE")