0% found this document useful (0 votes)
52 views15 pages

Student Management System

The document is a project report for a Student Management System. It includes an overview of the project, hardware and software requirements, source code, output screens and bibliography. The source code provided functionality for setting student data, displaying data, searching, writing to and reading from files.

Uploaded by

narensriram10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views15 pages

Student Management System

The document is a project report for a Student Management System. It includes an overview of the project, hardware and software requirements, source code, output screens and bibliography. The source code provided functionality for setting student data, displaying data, searching, writing to and reading from files.

Uploaded by

narensriram10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

SATCHIDANANDA JOTHI NIKETHAN

INTERNATIONAL SCHOOL
KALLAR, METTUPALAYAM-641 305.

PROJECT REPORT
ON
STUDENT MANAGEMENT SYSTEM

ROLL NO : C1234
NAME : KUMAR
CLASS : XII
SUBJECT : COMPUTER SCIENCE
SUB CODE : 083
ACKNOWLEDGEMENT

I would like to express my special thanks of gratitude


to my teacher Mr. W.Edward Jerry Louies, Teacher of
Computer Science, as well as our Principal Dr. R. Uma
Maheswari, who gave me the golden opportunity to do
this wonderful project on the topic “STUDENT
MANAGEMENT SYSTEM” which also helped me in doing a
lot of research and I came to know about so many new
things. I am thankful to them.

I would also like to thank my parents and friends who


helped me a lot in finalizing this project within the limited
time frame.
SATCHIDANANDA JOTHI NIKETHAN
INTERNATIONAL SCHOOL
KALLAR, METTUPALAYAM-641 305.

CERTIFICATE

This is to certify that the project title “STUDENT


MANAGEMENT SYSTEM” was completed by KUMAR, Roll
No: C1234 of class XII under My Guidance and supervision
with the stipulated time as prescribed by AISSCE, CBSE for
Economics, in the year 2024-2025.

Teacher In-charge
Mr. W.EDWARD JERRY LOUIES
Teacher of Computer Science

Internal Examiner External Examiner

Principal
DECLARATION

I, KUMAR Second Year Senior Secondary Student in


the Branch of Commerce of Satchidananda Jothi
Nikethan International School, Kallar, hereby declare
that the project entitled “STUDENT MANAGEMENT SYSTEM”
Submitted to Satchidananda Jothi Nikethan
International School in partial fulfilment of the
requirements for the award of AISSCE certificate under
the guidance of Mr. EDWARD JERRY LOUIES, PGT
Computer Science, during the period of 2024-2025 is a
bonafide work done by me.

Submitted by

Name: KUMAR

Roll No: C1234

Signature
INDEX

1.Brief Overview of Project

2.Need for Computerization

3.Software and Hardware requirement

4.Source Code of Project

5.Output Screens

6.Bibliography
OVERVIEW OF THE PROGRAM:
This is a project based on train reservation. The program helps
us to enter, display or alter the details of different trains.
Moreover & most importantly the program helps us to reserve or
cancel a train ticket.
The program also helps us to know the present status of a
reserved ticket, i.e. whether the ticket is confirmed or not.
It includes various function programs to do the above mentioned
tasks.
Data file handling has been effectively used in the program.
The database is a collection of interrelated data to serve multiple
applications. That is database programs create files of
information. So we see that files are worked with most, inside the
program.
DBMS
The software required for the management of data is called
as DBMS.

It has3 models
• Relation model
• Hierarchical model
• Network model
RELATIONAL MODEL It’s based on the concept on relation.
Relation is the table that consists of rows and columns. The rows
of the table are called tuple and the columns of the table are
called attribute. Numbers of rows in the table is called as
cardinality. Number of columns in the table is called as degree.
HIERARCHICAL MODEL: In this type of model, we have multiple
records for each record. A particular record has one parent
record. No chide record can exist without parent record. In this,
the records are organized in tree (like structure
NETWORK MODEL:- In this, the data is represented by collection
of records and relationship is represented by (ink or association.
CHARACTERISTICS OF DB MS: -
• It reduces the redundancy
• Reduction of data in inconsistency
• Data sharing
• Data standardization
DIFFERENT TYPES OF FILES: -BASED ON ACCESS:-
• Sequential file
• Serial file
• Random (direct access) file BASED ON STORAGE:-
• Text file
• Binary File

NEED OF COMPUTERISATION
Over the decades computers and food bookings have
developed gradually, changed with time. But nobody knew
that a time will come when both these fields will complement
each other so well. Today food booking has reached new
heights by computer aided methods of design. As a result of
which, computer industry has got its new customer. Computer
technology is making waves in the food booking zone.
Computers are a vital component of the food booking
counters. Computer aided design (CAD) programs reduce the
demand for manual sketches. New software programs
continue to replace old manual skills. Those who lag in math
can now breathe a little easier. Manually figuring of food
insists that knowledge. Software programs constantly evolve.
A program used today may be obsolete within several years.
Being trained on today's software does not guarantee it will be
used when you are ready to go out into the field.
Understanding calculations is timeless, as is computer
competency. Software, however, shifts rapidly.

Source code

import pickle
import time
import os

def set_data():
print("ENTER STUDENT'S DETAILS")
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('{0:<8}{1:<20}{2:<10}{3:<10}{4:<10}{5:<10}
{6:<10}'.format(student['rollno'],
student['name'], student['english'],student['maths'],
student['physics'],
student['chemistry'],student['cs']))

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

print('{0:<8}{1:<20}{2:<10}{3:<10}{4:<10}{5:<10}{6:<10}'.format('Rollno',
'Name', 'English', 'Maths','Physics','Chemistry','CS'))
#read to the end of file.
while True:
try:
#reading the oject from file
student = pickle.load(infile)

#display the record


display_data_tabular(student)
except EOFError:
break

#close the file


infile.close()

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

#close the file


outfile.close()

def read_records():
#open file in binary mode for reading
try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record found..')
return

#read to the end of file.


while True:
try:
#reading the oject from file
student = pickle.load(infile)

#display the record


display_data(student)
except EOFError:
break

#close the file


infile.close()

def search_record():
#open file in binary mode for reading
try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record..')
return

found = False
print('SEARCH RECORD')
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!!')

#close the file


infile.close()

def delete_record():
print('DELETE RECORD')

try:
infile = open('student.dat', 'rb')
except FileNotFoundError:
print('No record found to delete..')
return

outfile = open("temp.dat","wb")
found = False

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:
display_data(student)
found = True
break
else:
pickle.dump(student,outfile)
except EOFError:
break

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("="*80)
print("{: ^80s}".format("STUDENT"))
print("{: ^80s}".format("REPORT CARD"))
print("{: ^80s}".format("PROJECT"))
print("{: ^80s}".format("MADE BY: PyForSchool.com"))
print("="*80)
print()

def main_menu():
time.sleep(1)
print("MAIN MENU")
print("1. REPORT MENU")
print("2. ADMIN MENU")
print("3. EXIT")

def report_menu():
time.sleep(1)
print("REPORT MENU")
print("1. CLASS RESULT")
print("2. STUDENT REPORT CARD")
print("3. BACK TO MAIN MENU")

def admin_menu():
time.sleep(1)
print("\nADMIN 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':
while True:
report_menu()
rchoice = input('Enter choice(1-3): ')
print()
if rchoice == '1':
class_result()
elif rchoice == '2':
search_record()
elif rchoice == '3':
break
else:
print('Invalid input !!!\n')
print()

elif choice == '2':


while True:
admin_menu()
echoice = input('Enter choice(1-6): ')
print()
if echoice == '1':
write_record()
elif echoice == '2':
read_records()
elif echoice == '3':
search_record()
elif echoice == '4':
modify_record()
elif echoice == '5':
delete_record()
elif echoice == '6':
break
else:
print('Invalid input !!!\n')

elif choice == '3':


print('Thanks for using Student Management System')
break
else:
print('Invalid input!!!')
print()

#call the main function.


main()

OUTPUT SCREEN
MAIN MENU
1. REPORT MENU
2. ADMIN MENU
3. EXIT
Enter choice(1-3): 1

REPORT MENU
1. CLASS RESULT
2. STUDENT REPORT CARD
3. BACK TO MAIN MENU
Enter choice(1-3): 3

MAIN MENU
1. REPORT MENU
2. ADMIN MENU
3. EXIT
Enter choice(1-3): 2

ADMIN MENU
1. CREATE STUDENT RECORD
2. DISPLAY ALL STUDENTS RECORDS
3. SEARCH STUDENT RECORD
4. MODIFY STUDENT RECORD
5. DELETE STUDENT RECORD
6. BACK TO MAIN MENU
Enter choice(1-6): 1

ENTER STUDENT'S DETAILS


Enter roll number: 110
Enter name: Nisha
Enter Marks in English: 90
Enter Marks in Maths: 87
Enter Marks in Physics: 85
Enter Marks in Chemistry: 78
Enter Marks in CS: 92

Wants to enter more record (y/n)?: n

OR YOU CAN TAKE A SCREEN SHEET


BIBLIOGRAPHY
1. http://www.google.com/
2. http://en.wikipedia.org
3. Computer science with python
by Sumita Arora

You might also like