Question: Need help with my python homework --- Multi-File Student Management System Your task is to develop a **Student Management System** that stores and processes student

Need help with my python homework --- Multi-File Student Management System Your task is to develop a **Student Management System** that stores and processes student records across multiple files. Each file will store a different data type, helping students learn how to manage multiple data sources. Data Storage Files The system will use the following **three text files** to store data: 1. **students.txt** - Stores **student IDs** and **names** - students.txt 1001, Ahmed Al-Sayed 1002, Salem Khalil 1003, Omar Al-Hajri 1004, Rasheed Al-Kaabi 1005, Yousef Haddad 2. **courses.txt** - Stores **course names** - courses.txt Data Structures Algorithms Computer Networks Operating Systems Database Systems Artificial Intelligence Software Engineering 3. **grades.txt** - Stores **grades assigned to students** - courses.txt 1001, Data Structures,85 1001, Algorithms,78 1002, Computer Networks,92 1002, Operating Systems,88 1003, Database Systems,76 1003, Artificial Intelligence,89 1004, Software Engineering,91 1005, Data Structures,82 1005, Computer Networks,79 --- Program Requirements When the program starts, it should display the following menu: 1. Add a new student 2. Add a new course 3. Enroll a student in a course and assign a grade 4. Display all students 5. Display all courses 6. Calculate average grade for a student 7. Find the highest-scoring student in a course 8. Exit The menu should be displayed repeatedly until the user selects option 8 (Exit). Hint: There are many operations that will be repeated in different options, for example, you need to validate the student ID or the course name multiple times. Therefore, it will be easier to build helper functions for these tasks so that you can just call them each time you need them. For example, you can create functions such as: -def student_exists(student_id):` to check if a student exists - def course_exists(course_name):` to check if a course exists - def validate_grade(grade):` to ensure grades are between 0 and 100 Using helper functions will make your code more modular, readable, and reusable. --- Option 1: Add a New Student 1. Ask for Student ID. - Validate that it is a numeric value. - Check if the ID already exists in students.txt. 2. Ask for Student Name. - Ensure it contains only letters and spaces. 3. Store student details in students.txt. 4. Display a success message. Option 2: Add a New Course 1. Ask for Course Name. - Validate it contains only letters. - Check if it already exists in courses.txt. 2. Store course details in courses.txt. 3. Display a success message. Option 3: Enroll a Student 1. Ask for Student ID. - Validate that it exists in students.txt. 2. Ask for Course Name. - Validate that it exists in courses.txt. 3. Ask for Grade. - Validate it is between 0 and 100. 4. Store enrollment details in grades.txt. 5. Display a success message. Option 4: Display All Students 1. Open and read students.txt. 2. Display all students in a formatted way. 3. Handle empty files appropriately. Option 5: Display All Courses 1. Open and read courses.txt. 2. Display all courses in a formatted way. 3. Handle empty files appropriately. Option 6: Calculate Average Grade 1. Ask for Student ID. - Validate existence in students.txt. 2. Retrieve all grades for that student. 3. Compute the average. 4. Display the result. Option 7: Find the Highest-Scoring Student in a Course 1. Ask for Course Name. - Validate existence in courses.txt. 2. Search grades.txt for the highest grade. 3. Retrieve and display the student's name. 4. Handle cases where no grades exist. Option 8: Exit Terminate the program. --- You can now copy and paste this text as needed. Let me know if you need further assistance

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!