.
2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Número de respuestas: 10
En respuesta a Sofia Tito Virgilio Rodriguez
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Buenas! Una consulta, en la función agregarEnTRefugio debería checkear si ese perro ya existe? O quizá hay alguna precondición que me estoy saltando. Gracias!
En respuesta a Bruno Antonio Labadie Echudi
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
de Guillermo Dufort -
Hola Bruno,
No es una precondición porque no está especificado sobre la función en el .h.
En principio te diría que no lo chequees, porque no vamos a crear casos de prueba en los que eso suceda.
Saludos,
Guillermo
No es una precondición porque no está especificado sobre la función en el .h.
En principio te diría que no lo chequees, porque no vamos a crear casos de prueba en los que eso suceda.
Saludos,
Guillermo
En respuesta a Sofia Tito Virgilio Rodriguez
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Buenas tardes, tenemos la teoría de que el problema está alojado en liberarTRefugio, el error entiendo es de rango de array? no estoy seguro de igual manera no entiendo como solucionarlo dado que creemos que estamos manejando bien los rangos. Saludos.
En respuesta a Mariano Daniel Ottonelli Orero
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Buenas,
por lo que veo el error está ocurriendo, es que al tratar de imprimir los perros de un refugio, en algún caso la memoria aun no fue asignada para un perro. Por lo tanto, es probable que te estés pasando del tope, sobre el arreglo de perros.
Saludos,
Ignacio.
por lo que veo el error está ocurriendo, es que al tratar de imprimir los perros de un refugio, en algún caso la memoria aun no fue asignada para un perro. Por lo tanto, es probable que te estés pasando del tope, sobre el arreglo de perros.
Saludos,
Ignacio.
En respuesta a Sofia Tito Virgilio Rodriguez
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Buenas noches, a mi me estaba apareciendo la misma salida que al compañero anterior. Despues de probar algunos ajustes logré que no me saliera mas eso pero todavia no logro resolverlo.
Cuando hago el caso de prueba con ./principal < test/refugio1-crear-agregar-imprimir-liberar y luego el diff no me pone nada, que segun la letra del laboratorio significa que esta bien. Pero cuando hago make t-refugio1-crear-agregar-imprimir-liberar me pone un mensaje que no entiendo como podría arreglarlo para que me ponga ---Bien---.
Gracias!
Cuando hago el caso de prueba con ./principal < test/refugio1-crear-agregar-imprimir-liberar y luego el diff no me pone nada, que segun la letra del laboratorio significa que esta bien. Pero cuando hago make t-refugio1-crear-agregar-imprimir-liberar me pone un mensaje que no entiendo como podría arreglarlo para que me ponga ---Bien---.
Gracias!

En respuesta a Santiago Machado Trinidad
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Hola Santiago,
El error que esta ocurriendo es que no estas liberando bien la memoria, queda 'perdida', lo bueno del error es que te dice en qué momento se originó esta memoria pérdida, o sea un perro.
Probablemente en la función de liberar refugio no estés recorriendo completamente el arreglo de perros, y esta queda perdida al liberar la variable del refugio.
Luego para los tests te recomiendo que uses make test/salidas/refugio1-crear-agregar-imprimir-liberar.diff para verlo en el archivo.
Saludos,
Ignacio
El error que esta ocurriendo es que no estas liberando bien la memoria, queda 'perdida', lo bueno del error es que te dice en qué momento se originó esta memoria pérdida, o sea un perro.
Probablemente en la función de liberar refugio no estés recorriendo completamente el arreglo de perros, y esta queda perdida al liberar la variable del refugio.
Luego para los tests te recomiendo que uses make test/salidas/refugio1-crear-agregar-imprimir-liberar.diff para verlo en el archivo.
Saludos,
Ignacio
En respuesta a Sofia Tito Virgilio Rodriguez
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Estoy intentando implementar la función agregarEnTRefugio pero al usar la función compararTFechas creada anteriormente me da este error diciendo que el rep_perro no está bien definido, al implementar las funciones de perro.cpp anteriormente todos los casos de prueba me daban bien así que no sé cuál podría ser el problema
En respuesta a MartãN Benitez De Los Santos
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Logre resolver este error al usar las funciones declaradas en perro.cpp, pero ahora me aparece una falla de segmentacion al intentar ejecutar el primer caso de prueba del refugio

En respuesta a MartãN Benitez De Los Santos
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
Alguien sabe cuál podría ser la causa de este error? Muchas gracias
En respuesta a MartãN Benitez De Los Santos
Re: 2. Implementar las funciones crearTRefugio, liberarTRefugio, agregarEnTRefugio y imprimirTRefugio. Ejecutar el caso de prueba refugio1-crear-agregar-imprimir-liberar.
de Federico Rivero -
Hola Martín,
Ese error lo que indica es que estás tratando de acceder a una posición de memoria que no fue reservada. Probablemente estés accediendo a un puntero sin inicializar o que apunta a NULL.
Sobre el final te dice que el programa terminó en un punto específico, y te da el stacktrace, es decir, las funciones anidadas donde se dio el error. Te dice que el error está en la función fechaIngresoTPerro, invocada por agregarEnTRefugio. Lo más probable es que estés pasando un puntero sin inicializar o con valor NULL a fechaIngresoTPerro. Es decir, probablemente no estás manejando bien el valor del tope del arreglo y estás intenando comparar contra una posición no cargada.
Ese error lo que indica es que estás tratando de acceder a una posición de memoria que no fue reservada. Probablemente estés accediendo a un puntero sin inicializar o que apunta a NULL.
Sobre el final te dice que el programa terminó en un punto específico, y te da el stacktrace, es decir, las funciones anidadas donde se dio el error. Te dice que el error está en la función fechaIngresoTPerro, invocada por agregarEnTRefugio. Lo más probable es que estés pasando un puntero sin inicializar o con valor NULL a fechaIngresoTPerro. Es decir, probablemente no estás manejando bien el valor del tope del arreglo y estás intenando comparar contra una posición no cargada.
Saludos,
Federico