Проектирование системы управления данными студентов

C++Beginner
Практиковаться сейчас

Введение

В рамках этого испытания вам предстоит спроектировать надежный и защищенный класс для управления данными студентов на языке C++. В цифровую эпоху такие системы помогают учебным заведениям эффективно структурировать информацию. Ваша цель — создать класс Student с закрытыми (private) членами данных для хранения имени, возраста и среднего балла (GPA), а также реализовать открытые (public) методы доступа (сеттеры) для установки и отображения информации о студенте.

Проектирование системы управления данными студентов

Современным школам необходимы эффективные инструменты для работы с данными учащихся. Ваша задача — разработать архитектуру безопасного класса для управления информацией о студентах на C++.

Задачи

  • Создать класс Student с приватными полями для name, age и gpa.
  • Реализовать публичные методы-сеттеры для записи данных студента.
  • Создать публичный метод для вывода информации о студенте на экран.

Требования

  • В классе Student должны быть закрытые члены данных: name (тип string), age (тип int) и gpa (тип double).

  • Реализуйте метод setName, который принимает строковый параметр и проверяет, что имя не является пустой строкой.

  • Реализуйте метод setAge, который принимает целое число и проверяет, что возраст находится в диапазоне от 0 до 120.

  • Реализуйте метод setGPA, который принимает число с плавающей точкой и проверяет, что средний балл находится в диапазоне от 0.0 до 4.0.

  • Создайте метод displayInfo, который выводит данные в следующем формате:

    Student Name: <name>
    Student Age: <age>
    Student GPA: <gpa>
  • Сохраните исходный код в файле ~/project/student.cpp.

  • Подключите необходимые заголовочные файлы <iostream> и <string>.

Примеры

Скомпилируйте и запустите программу для проверки вашей реализации:

g++ student.cpp -o student
./student

Пример ожидаемого вывода программы:

Student Name: Alice Johnson
Student Age: 20
Student GPA: 3.75

Подсказки

  • Используйте спецификатор доступа private для защиты данных.
  • В методах-сеттерах обязательно реализуйте проверку входящих параметров.
  • Для работы с именами используйте тип std::string.
  • Убедитесь, что логика валидации корректно обрабатывает границы диапазонов для возраста и GPA.
✨ Проверить решение и практиковаться

Резюме

Подводя итог: в этом испытании вы спроектировали класс на C++ для управления данными студентов, который позволяет эффективно хранить и отображать информацию, включая имя, возраст и средний балл. Вы реализовали принципы инкапсуляции, используя приватные поля и публичные методы доступа с валидацией данных (использование std::string для имени, int для возраста и double для GPA). Итоговая реализация сохранена в файле ~/project/student.cpp.