Now that we know about vectors and hashmaps, let’s tackle something more challenging. In this exercise, we’ll build a system to manage and analyze student grades. This challenge will help you practice working with structs, hashmaps, vectors, and methods while managing a collection of data.
The focus here is on functionality. Ignore error handling for this challenge; assume the input is always valid.
You need to define the StudentGrades struct, which contains a HashMap of student names (String) as keys and Student structs as values. Each Student struct should have the following fields:
name: The name of the student (String).grades: A Vec<u8> to store the student's grades.Implement the following methods for the StudentGrades struct:
add_student(name: &str): Add a new student to the HashMap. If the student already exists, do nothing.add_grade(name: &str, grade: u8): Add a grade to an existing student.get_grades(name: &str) -> &[u8]: Retrieve the grades of a student as an immutable reference.HashMap methods like entry, insert, and get to manage student data.Now that we know about vectors and hashmaps, let’s tackle something more challenging. In this exercise, we’ll build a system to manage and analyze student grades. This challenge will help you practice working with structs, hashmaps, vectors, and methods while managing a collection of data.
The focus here is on functionality. Ignore error handling for this challenge; assume the input is always valid.
You need to define the StudentGrades struct, which contains a HashMap of student names (String) as keys and Student structs as values. Each Student struct should have the following fields:
name: The name of the student (String).grades: A Vec<u8> to store the student's grades.Implement the following methods for the StudentGrades struct:
add_student(name: &str): Add a new student to the HashMap. If the student already exists, do nothing.add_grade(name: &str, grade: u8): Add a grade to an existing student.get_grades(name: &str) -> &[u8]: Retrieve the grades of a student as an immutable reference.HashMap methods like entry, insert, and get to manage student data.