Se dispone del fichero vinculos.txt donde se guardan las palabras clave y sus enlaces relacionados. Cada línea contiene los siguientes campos separados por una coma:

  1. Palabra clave

  2. Enlace

El fichero vinculos.txt debe cargarse en un mapa que tenga como clave la palabra clave y como información asociada el vínculo correspondiente a dicha palabra clave.

Consideraciones importantes:

  1. Los separadores de las palabras pueden ser los siguentes caracteres: ' ' , ',' , '.' , ':' , ';' , '\n'

  2. Las palabras clave en el mapa se encuentran en minúsculas

  3. Cada clave consta de una única palabra (no se han incluído claves compuestas de más de una palabra)

El programa esperará dos parámetros de entrada, el primero de ellos será el fichero html a formatear, y el segundo el fichero donde se encuentran las palabras claves y sus enlaces.

Por ejemplo para la siguiente línea de texto:

<p>La <b>informática</b> es la disciplina que estudia el tratamiento automático de la información ...

El programa deberá localizar información como palabra clave y transformar la línea en:

<p>La <b>informática</b> es la disciplina que estudia el tratamiento automático de
la < title="información">información</a> .....

La implementación constará de dos ficheros:

enlazador.h

Con la declaración de la clase enlazador

enlazador.cpp

Con la implementación de la clase enlazador y el programa principal que permita probarla

Se suministra el fichero enlazador.h con la declaración completa de la clase.

enlazador.h
#ifndef ENLAZADOR_HH
#define ENLAZADOR_HH

#include <string>
#include <map>

using namespace std;

class enlazador
{
public:
  enlazador(string nomf1, string nomf2);
  ~enlazador();

private:
  // mapa: clave:palabra valor=enlace
  map<string, string> vinculos;

  // Carga mapas a partir de fichero
  void Carga_Vinculos(string nomf);

  // Transforma el fichero creando los vínculos encontrados
  void Transforma_Fichero(string nomf);

  // Copia un fichero en otro
  void Copiar_Fichero(string nomf1, string nomf2);
};

#endif

Se proporciona el fichero Informatica.html (es una versión simplificada de la entrada Informática en la Wikipedia) para realizar las pruebas de ejecución del programa.

La documentación sobre las STL puede encontrarse en /iilabs/AED2/STL_doc.tar.gz o consultarse en /iilabs/AED2/STL_doc.

Nota

Esta práctica dura una sesión y debe entregarse a través del aula virtual el fichero enlazador.cpp antes del comienzo de la práctica 2