Universidad de Costa Rica
|
|
El objetivo de esta tarea programada es que usted use las clases de la biblioteca STL de C++. Su trabajo consisten en diseñar e implementar un programa completo, junto con sus datos de prueba.
Como programador máximo de la firma spamTico.com usted ha conseguido varios miles de archivos de texto que contienen, además de otras cosas, cientos de miles de direcciones de correo electrónico. Usted necesita escribir un programa para extraer todas esas direcciones, y decide implementarlo en C++.
Explique cuáles hileras de un archivo de texto son
direcciones de correo electrónico. Recuerde que es
válido usar el guión "-"
, el
caracter de subrayado "_"
y también
el punto "."
. Lo que distingue a las
direcciones de correo electrónico es la letra de arrobas
"@"
. Recuerde que los archivos de entrada
pueden contener cualesquiera caracteres
ASCII
válidos, para cuya codificación se usa el rango
numérico [0..127]
, aunque su programa debe
permitir manejar archivos con letras en el rango superior
[128..255]
.
Algunas direcciones válidas son las siguientes:
71572.341@compuserve.com koenraad_lecot@ecci.ucr.ac.cr atorres@ic-itcr.ac.cr e913570@32am.wap.ucr mike.patrick@tecapro.com francisco-jose@mata.names
En su implementación, lea cada archivo renglón por
renglón. Utilice una lista
STL, de tipo
list<>
, para almacenar cada una de las
direcciones que encuentre. Además, junto a cada
dirección almancene una lista con todos los renglones en
los que esa dirección aparece, de manera que sea posible
producir un listado que muestre cada dirección junto con
los renglones que muestran el contexto para esa dirección.
Una parte de ese listado podría ser la siguiente:
koenraad_lecot@ecci.ucr.ac.cr - Hola, te envío de nuevo mi dirección koenraad_lecot@ecci.ucr.ac.cr porque ya la habías pedido - No hemos sabido si el señor Lecot, koenraad_lecot@ecci.ucr.ac.cr, ha comezado su - "Koenraad Lecot" <koenraad_lecot@ecci.ucr.ac.cr> - )(/&%%&%$·%$&%(/=)/(/%/&...- koenraad_lecot@ecci.ucr.ac.cr ----99(()/(/&/&%/
atorres@ic-itcr.ac.cr - atorres@ic-itcr.ac.cr - No es posiblel encontrar al usuario "atorres@ic-itcr.ac.cr" en la base de datos - atorres@ic-itcr.ac.cr - atorres@ic-itcr.ac.cr
No hace falta que la lista de renglones de contexto aparezca ordenada, o sin duplicados. Haga la documentación de su programa, e incluya un diagrama en que explique cómo usa los objetos que requiere para hacer el programa.
Tiempo de entrega: | 10 días |
|
|
Primera etapa: | 7 días | ||
Modalidad: | En parejas |
Adolfo Di Mare <adolfo@di-mare.com>.
|