Este repositorio integra las cuatro tareas desarrolladas en el curso de Programación 2 de la Facultad de Ingeniería (UdelaR), entorno al sistema de gestión para un refugio de perros: FINGHogar.
A lo largo del proyecto se implementan e integran múltiples estructuras de datos en C++, abarcando desde conceptos básicos de modularización hasta estructuras complejas como árboles, tablas hash y heaps.
El sistema simula operaciones sobre perros, personas, adopciones, fichas de vacunación y gestión eficiente del refugio.
- Primer modelo del refugio.
- Manejo de memoria dinámica.
- Introducción a TADs,
new,delete,makeyvalgrind.
- Listas simplemente y doblemente enlazadas.
- Uso de punteros y estructuras recursivas.
- Árboles binarios de búsqueda (ABB).
- Registro y gestión de adopciones.
- Pila, cola y conjunto de perros.
- Árbol general para fichas de vacunación.
- Recorridos recursivos y modularización avanzada.
- Tabla de dispersión abierta.
- Cola de prioridad basada en heap binario.
- Integración total del sistema.
Asegúrate de estar en un entorno Linux con g++ y make instalados.
makeg++ principal.cpp src/*.cpp -o principal./principalEjecuta cualquiera de los siguientes tests usando:
make nombre-del-testEjemplos:
make t-fecha1-crear-imprimir-liberarmake t-lseAdopciones1-crear-esVacia-imprimir-liberarmake t-agFichaVacunacion1-crear-liberarmake t-tabla2-insertar-imprimirmake t-CP2-prioritaria-prioridad-insertar
make testingmake tt-CP5-tiempo- Programación modular en C++.
- Manejo de memoria dinámica (
new,delete,valgrind). - TADs: listas (LSE, LDE), árboles (ABB y general), pila, cola, conjunto.
- Tabla hash con dispersión abierta.
- Heap binario para colas de prioridad.
- Recursividad y eficiencia.
- Pruebas automatizadas y validación de memoria.
Curso: Programación 2
Instituto de Computación — Facultad de Ingeniería — Universidad de la República