Este problema corresponde a la entrega intermedia de la práctica. Tened en cuenta que:
Esta no es la entrega definitiva de la práctica completa, ni siquiera es una entrega provisional de la práctica completa.
En esta entrega se ha de proporcionar todo el código necesario
(clases, programa principal y Makefile) para poder usar todas las
funcionalidades de la práctica, excepto las consultas por rango de
fechas (busca_por_fecha), por etiqueta
(busca_por_etiqueta) y las consultas booleanas
(evalua_consulta_booleana).
En esta entrega no pedimos carpetas generadas mediante
doxygen, pero los ficheros de la clases pueden
llevar todos los comentarios doxygen que
queráis; de hecho recomendamos que incluyáis las especificaciones de
todas las operaciones y que sean lo más definitivas posible.
Esta entrega no tendrá nota manual.
Una secuencia de instrucciones y datos que siguen el formato del enunciado de la práctica y del juego de pruebas público.
Una secuencia de resultados que siguen el formato del enunciado de la práctica y del juego de pruebas público.
El Jutge prueba vuestras entregas mediante 4 juegos de pruebas:
sample: el juego de pruebas público
privat1: juego de pruebas que ensaya principalmente las funcionalidades sobre el álbum en curso (funciones 1–5)
privat2: juego de pruebas que hace énfasis en las funcionalidades de gestión y consulta de álbumes en la colección (funciones 6–10)
privat3: juego de pruebas que hace énfasis en las funcionalidades de gestión y consulta de fotos en la colección (funciones 11–14)
En un fichero llamado practica.tar tenéis
que entregar
Los ficheros .hh y .cc de las clases y el programa principal
El fichero Makefile, que usaremos para generar y probar el ejecutable
Tened en cuenta las siguientes restricciones:
El fichero que contiene el programa principal se ha de llamar
program.cc
El Makefile ha de generar un ejecutable llamado
program.exe
Es importante que uséis las opciones de compilación del Jutge de PRO2 (ved Documentation Compilers PRO2 a www.jutge.org)
No usar la opción -D_GLIBCXX_DEBUG o
usarla de forma incorrecta podrá ser penalizado
Producid el fichero practica.tar con la
instrucción Linux
tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...
desde el directorio/carpeta donde tengáis los ficheros que vais a
entregar. Incluid esta instrucción en vuestro Makefile, de forma que el
.tar se pueda generar ejecutando
make practica.tar. Con eso reduciréis el
riesgo de error en sucesivas entregas. El Jutge no acepta
.tar donde los ficheros estén dentro de
carpetas. Recomendamos usar GNU tar para
reducir el riesgo de que el fichero
practica.tar sea incompatible con el Jutge. No
es necesario incluir BinTree.hh en
practica.tar.
Input
lee_album SinFotos 0 imprime_album_en_curso agrega_album imprime_coleccion elimina_album SinFotos lee_album Paris 5 img11 15 8 2019 0 img12 15 8 2019 2 Juan Laura img13 15 6 2019 1 Laura img14 15 8 2019 2 Juan ChampsElysees img23 16 8 2019 3 Laura Juan TorreEiffel imprime_album_en_curso agrega_foto img9 14 8 2019 2 Laura TorreEiffel agrega_foto img23 16 8 2019 2 Juan TorreEiffel imprime_album_en_curso elimina_foto img21 elimina_foto img11 imprime_album_en_curso obten_foto img13 obten_foto img42 nr_fotos agrega_album agrega_album imprime_album_en_curso lee_album ALL 1 img42 20 10 2019 0 agrega_album imprime_album_en_curso lee_album Paris 1 img42 20 10 2019 0 agrega_album imprime_album_en_curso lee_album Londres 4 img42 20 10 2019 0 img43 20 10 2019 0 img13 15 6 2019 2 LondonEye Westminster img11 15 8 2019 0 obten_album Londres elimina_album Londres imprime_album_en_curso agrega_album nr_albums lista_albumes obten_album Paris imprime_album_en_curso obten_album Londres imprime_album_en_curso elimina_album Londres nr_albums lista_albumes imprime_album_en_curso agrega_album imprime_coleccion agrega_foto_coleccion img42 21 10 2019 0 agrega_foto_coleccion img24 21 10 2019 0 imprime_coleccion elimina_foto_coleccion img11 elimina_foto_coleccion img24 elimina_foto_coleccion img77 modifica_foto_coleccion img51 20 10 2019 0 modifica_foto_coleccion img13 15 6 2019 2 LondonEye Westminster albumes_foto img51 albumes_foto img13 imprime_coleccion acabar
Output
# lee_album SinFotos ... Album SinFotos leido. # imprime_album_en_curso SinFotos # agrega_album Album en curso agregado a la coleccion. Album en curso, despues de agregar: SinFotos # imprime_coleccion ALL SinFotos # elimina_album SinFotos Album eliminado de la coleccion. # lee_album Paris ... Album Paris leido. # imprime_album_en_curso Paris img11 15/8/2019 0 img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel # agrega_foto img9 ... Foto img9 agregada al album en curso. # agrega_foto img23 ... El album en curso ya contiene una foto con el identificador img23 # imprime_album_en_curso Paris img11 15/8/2019 0 img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # elimina_foto img21 El album en curso no contiene una foto con el identificador img21 # elimina_foto img11 Foto img11 eliminada del album en curso. # imprime_album_en_curso Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # obten_foto img13 img13 15/6/2019 1 Laura # obten_foto img42 El album en curso no contiene una foto con el identificador img42 # nr_fotos 5 # agrega_album Album en curso agregado a la coleccion. Album en curso, despues de agregar: Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # agrega_album Identificador de album incorrecto. No se puede agregar. # imprime_album_en_curso Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # lee_album ALL ... Album ALL leido. # agrega_album Identificador de album incorrecto. No se puede agregar. # imprime_album_en_curso ALL img42 20/10/2019 0 # lee_album Paris ... Album Paris leido. # agrega_album Identificador de album incorrecto. No se puede agregar. # imprime_album_en_curso Paris img42 20/10/2019 0 # lee_album Londres ... Album Londres leido. # obten_album Londres No existe un album con el id dado. # elimina_album Londres Identificador de album incorrecto. No se puede eliminar. # imprime_album_en_curso Londres img11 15/8/2019 0 img13 15/6/2019 2 LondonEye Westminster img42 20/10/2019 0 img43 20/10/2019 0 # agrega_album Album en curso agregado a la coleccion. Album en curso, despues de agregar: Londres img11 15/8/2019 0 img13 15/6/2019 1 Laura img42 20/10/2019 0 img43 20/10/2019 0 # nr_albums 3 # lista_albumes ALL Londres Paris # obten_album Paris Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # imprime_album_en_curso Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # obten_album Londres Londres img11 15/8/2019 0 img13 15/6/2019 1 Laura img42 20/10/2019 0 img43 20/10/2019 0 # imprime_album_en_curso Londres img11 15/8/2019 0 img13 15/6/2019 1 Laura img42 20/10/2019 0 img43 20/10/2019 0 # elimina_album Londres Album eliminado de la coleccion. # nr_albums 2 # lista_albumes ALL Paris # imprime_album_en_curso Londres img11 15/8/2019 0 img13 15/6/2019 1 Laura img42 20/10/2019 0 img43 20/10/2019 0 # agrega_album Album en curso agregado a la coleccion. Album en curso, despues de agregar: Londres img11 15/8/2019 0 img13 15/6/2019 1 Laura img42 20/10/2019 0 img43 20/10/2019 0 # imprime_coleccion ALL img11 15/8/2019 0 img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img42 20/10/2019 0 img43 20/10/2019 0 img9 14/8/2019 2 Laura TorreEiffel Londres img11 15/8/2019 0 img13 15/6/2019 1 Laura img42 20/10/2019 0 img43 20/10/2019 0 Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # agrega_foto_coleccion img42 ... Ya existe una foto con el mismo id. No se puede agregar. # agrega_foto_coleccion img24 ... Foto img24 agregada a la coleccion. # imprime_coleccion ALL img11 15/8/2019 0 img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img24 21/10/2019 0 img42 20/10/2019 0 img43 20/10/2019 0 img9 14/8/2019 2 Laura TorreEiffel Londres img11 15/8/2019 0 img13 15/6/2019 1 Laura img42 20/10/2019 0 img43 20/10/2019 0 Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 1 Laura img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel # elimina_foto_coleccion img11 Foto img11 eliminada de la coleccion. # elimina_foto_coleccion img24 Foto img24 eliminada de la coleccion. # elimina_foto_coleccion img77 No existe una foto con el id dado. No se puede eliminar. # modifica_foto_coleccion img51 ... No existe una foto con el id dado. No se puede modificar. # modifica_foto_coleccion img13 ... Foto img13 modificada en la coleccion. # albumes_foto img51 No existe una foto con el id dado. # albumes_foto img13 ALL Londres Paris # imprime_coleccion ALL img12 15/8/2019 2 Juan Laura img13 15/6/2019 2 LondonEye Westminster img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img42 20/10/2019 0 img43 20/10/2019 0 img9 14/8/2019 2 Laura TorreEiffel Londres img13 15/6/2019 2 LondonEye Westminster img42 20/10/2019 0 img43 20/10/2019 0 Paris img12 15/8/2019 2 Juan Laura img13 15/6/2019 2 LondonEye Westminster img14 15/8/2019 2 ChampsElysees Juan img23 16/8/2019 3 Juan Laura TorreEiffel img9 14/8/2019 2 Laura TorreEiffel