From 55f7c11e8ba7875c2941f6be287228836787775d Mon Sep 17 00:00:00 2001 From: vickygidekel Date: Wed, 22 Nov 2023 20:37:27 -0300 Subject: [PATCH] 22/11 --- Proyecto/libreria/archivo.cpp | 16 +++++++--------- Proyecto/libreria/archivo.h | 15 ++++++--------- Proyecto/libreria/clases.cpp | 29 ++++++++++++++++++++--------- Proyecto/libreria/clases.h | 9 +++++---- Proyecto/libreria/clientes.cpp | 5 +---- Proyecto/libreria/clientes.h | 3 +-- Proyecto/libreria/libreria.cpp | 4 ---- Proyecto/libreria/libreria.h | 11 +---------- Proyecto/libreria/libreria.pro | 5 ++--- Proyecto/main/main.cpp | 11 ++++------- Proyecto/testing/test_clases.cpp | 6 ++---- 11 files changed, 49 insertions(+), 65 deletions(-) diff --git a/Proyecto/libreria/archivo.cpp b/Proyecto/libreria/archivo.cpp index ba451d1..5ef55b0 100644 --- a/Proyecto/libreria/archivo.cpp +++ b/Proyecto/libreria/archivo.cpp @@ -56,8 +56,7 @@ eCodArchivos leerArchivoClientes(ifstream &archiClientes, sClientes* cliente, in delete[] aux; return eCodArchivos::ExitoOperacion; } - else - return eCodArchivos::ErrorApertura; + return eCodArchivos::ErrorApertura; } eCodArchivos escribirArchivoClientes(ofstream &archivoClientes, str nombre, str apellido, str email, str telefono, Fecha fechaNac, int estado, u_int idCliente) @@ -74,8 +73,8 @@ eCodArchivos escribirArchivoClientes(ofstream &archivoClientes, str nombre, str archivoClientes.close(); return eCodArchivos::ExitoOperacion; - } else - return eCodArchivos::ErrorEscritura; + } + return eCodArchivos::ErrorEscritura; } eCodArchivos leerArchivoClases(ifstream &archiClases, Clases* clase) //archivo CSV { @@ -110,8 +109,7 @@ eCodArchivos leerArchivoClases(ifstream &archiClases, Clases* clase) //archivo C delete[] aux; return eCodArchivos::ExitoOperacion; } - else - return eCodArchivos::ErrorApertura; + return eCodArchivos::ErrorApertura; } eCodArchivos escribirArchivoClases(ofstream &archivoClases, u_int idClase, str nombre, u_int horario) { @@ -126,8 +124,8 @@ eCodArchivos escribirArchivoClases(ofstream &archivoClases, u_int idClase, str n archivoClases.close(); return eCodArchivos::ExitoOperacion; - } else - return eCodArchivos::ErrorEscritura; + } + eCodArchivos::ErrorEscritura; } eCodArchivos leerArchivoAsistencia(ifstream &archiAsistencia, Asistencia* asistencia) //archivo binario { @@ -163,7 +161,7 @@ eCodArchivos leerArchivoAsistencia(ifstream &archiAsistencia, Asistencia* asiste eCodArchivos informeAsistencia(ofstream &informe, Asistencia *asistencia) { informe.open("informe.dat", ios::binary); - if(!archiAsistencia.is_open()) + if(!informe.is_open()) return eCodArchivos::ErrorApertura; // Setear inicio informe.clear(); diff --git a/Proyecto/libreria/archivo.h b/Proyecto/libreria/archivo.h index 9bccd51..e0bb6ce 100644 --- a/Proyecto/libreria/archivo.h +++ b/Proyecto/libreria/archivo.h @@ -1,20 +1,17 @@ #ifndef ARCHIVO_H #define ARCHIVO_H -#include -#include -#include +#include "clases.h" -fstream archiClientes, archiClases, archiAsistencia, informe; typedef enum CodArchivos {ErrorLectura=-3, ErrorApertura=-2, ErrorEscritura=-1, ExitoOperacion=1} eCodArchivos; -eCodArchivos leerArchivoClientes(ifstream &archiClientes, sClientes* cliente, int *cant); -eCodArchivos escribirArchivoClientes(ofstream archiClientes, str nombre, str apellido, str email, str telefono, +eCodArchivos leerArchivoClientes(ifstream& archiClientes, sClientes* cliente, int *cant); +eCodArchivos escribirArchivoClientes(ofstream& archiClientes, str nombre, str apellido, str email, str telefono, Fecha fechaNac, int estado, u_int idCliente); -eCodArchivos leerArchivoClases(ifstream &archiClases, Clases* clase); -eCodArchivos escribirArchivoClases(ofstream archiClases, u_int idClase, str nombre, u_int horario); -eCodArchivos leerArchivoAsistencia(ifstream *archiAsistencia, Asistencia* asistencia); +eCodArchivos leerArchivoClases(ifstream& archiClases, Clases* clase); +eCodArchivos escribirArchivoClases(ofstream& archiClases, u_int idClase, str nombre, u_int horario); +eCodArchivos leerArchivoAsistencia(ifstream& archiAsistencia, Asistencia* asistencia); eCodArchivos informeAsistencia(ofstream &informe, Asistencia *asistencia); #endif // ARCHIVO_H diff --git a/Proyecto/libreria/clases.cpp b/Proyecto/libreria/clases.cpp index cbe0b06..5b14225 100644 --- a/Proyecto/libreria/clases.cpp +++ b/Proyecto/libreria/clases.cpp @@ -1,9 +1,6 @@ #include "clases.h" -#include "archivo.h" -#include "clientes.h" - -Inscripto estaInscriptoClase(Asistencia* asistencia, Clases* clase, string nombreClase, u_int horario)//modificar +Inscripto estaInscriptoClase(Asistencia* asistencia, Clases* clase, string nombreClase, u_int horario) { int pos; for(int i=0;i<33;i++) @@ -23,10 +20,9 @@ Inscripto estaInscriptoClase(Asistencia* asistencia, Clases* clase, string nombr return Inscripto::noEsta; } } - } -superposicion superposicionHorarios(Asistencia* asistencia, Clases* clase, u_int idCliente, - int cantClientes, string nombreClase, u_int horario)//modificar +superposicion superposicionHorarios(Asistencia* asistencia, Clases* clase, u_int idCliente, int cantClientes, + string nombreClase, u_int horario) { int pos; for(int i=0;i<33;i++) @@ -119,8 +115,7 @@ Reservas clases(sClientes cliente, Asistencia* asistencia, Clases* clase, int *c } return reservar::ExitoR; } - else - return reservar::ErrR; + return reservar::ErrR; } Baja cancelarClase(Asistencia* asistencia, u_int idClase, int* cant)//modificar { @@ -135,4 +130,20 @@ Baja cancelarClase(Asistencia* asistencia, u_int idClase, int* cant)//modificar return darBaja::ErrBaja; } } +Asistencia* resizeAsistencia(Asistencia* asistencia, int *tam, u_int nuevoTam) +{ + Asistencia* aux = new Asistencia[nuevoTam]; + u_int longitud = (*tam < nuevoTam) ? *tam : nuevoTam; + + if(aux!=nullptr) + { + for(u_int i=0; i -#include -#include - +#include "clientes.h" bool espacio(int cantMaxima, int *cant) { diff --git a/Proyecto/libreria/clientes.h b/Proyecto/libreria/clientes.h index 9d42154..7a0a71e 100644 --- a/Proyecto/libreria/clientes.h +++ b/Proyecto/libreria/clientes.h @@ -1,8 +1,7 @@ #ifndef CLIENTES_H #define CLIENTES_H -#include -#include +#include "libreria.h" enum estado {Deudor=-1, AlDia=1, Afavor=2}; typedef enum estado eEstado; diff --git a/Proyecto/libreria/libreria.cpp b/Proyecto/libreria/libreria.cpp index 1a96edd..6514637 100644 --- a/Proyecto/libreria/libreria.cpp +++ b/Proyecto/libreria/libreria.cpp @@ -1,5 +1 @@ #include "libreria.h" - -Libreria::Libreria() -{ -} diff --git a/Proyecto/libreria/libreria.h b/Proyecto/libreria/libreria.h index 5f44dc5..6a859bd 100644 --- a/Proyecto/libreria/libreria.h +++ b/Proyecto/libreria/libreria.h @@ -1,7 +1,6 @@ -#ifndef LIBRERIA_H +//#ifndef LIBRERIA_H #define LIBRERIA_H -#include "libreria_global.h" #include #include #include @@ -11,13 +10,5 @@ using namespace std; - -class LIBRERIA_EXPORT Libreria -{ -public: - Libreria(); -}; - -#endif // LIBRERIA_H typedef std::string str; typedef unsigned int u_int; diff --git a/Proyecto/libreria/libreria.pro b/Proyecto/libreria/libreria.pro index 6f28a83..c848db2 100644 --- a/Proyecto/libreria/libreria.pro +++ b/Proyecto/libreria/libreria.pro @@ -21,9 +21,8 @@ HEADERS += \ libreria.h FILES += \ - iriClasesGYM.csv\ - iriClientesGYM.csv\ - asistencias_1697673600000.dat\ + iriClasesGYM.csv + iriClientesGYM.csv # Default rules for deployment. unix { diff --git a/Proyecto/main/main.cpp b/Proyecto/main/main.cpp index ef3267a..4b5d4dd 100644 --- a/Proyecto/main/main.cpp +++ b/Proyecto/main/main.cpp @@ -1,7 +1,4 @@ -#include -#include -#include -#include +#include "archivo.h" using namespace std; int main() @@ -35,7 +32,7 @@ int main() if(result2 != eCodArchivos::ExitoOperacion) cout << "Hubo un error." << endl; - eCodArchivos result3 = leerArchivoAsistencia(&archiAsistencia, asistencia); + eCodArchivos result3 = leerArchivoAsistencia(archiAsistencia, asistencia); if(result3 != eCodArchivos::ExitoOperacion) cout << "Huno un error." << endl; @@ -162,7 +159,7 @@ int main() pos=i; } - Inscripto resul= estaInscriptoClases(asistencia, clase, nombreClase, horario); + Inscripto resul = estaInscriptoClases(asistencia, clase, nombreClase, horario); if(resul==1){ for(int i=0; i<*cant; i++) { @@ -174,7 +171,7 @@ int main() } }else//si ya tiene cursos inscriptos me fijo que no esten superpuestos { - superposicion resul2= superposicionHorarios(asistencia, clase,id,cant,nombreClase,horario); + superposicion resul2 = superposicionHorarios(asistencia, clase, id, cantidad, nombreClase, horario); if(resul2==1) { for(int i=0;i<*cant;i++) diff --git a/Proyecto/testing/test_clases.cpp b/Proyecto/testing/test_clases.cpp index cc2e3a1..20b6ff0 100644 --- a/Proyecto/testing/test_clases.cpp +++ b/Proyecto/testing/test_clases.cpp @@ -1,7 +1,5 @@ #include -#include -#include -#include +#include "archivo.h" /* Inscripto estaInscriptoClases(Asistencia* asistencia, Clases clase); superposicion superposicionHorarios(Asistencia* asistencia, Clases clase, int idCliente); @@ -42,7 +40,7 @@ TEST_CASE("Incripcion multiple") REQUIRE(result == 1); } SECTION("Superposicion horaria"){ - superposicion superp = superposicionHorarios(aux, curso, cliente.idCliente, cantClientes,curso->nombreClase, curso->horarioClase); + superposicion superp = superposicionHorarios(aux, curso, cliente.idCliente, *cantClientes,curso->nombreClase, curso->horarioClase); REQUIRE(superp == 1); } SECTION("Reserva de clases"){