Implementar un Registro de Estudiantes Simple

C++Beginner
Practicar Ahora

Introducción

En este desafío, crearás un programa en C++ que gestione un registro de estudiantes utilizando el contenedor std::map de la Biblioteca de Plantillas Estándar (STL). El objetivo es practicar el uso de estructuras de datos de tipo clave-valor para realizar el seguimiento y la gestión de información académica de manera eficiente, tal como lo haría un administrador escolar.

El programa deberá permitirte añadir nuevos estudiantes con sus respectivos nombres y edades, consultar la edad de un alumno mediante su nombre y mostrar todos los registros almacenados en el sistema.

Implementar un Registro de Estudiantes Simple

Como administrador de una escuela, necesitas desarrollar un sistema digital para organizar y gestionar la información de los alumnos de forma eficaz utilizando el contenedor map de C++ STL. Este reto te ayudará a dominar el manejo de estructuras de datos basadas en pares clave-valor.

Tareas

  • Desarrollar un programa en C++ que gestione un registro de estudiantes mediante std::map.
  • Implementar funciones para dar de alta a estudiantes con su nombre y edad.
  • Permitir la consulta de la edad de un estudiante a partir de su nombre.
  • Listar todos los registros de estudiantes presentes en el sistema.

Requisitos

  • Crear el código fuente en la ruta ~/project/student_roster.cpp.
  • Utilizar std::map<std::string, int> para almacenar los nombres y las edades.
  • Implementar las siguientes operaciones:
    • Añadir un nuevo estudiante al registro.
    • Recuperar la edad de un estudiante por su nombre.
    • Mostrar la lista completa de estudiantes.
  • Emplear únicamente operaciones estándar de map de la STL de C++ vistas anteriormente.
  • Compilar el programa utilizando el compilador g++.

Ejemplos

Compila y ejecuta el programa para gestionar el registro:

g++ student_roster.cpp -o student_roster
./student_roster

Ejemplo de interacción (entrada y salida):

Enter command (add/get/list/quit): add
Enter student name: Alice
Enter student age: 20

Enter command (add/get/list/quit): add
Enter student name: Bob
Enter student age: 22

Enter command (get/list): get
Enter student name: Alice
Alice is 20 years old

Enter command (list): list
Alice: 20
Bob: 22

Consejos

  • Utiliza map.insert() o el operador map[] para añadir estudiantes.
  • Emplea map.at() o map[] para obtener la edad de un alumno.
  • Recorre el mapa utilizando un bucle for basado en rangos (range-based for loop).
  • Gestiona las posibles excepciones al intentar recuperar edades de claves inexistentes.

Resumen

En conclusión, este desafío te ha requerido implementar un programa en C++ para gestionar un registro de alumnos mediante el contenedor std::map. El sistema permite dar de alta nuevos estudiantes, consultar sus edades por nombre y visualizar la lista completa de registros. Este ejercicio ha sido diseñado para fortalecer tus habilidades en el uso de estructuras de datos clave-valor para la gestión eficiente de información en C++.

✨ Revisar Solución y Practicar