Ejercicios con `std::map` y `std::unordered_map`**

Ejercicio 1: Crear y mostrar un mapa de edades

Crea un programa que almacene nombres de personas y sus edades. El usuario debe introducir varios pares de datos (nombre y edad) hasta que escriba la palabra “fin” como nombre. Utilizando una función, muestra el contenido completo del mapa con un formato: Nombre tiene X años.

Ejercicio 2: Buscar un valor por su clave

Partiendo de un mapa que asocia nombres de personas con sus números de teléfono, pide al usuario un nombre y muestra su número de teléfono si existe. Si no existe, informa al usuario.

Ejercicio 3: Modificar un valor existente

Crea un mapa que almacene productos y sus precios. Tras introducir varios productos y precios, el programa debe permitir al usuario actualizar el precio de un producto concreto. Muestra el contenido final del mapa.

Ejercicio 4: Contar apariciones de palabras

Diseña un programa que lea una frase completa introducida por teclado. El programa debe contar cuántas veces aparece cada palabra en la frase, y mostrar los resultados.

Ejercicio 5: Eliminar un elemento del mapa

A partir de un mapa que almacena el nombre de un alumno y su calificación, permite al usuario eliminar a un alumno del mapa. Muestra el contenido final tras la eliminación.