0% found this document useful (0 votes)
191 views

Student Management System Project Inpython

The document describes a student management system that allows users to perform CRUD (create, read, update, delete) operations on student records stored in a CSV file. The system includes functions to add, view, search, update and delete students by prompting users to enter a student's roll number and field values. It uses a main loop to display the menu and call the appropriate function based on the user's choice.

Uploaded by

Cantusephoneno
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
191 views

Student Management System Project Inpython

The document describes a student management system that allows users to perform CRUD (create, read, update, delete) operations on student records stored in a CSV file. The system includes functions to add, view, search, update and delete students by prompting users to enter a student's roll number and field values. It uses a main loop to display the menu and call the appropriate function based on the user's choice.

Uploaded by

Cantusephoneno
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

# Student Management System

"""
Fields :- ['roll', 'name', 'age', 'email','adress', 'phone']
1. Add New Student
2. View Students
3. Search Student
4. Update Student
5. Delete Student
6. Quit
"""

import csv
# Define global variables
student_fields = ['roll', 'name', 'age', 'email', 'adress','phone']
student_database = 'students.csv'

def display_menu():
print("--------------------------------------")
print(" Welcome to Student Management System")
print("---------------------------------------")
print("1. Add New Student")
print("2. View Students")
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)
print("Rollno \t|Name\t\t|Age\t|Email\t\t\t|Adress\t\t\t\t|Phone\t\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)
updated_data.append(student_data)
else:
updated_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("-------------------------------")

input()

You might also like