Skip to content

GeronimoAsin/TP-FINAL-PI

Repository files navigation

TRABAJO PRACTICO FINAL PROGRAMACION IMPERATIVA

1ER CUATRIMESTRE 2024 FECHA DE ENTREGA 17/07

Integrantes

  • GERONIMO ASIN (L. 65486) (GeronimoAsin)
  • LAUTARO EZEQUIEL DOMINGUEZ (L. 65723) (Lautaro-Dominguez)

Resumen

Este documento proporciona una descripción del trabajo realizado y una guía detallada para la compilación y ejecución de los programas parkingTicketsNYC y parkingTicketsCHI utilizando la herramienta make del archivo Makefile.

Archivos Entregados

A continuación se detallan los archivos realizados para el correcto funcionamiento del programa.

ticketsADT

TAD principal para el almacenaje y procesamiento de los datos de entrada. Contiene las estructuras y funciones utilizadas para el almacenaje de los datos provistos, así como las funciones utilizadas para resolver los Queries y para ordenar los datos de salida.

Archivos main

En los archivos fuente parkingTicketsNYC.c y parkingTicketsCHI.c se validan y envian los argumentos proporcionados por linea de comando del ejecutable de cada ciudad. Una vez procesados los datos por las funciones del TAD ticketsADT ambos parkingTicketsNYC.c y parkingTicketsCHI.c generan los archivos de salida .csv y HTML

Libreria frontLib

Hemos realizado la libreria frontLib con el objetivo de poder validar y manipular los inputs propocionados por linea de comando a los ejecutables parkingTicketsNYC y parkingTicketsCHI. Asímismo frontLib contiene las funciones necesarias para el cerrado de archivos y la liberación de memoria para ambos ejecutables. Si el programa sufriera algun error en su ejecución ya sea por una falla en la creacion de memoria, apertura de un archivo inexistente o incorrecto, creación de un archivo o por un error de argumentos en la linea de comando, frontLib.h contiene las funciones necesarias para avisar al usuario del error, cortar la ejecución del programa informando la falla ocacionada.

Carpeta Lib
Libreria html provista por la catedra.

Creación del Ejecutable

  • Para compilar ambos programas a la vez, ejecute en su terminal desde el directorio que se encuentra el archivo Makefile el comando make GENERARÁ DOS EJECUTABLES parkingTicketsNYC y parkingTicketsCHI

  • En el caso de desear compilar un solo programa, especifique el nombre del programa posterior al comando make:

make parkingTicketsNYC

o bien

make parkingTicketsCHI

Ejecucion del programa

Una vez compilados, puede ejecutar los programas desde la línea de comandos de su terminal:

Para parkingTicketsNYC:

./parkingTicketsNYC ticketsNYC.csv infractionsNYC.csv

Para parkingTicketsCHI:

./parkingTicketsCHI ticketsCHI.csv infractionsCHI.csv

Limpieza de archivos

Para eliminar todos los archivos .o HTML .csv ejecute:

make clean

Si desea eliminar los ejecutables .o ejecute:

make cleanOut

Si desea eliminar las tablas HTML ejecute:

make cleanHTML

Si desea eliminar los .csv de salida ejecute:

make cleanQueries

Error de -fsanitize=address

En muy raras ocasiones, al ejecutar el programa desde Pampero, se obtiene el siguiente mensaje:

AddressSanitizer:DEADLYSIGNAL ================================================================= ==753767==ERROR: AddressSanitizer: SEGV on unknown address 0x61adf3055e78 (pc 0x732bbdd3538f bp 0x000000000000 sp 0x7ffe1cc1e780 T0) ==753767==The signal is caused by a READ memory access. AddressSanitizer:DEADLYSIGNAL AddressSanitizer: nested bug in the same thread, aborting.

Al volver a ejecutarlo, el programa funciona correctamente

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors