Skip to content

Commit

Permalink
:0
Browse files Browse the repository at this point in the history
  • Loading branch information
larafava committed Dec 4, 2023
1 parent f426ed3 commit 496d819
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 26 deletions.
46 changes: 36 additions & 10 deletions Proyecto/libreria/funciones.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ void agregar_clases(Clases*& clase, int& N){
delete[] clase;
clase=aux;
}

void leerAsistencias(string archibinrd) {
ifstream f(archibinrd, ios::out | ios::binary);

Expand Down Expand Up @@ -134,13 +135,16 @@ void leercliente(ifstream& archi, Cliente* &cliente, int &tamC) {
cout<<auxIdCliente<<coma<<auxNombre<<coma<<auxApellido<<coma<<auxEmail<<coma<<auxTelefono<<coma<<auxFechaNac<<coma<<auxEstado<<endl;
}
}
/*

Inscripcion*reservarClase(Cliente*cliente, Clases*clase){
if(!existeSuperposicion(cliente, clase)){ //aca no recorremos en esta funcion porque al llamar la funcion existe superposicion, esa funcion recorre la lista de clases del cliente
int N=*(cliente->cantClases);
if(!existeSuperposicion(cliente, clase) && !esta_clase(cliente->clases,clase->idClase,N)){ //aca no recorremos en esta funcion porque al llamar la funcion existe superposicion, esa funcion recorre la lista de clases del cliente, llamo a la funcion booleana esta clases, si no esta la clase
if(clase->cupo<clase->cupoMax){
cout<<"Se pudo reservar";
cliente->cantClases++;
agregar_clases(cliente->clases,clase, cliente->cantClases);
int N=*(cliente->cantClases);
agregar_clases(cliente->clases,N); //llamo el resize y agrando el tamano +1
cliente->clases[N-1]=*clase; //en el ultimo espacio agrego la clase
clase->cupo++;
Inscripcion*nuevainscripcion;
nuevainscripcion->fechaInscripcion=obtenerFechaHora();
Expand All @@ -150,12 +154,12 @@ Inscripcion*reservarClase(Cliente*cliente, Clases*clase){
}
}
return nullptr;
}*/
}
time_t obtenerFechaHora()
{

time_t auxiliar_fecha = time(0);
//

return auxiliar_fecha;
}
void reseteararchivo(string rutaarchi, tm* fechadereset){
Expand Down Expand Up @@ -192,11 +196,33 @@ bool existeSuperposicion(Cliente* cliente, Clases*clase){
}
}

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

for(int i=0;i<tamactual;i++)
{
int id_clase=cliente[i].clases->idClase;
}
}*/
Clases claseaux=cliente->clases[i];
if(!esta_clase(arrayaux,claseaux.idClase,N)){ //si la clase no esta lo inserto
agregar_clases(arrayaux,N);
arrayaux[N]=claseaux;
}

} //actualizo las clases del cliente con el arreglo filtrado
cliente->clases=arrayaux;
cliente->cantClases=&N;
}
bool esta_clase(Clases*clases, int id, int tam){
bool toR=false;
int i=0;
while(i<tam&&!toR){
if(clases[i].idClase==id){
toR=true;

}
else
i++;
}
return toR;
}
4 changes: 2 additions & 2 deletions Proyecto/libreria/funciones.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ void resetearbinario(string rutaarchi, tm* fechadereset);
Clases* leerClase(string archivo, int* cantidadClases);
void leerClases(ifstream& archi, Clases* &clase, int &tamC);
bool existeSuperposicion(Cliente* cliente, Clases*clase);
//void reservarClase(Clases*& listaClases, string& nombreClase, int horario, int& cantidadClases);
void filtrar_clase(Cliente* cliente, int &tamactual);
Inscripcion*reservarClase(Cliente*cliente, Clases*clase);
void regenerarArchivo();

bool esta_clase(Clases*clases, int id,int tam);
#endif //FUNCIONES_H
22 changes: 8 additions & 14 deletions Proyecto/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,15 @@ int main() {
int cantclientes=0;
Cliente*cliente=new Cliente[cantclientes];
leercliente(archivo_cliente,cliente,cantclientes);
// int cantclientes=0;
// cliente=guardarCliente("iriClientesGYM.csv", &cantclientes);
//int cantidadClientes;
//Cliente* listaClientes = guardarCliente("iriClientesGYM.csv", &cantidadClientes);
cout<<"ver que onda";
/*for(int i=0;i<cantclientes;i++){
cout<<"\nFiltrar clase";
Cliente aux=cliente[i];
int N=*(aux.cantClases);
cout<<"Estoy filtrando";
//filtrar_clase(&aux,N);
}*/

//
/*int cantAsistencias;
sAsistencia* asistencias = leerArchivoBinario("asistencias_1697673600000.dat", &cantAsistencias);
// "../gngng/
int cantidadClientes=0;
@@ -36,12 +71,41 @@ int main() {
// Clases* listaClases = cargarClases("iriClasesGYM", cantidadClases);
//delete[] listaClases;*/

cout << "Hola mundo!"<<endl;
return 0;
}

1 change: 1 addition & 0 deletions Proyecto/testing/tst_proyecto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,4 @@ REQUIRE(existeSuperposicion(&cliente, &clasePrueba) == false);
// Liberamos la memoria asignada dinámicamente.
delete cliente.cantClases;
}

0 comments on commit 496d819

Please sign in to comment.