Введение
В рамках этого испытания вам предстоит спроектировать надежный и защищенный класс для управления данными студентов на языке 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.



