Diseñar un Sistema de Gestión de Estudiantes

C++Beginner
Practicar Ahora

Introducción

En este desafío, se te encomienda la tarea de diseñar una clase de gestión de estudiantes robusta y segura en C++ para ayudar a las instituciones educativas a administrar eficientemente la información académica en la era digital. El objetivo es crear una clase llamada Student con miembros de datos privados para el nombre, la edad y el promedio de calificaciones (GPA), e implementar métodos de acceso públicos (setters) para configurar y mostrar la información del alumno.

Este es un Desafío (Challenge), el cual difiere de un Laboratorio Guiado en que debes intentar completar la tarea de forma independiente, en lugar de seguir pasos de aprendizaje estructurados. Los desafíos suelen tener un nivel de dificultad mayor. Si encuentras obstáculos, puedes consultar con Labby o revisar la solución propuesta. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 96%. Ha recibido una calificación positiva del 100% por parte de los estudiantes.

Diseñar un Sistema de Gestión de Estudiantes

En la actualidad, las escuelas requieren métodos eficaces para organizar los datos de sus alumnos. Tu misión es desarrollar una clase de gestión estudiantil sólida y protegida utilizando C++.

Tareas

  • Crear una clase Student con miembros de datos privados para name, age y gpa.
  • Implementar métodos públicos de tipo setter para asignar la información del estudiante.
  • Crear un método público para mostrar la información del estudiante por pantalla.

Requisitos

  • Definir la clase Student con los miembros privados name (string), age (int) y gpa (double).

  • Implementar un método setName que reciba un parámetro de cadena y valide que el nombre no esté vacío.

  • Implementar un método setAge que reciba un parámetro entero y valide que la edad esté en el rango de 0 a 120.

  • Implementar un método setGPA que reciba un parámetro de punto flotante y valide que el GPA esté entre 0.0 y 4.0.

  • Crear un método displayInfo que imprima los datos del estudiante con el siguiente formato:

    Student Name: <name>
    Student Age: <age>
    Student GPA: <gpa>
  • Guardar la implementación en el archivo ~/project/student.cpp.

  • Incluir las cabeceras necesarias: <iostream> y <string>.

Ejemplos

Ejecuta el programa para verificar tu implementación:

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

Ejemplo de salida del programa:

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

Consejos

  • Utiliza el especificador de acceso private para los miembros de datos.
  • Desarrolla los métodos setter incorporando las validaciones de parámetros correspondientes.
  • Emplea std::string para el manejo del nombre.
  • Asegúrate de validar correctamente los rangos numéricos para la edad y el GPA.
✨ Revisar Solución y Practicar

Resumen

En conclusión, este desafío consistió en diseñar una clase de gestión de estudiantes en C++ capaz de almacenar y mostrar de manera eficiente información académica como el nombre, la edad y el GPA. Se aplicaron conceptos de encapsulamiento mediante miembros de datos privados y métodos setter públicos con validación, utilizando tipos de datos estándar como std::string, int y double. La solución final se encuentra implementada en el archivo ~/project/student.cpp.