import random import datetime import sys class StudentManagementSystem: def __init__(self): self.students = [] self.courses = [] self.passed_courses = [] def add_student(self): first_name = input("Enter the first name of the student: ") last_name = input("Enter the last name of the student: ") major = input("Select student's major (CE, EE, ET, ME, SE): ") if not first_name.isalpha() or not last_name.isalpha() or not first_name.istitle() or not last_name.istitle(): print("Names should contain only letters and start with capital letters.") return current_year = datetime.datetime.now().year student_id = random.randint(10000, 99999) email = f"{first_name.lower()}.{last_name.lower()}@lut.fi" student_data = (student_id, first_name, last_name, current_year, major, email) self.students.append(student_data) with open("students.txt", "a") as file: file.write(','.join(map(str, student_data)) + 'n') print("Student added successfully!") def search_items(self, file_path, search_term, item_type): if len(search_term) < 3: print("Search term should contain at least 3 characters.") return with open(file_path, "r") as file: items = file.readlines() matching_items = [item for item in items if search_term in item] if matching_items: print(f"Matching {item_type}s:") for item in matching_items: item_info = item.strip().split(",") print(f"ID: {item_info[0]}, {item_type.capitalize()}: {item_info[1]}") else: print(f"No matching {item_type}s found.") def search_student(self): search_term = input("Give at least 3 characters of the student's first or last name: ") self.search_items("students.txt", search_term, "student") def search_course(self): search_term = input("Give at least 3 characters of the course name or teacher's name: ") self.search_items("courses.txt", search_term, "course") def add_course_completion(self): # Functionality for adding course completion pass def show_student_record(self): # Functionality for displaying student records pass def main_menu(self): print("You may select one of the following:") print("1) Add student") print("2) Search student") print("3) Search course") print("4) Add course completion") print("5) Show student's record") print("0) Exit") choice = input("What is your selection? ") if choice == "1": self.add_student() elif choice == "2": self.search_student() elif choice == "3": self.search_course() elif choice == "4": self.add_course_completion() elif choice == "5": self.show_student_record() elif choice == "0": print("Exiting the program.") sys.exit() else: print("Invalid input. Please select a valid option.") if __name__ == "__main__": system = StudentManagementSystem() while True: system.main_menu()