project file on Student Mangment System
project file on Student Mangment System
Project File
On
Student Management System
Prepared By:
Name:
Class:
Session: 2024 – 2025
Board Roll No.
Saraswati Vidya Mandir
GT Road
Etah
Acknowledgement
It would be my utmost pleasure to express my sincere thanks to my computer
science teacher Mr. Yogesh Kumar Mishra is providing a helping hand in this
project. His unflagging patience, creativity and immense knowledge that he
shared with me have proved highly beneficial to me and have made my project
file both possible and successful.
Name:
Class:
Certificate
This is to certify that this project file has been completed by
_ bearing roll number
of class 12th during the session 2024-2025.
We certify that this project work is completely original and having unique
identify.
We congratulate him for his hard work and determination in carrying out
this practical work and wish him all the success in future.
def set_data():
rollno = int(input('Enter roll number: '))
name = input('Enter name: ')
english = int(input('Enter Marks in English: '))
maths = int(input('Enter Marks in Maths: '))
physics = int(input('Enter Marks in Physics: '))
chemistry = int(input('Enter Marks in Chemistry: '))
cs = int(input('Enter Marks in CS: '))
print()
#create a dictionary
student = {}
student['rollno'] = rollno
student['name'] = name
student['english'] = english
student['maths'] = maths
student['physics'] = physics
student['chemistry'] = chemistry
student['cs'] = cs
return student
def display_data(student):
print('\nSTUDENT DETAILS..')
print('Roll Number:', student['rollno'])
print('Name:', student['name'])
print('English:', student['english'])
print('Maths:', student['maths'])
print('Physics:', student['physics'])
print('Chemistry:', student['chemistry'])
print('CS:', student['cs'])
def display_data_tabular(student):
print(student['rollno'], student['name'], student['english'],
student['maths'], student['physics'], student['chemistry'],
student['cs'],sep='\t')
def class_result():
#open file in binary mode for reading
try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record found..')
print('Go to admin menu to create record')
return
def write_record():
#open file in binary mode for writing.
outfile = open('student.dat', 'ab')
while(True):
#serialize the record and writing to file
pickle.dump(set_data(), outfile)
ans = input('Wants to enter more record (y/n)?: ')
if ans in 'nN':
break
def read_records():
#open file in binary mode for reading
try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record found..')
return
def search_record():
#open file in binary mode for reading
try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record..')
return
found = False
rollno = int(input('Enter the rollno you want to search: '))
#read to the end of file.
while True:
try:
#reading the oject from file
student = pickle.load(infile)
if student['rollno'] == rollno:
#display the record
display_data(student)
found = True
break
except EOFError:
break
if found==False:
print('Record not found!!')
def delete_record():
print('\nDELETE RECORD')
try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record found to delete..')
return
outfile = open("temp.dat","wb")
found = False
if found == False:
print('Record not Found')
print()
else:
print("record found and deleted")
infile.close()
outfile.close()
os.remove("student.dat")
os.rename("temp.dat","student.dat")
def modify_record():
print('\nMODIFY RECORD')
try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record found to modify..')
return
found = False
outfile = open("temp.dat","wb")
rollno = int(input('Enter roll number: '))
while True:
try:
#reading the oject from file
student = pickle.load(infile)
#display record if found and set flag
if student['rollno'] == rollno:
print('Name:',student['name'])
ans=input('Wants to edit(y/n)? ')
if ans in 'yY':
student['name'] = input("Enter the name ")
print('English marks:',student['english'])
ans=input('Wants to edit(y/n)? ')
if ans in 'yY':
student['english'] = int(input("Enter new marks: "))
print('Maths marks:',student['maths'])
ans=input('Wants to edit(y/n)? ')
if ans in 'yY':
student['maths'] = int(input("Enter new marks: "))
print('Physics marks:',student['physics'])
ans=input('Wants to edit(y/n)? ')
if ans in 'yY':
student['physics'] = int(input("Enter new marks: "))
print('Chemistry marks:',student['chemistry'])
ans=input('Wants to edit(y/n)? ')
if ans in 'yY':
student['chemistry'] = int(input("Enter new marks: "))
print('CS marks:',student['cs'])
ans=input('Wants to edit(y/n)? ')
if ans in 'yY':
student['cs'] = int(input("Enter new marks: "))
pickle.dump(student,outfile)
found = True
break
else:
pickle.dump(student,outfile)
except EOFError:
break
if found == False:
print('Record not Found')
else:
print('Record updated')
display_data(student)
infile.close()
outfile.close()
os.remove("student.dat")
os.rename("temp.dat","student.dat")
def intro():
print("=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=")
print("\tSTUDENT MANAGEMENT SYSTEM")
print("\t\tREPORT CARD")
print("\t\t PROJECT")
def main_menu():
print("MAIN MENU")
print("1. REPORT MENU")
print("2. ADMIN MENU")
print("3. EXIT")
def report_menu():
print("REPORT MENU")
print("1. CLASS RESULT")
print("2. STUDENT REPORT CARD")
print("3. BACK TO MAIN MENU")
def admin_menu():
print("ADMIN MENU")
print("1. CREATE STUDENT RECORD")
print("2. DISPLAY ALL STUDENTS RECORDS")
print("3. SEARCH STUDENT RECORD ")
print("4. MODIFY STUDENT RECORD ")
print("5. DELETE STUDENT RECORD ")
print("6. BACK TO MAIN MENU")
def main():
intro()
while(True):
main_menu()
choice = input('Enter choice(1-3): ')
print()
if choice == '1':
report_menu()
rchoice = input('Enter choice(1-4): ')
if rchoice == '1':
class_result()
elif rchoice == '2':
search_record()
elif rchoice == '3':
pass
else:
print('Invalid input !!!')
print()