# Student Management System
import csv
# Define global variables
student_fields = ['roll', 'name' , 'age' , 'email' , 'phone']
student_database = 'students.csv'
def display_menu () :
print ( "--------------------------------------" )
print ( " Welcome to Student Management System" )
print ( "--------------------------------------" )
print ( "1. Add New Student" )
print ( "2. View Student" )
print ( "3. Search Student" )
print ( "4. Update Student" )
print ( "5. Delete Student" )
print ( "6. Quit" )
def add_student ():
print ( "--------------------------------------" )
print ( "Add student information" )
print ( "--------------------------------------" )
global student_fields
global student_database
student_data = []
for field in student_fields:
value = input ("Enter " + field + ": ")
student_data.append (value)
with open (student_database,"a", encoding="utf-8”) as f:
writer = csv.writer (f)
writer.writerows ([student_data])
print ( "Data saved successfully" )
input ( "Press any key to continue" )
return
def view_students():
global student_fields
global student_database
print ( "--- Student Records ---" )
with open (student_database, "r", encoding= "utf-8" ) as f:
reader = csv.reader (f)
for x in student_fields:
print (x, end='\t |')
print ("\n------------------------------------------------")
for row in reader:
for item in row:
print (item, end= "\t |" )
print ( "\n" )
input ( "Press any key to continue" )
def search_student():
global student_fields
global student_database
print ( "--- Search Student ---" )
roll = input ( "Enter roll no. to search: " )
with open (student_database, "r" , encoding= "utf-8" ) as f:
reader = csv.reader (f)
for row in reader:
if len (row) > 0:
if roll == row[0]:
print ( "-----Student Found -----" )
print ( "Roll: " , row[0] )
print ( "Name: " , row[1] )
print ( "Age:" , row[2] )
print ( "Email:" , row[3] )
print ( "Phone: " , row[4] )
break
else:
print ( "Roll No. not found in our database" )
input( "Press any key to continue" )
def update_student():
global student_fields
global student_database
print ( "--- Update Student ---" )
roll = input ( "Enter roll no. to update: " )
index_student = None
updated_data = []
with open (student_database, "r" , encoding= "utf-8" ) as f:
reader = csv.reader (f)
counter = 0
for row in reader:
if len (row) > 0:
if roll == row[0]:
index_student = counter
print( "Student Found: at index " ,index_student)
student_data = []
for field in student_fields:
value = input ("Enter " + field + ": ")
student_data.append (value)
update_data.append(student_data)
else:
update_data.append(row)
counter += 1
# Check if the record is found or not
if index student is not None:
with open (student_database, "w" , encoding= "utf-8" ) as f:
writer = csv.writer (f)
writer.writerows (updated_data)
else:
print ( "Roll No. not found in our database" )
input ( "Press any key to continue" )
def delete_student():
global student_fields
global student_database
print ( "--- Delete Student ---" )
roll = input ( "Enter roll no. to delete:" )
student_found=False
updated_data=[]
with open (student_database, "r" , encoding= "utf-8" ) as f:
reader=csv.reader(f)
counter=0
for row in reader:
if len (row) > 0:
if roll != row [0]:
updated_data.append (row)
counter += 1
else:
student_found = True
if student_found is True:
with open (student_database, "w" , encoding= "utf-8" ) as f:
writer = csv.writer (f)
writer.writerows(updated_data)
print ( "Roll no. " , roll , "deleted successfully" )
else:
print ( "Roll No. not found in our database" )
input ( "Press any key to continue" )
while True:
display_menu ()
choice = input ( "Enter your choice: " )
if choice == '1' :
add_student()
elif choice =='2' :
view_students()
elif choice == '3' :
search_student()
elif choice == '4' :
update_student()
elif choice == '5' :
delete_student()
else:
break
print ( "ーーーーーーーーーーーーーー" )
print ( " Thank you for using our system" )
print ( "ーーーーーーーーーーーーーー" )
OUTPUT
Main screen
Python 3.10.7 (tags/v3.10.7:6cc6b13, Sep 5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)]
on win32
Type "help", "copyright", "credits" or "license()" for more information.
= RESTART:
C:/Users/MATHU/AppData/Local/Programs/Python/Python310/gaurav123.py=
ADDING NEW STUDENT IN SOFTWARE
DISPLAYING STUDENTS RECORDS IN SOFTWARE
SEARCHING RECORD OF A STUDENT IN SOFTWARE
DELETING A RECORD OF A STUDENT IN SOFTWARE
UPDATING RECORD OF A STUDENT IN SOFTWARE
CLOSING OF SOFTWARE