#student #class #school #structures #manage #grades #schools

school_library

This Rust library provides structures to manage school-related data, including students, classes, and schools

3 stable releases

1.0.3 Nov 29, 2023

#467 in Data structures

Download history 2/week @ 2024-02-25 66/week @ 2024-03-10 5/week @ 2024-03-17 41/week @ 2024-03-31

112 downloads per month

MIT license

21KB
301 lines

Хз зачем, просто по приколу написал

Это, что-то вроде представления базы данных об учебных заведениях для начального и средного образований.

Я написал данный код для тренировки всех своих знаний в языке Rust.

School Rust Library

This Rust library provides structures to manage school-related data, including students, classes, and schools.

Usage

To use this library, add the following to your Cargo.toml:

[dependencies]
school_library = "1.0.0"

Then, in your Rust code:

use school_library::{School, Class, Student, Grades};

Grades

Represents grades for different subjects.

let grades = Grades::new(90, 85, 88, 92, 78, 87, 91, 95, 89);
let random_grades = Grades::gen();

Student

Represents a student with an ID, name, age, and grades.

let student = Student::new(1, String::from("John Doe"), 16, &grades);

Class

Represents a class with a name and a list of students.

let class = Class::new(String::from("Math Class"), vec![student1, student2]);
class.add_student(&new_student);

School

Represents a school with a name, a number of students, and a list of classes.

let mut school = School::new(String::from("High School"), vec![class1, class2]);
school.add_class(&new_class);
let average_grades = school.average_grades();
let best_class = school.get_best();

API Reference

Grades

Represents grades for different subjects.

Method Signature Description
fn new(...) -> Grades Creates a new Grades instance with given subject grades.
fn gen() -> Grades Generates random grades.

Student

Represents a student with an ID, name, age, and grades.

Method Signature Description
fn new(...) -> Student Creates a new Student instance.

Class

Represents a class with a name and a list of students.

Method Signature Description
fn new(...) -> Class Creates a new Class instance.
fn get_average() -> f32 Calculates the average grades for the class.
fn add_student(&mut self, student: &Student) Adds a student to the class.

School

Represents a school with a name, a number of students, and a list of classes.

Method Signature Description
fn new(...) -> School Creates a new School instance.
fn average_grades() -> f32 Calculates the average grades for the entire school.
fn add_class(&mut self, class: &Class) Adds a class to the school.
fn get_best() -> Class Finds the class with the best average grades in the school.

Dependencies

~310KB