Skip to content

Commit

Permalink
90% esta :)
Browse files Browse the repository at this point in the history
  • Loading branch information
larafava committed Dec 5, 2023
1 parent 496d819 commit 56e1de4
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 15 deletions.
22 changes: 19 additions & 3 deletions Proyecto/libreria/funciones.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ bool existeSuperposicion(Cliente* cliente, Clases*clase){

void filtrar_clase(Cliente* cliente, int &tamactual)
{
Clases*arrayaux=new Clases[0];
Clases*arrayaux=new Clases[tamactual];
int N=0;

for(int i=0;i<tamactual;i++)
Expand All @@ -210,8 +210,24 @@ void filtrar_clase(Cliente* cliente, int &tamactual)
}

} //actualizo las clases del cliente con el arreglo filtrado
cliente->clases=arrayaux;
cliente->cantClases=&N;
// Liberar la memoria del array antiguo
delete[] cliente->clases;

// Actualizar las clases del cliente con el array filtrado
if (N > 0)
{
cout<<"Hola";
cliente->clases = arrayaux;
cliente->cantClases = &N;
}
else
{
// Si N es igual a 0, el cliente no tiene clases
cliente->clases = nullptr;
cliente->cantClases = &N;
}
/*cliente->clases=arrayaux;
cliente->cantClases=&N;*/
}
bool esta_clase(Clases*clases, int id, int tam){
bool toR=false;
Expand Down
25 changes: 13 additions & 12 deletions Proyecto/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,25 @@ int main() {
archivo_clase.open("iriClasesGYM.csv");
//int cantidadClases;
int N=0;
Clases*clase=new Clases[N];
leerClases(archivo_clase,clase,N);
Clases*lista_clases=new Clases[N];
leerClases(archivo_clase,lista_clases,N);

//ABRIR ARCHIVO CLIENTE
ifstream archivo_cliente;
archivo_cliente.open("iriClientesGYM.csv");
int cantclientes=0;
Cliente*cliente=new Cliente[cantclientes];
leercliente(archivo_cliente,cliente,cantclientes);
cout<<"ver que onda";
/*for(int i=0;i<cantclientes;i++){
cout<<"\nFiltrar clase";
Cliente*lista_clientes=new Cliente[cantclientes];
leercliente(archivo_cliente,lista_clientes,cantclientes);
cout<<"ver que onda"<<endl;
/*
for(int i=0;i<cantclientes;i++){
cout<<"Filtrar clase"<<endl;
Cliente aux=cliente[i];
int N=*(aux.cantClases);
cout<<"Estoy filtrando";
//filtrar_clase(&aux,N);
}*/

int N1=*(aux.cantClases);
cout<<"Estoy filtrando"<<endl;
filtrar_clase(&aux,N1);
}
*/
return 0;
}

20 changes: 20 additions & 0 deletions Proyecto/testing/tst_proyecto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,23 @@ REQUIRE(existeSuperposicion(&cliente, &clasePrueba) == false);
delete cliente.cantClases;
}

TEST_CASE("Prueba de esta_clase") {
// Caso de prueba 1: La clase está presente en el arreglo
Clases clases1[] = {{1, "Clase1", 10.5, 20, 30}, {2, "Clase2", 15.0, 20, 30}};
REQUIRE(esta_clase(clases1, 1, 2) == true);

// Caso de prueba 2: La clase no está presente en el arreglo
Clases clases2[] = {{3, "Clase3", 9.0,15, 25}, {4, "Clase4", 12.5,30, 40}};
REQUIRE(esta_clase(clases2, 2, 2) == false);
}
/*
TEST_CASE("Prueba de filtrar_clase") {
// Caso de prueba 1: Cliente con clases sin duplicados
Clases clases1[] = {{1, "Clase1", 10.5, 20, 30}, {2, "Clase2", 15.0, 25, 35}};
Cliente cliente1 = {1, "Nombre1", "Apellido1", "email1", "telefono1", "fechaNac1", 1, clases1, nullptr};
int tamactual1 = 2;
filtrar_clase(&cliente1, tamactual1);
REQUIRE(cliente1.cantClases != nullptr);
REQUIRE(*cliente1.cantClases == 2);
}*/

0 comments on commit 56e1de4

Please sign in to comment.