Skip to content

Commit

Permalink
22/11
Browse files Browse the repository at this point in the history
  • Loading branch information
vickygidekel committed Nov 22, 2023
1 parent fe7fe37 commit 55f7c11
Show file tree
Hide file tree
Showing 11 changed files with 49 additions and 65 deletions.
16 changes: 7 additions & 9 deletions Proyecto/libreria/archivo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
{
Expand Down Expand Up @@ -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)
{
Expand All @@ -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
{
Expand Down Expand Up @@ -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();
Expand Down
15 changes: 6 additions & 9 deletions Proyecto/libreria/archivo.h
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
#ifndef ARCHIVO_H
#define ARCHIVO_H

#include <libreria.h>
#include <clientes.h>
#include <clases.h>
#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
29 changes: 20 additions & 9 deletions Proyecto/libreria/clases.cpp
Original file line number Diff line number Diff line change
@@ -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++)
Expand All @@ -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++)
Expand Down Expand Up @@ -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
{
Expand All @@ -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<longitud; i++)
aux[i] = asistencia[i]; //*(cliente+1)

delete[] asistencia;
return aux;
}

return nullptr;
}

9 changes: 5 additions & 4 deletions Proyecto/libreria/clases.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@ typedef struct {
str nombreClase;
} Clases;

Inscripto estaInscriptoClases(Asistencia* asistencia, Clases *clase, string nombreClase, u_int horario); //verificar que no se inscriba dos veces
superposicion superposicionHorarios(Asistencia* asistencia, Clases* clase, u_int idCliente, int *cantClientes, string nombreClase, u_int horario);//modificada
Reservas clases(sClientes cliente, Asistencia* asistencia, Clases *clase, int *cantClientes, string nombreClase, u_int horario); //reservar clase//modificada
Inscripto estaInscriptoClases(Asistencia* asistencia, Clases* clase, string nombreClase, u_int horario); //verificar que no se inscriba dos veces
superposicion superposicionHorarios(Asistencia* asistencia, Clases* clase, u_int idCliente, int cantClientes, string nombreClase,
u_int horario); //verificar que no se superpongan horarios
Reservas clases(sClientes cliente, Asistencia* asistencia, Clases *clase, int *cantClientes, string nombreClase, u_int horario); //reservar clase
Baja cancelarClase(Asistencia* asistencia, u_int idClase, int *cant); //dar de baja clase

Asistencia* resizeAsistencia(Asistencia* asistencia, int *tam, u_int nuevoTam); //tamaño de asistencia

#endif // CLASES_H
5 changes: 1 addition & 4 deletions Proyecto/libreria/clientes.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
#include <clientes.h>
#include <archivo.h>
#include <clases.h>

#include "clientes.h"

bool espacio(int cantMaxima, int *cant)
{
Expand Down
3 changes: 1 addition & 2 deletions Proyecto/libreria/clientes.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#ifndef CLIENTES_H
#define CLIENTES_H

#include <libreria.h>
#include <clientes.h>
#include "libreria.h"

enum estado {Deudor=-1, AlDia=1, Afavor=2};
typedef enum estado eEstado;
Expand Down
4 changes: 0 additions & 4 deletions Proyecto/libreria/libreria.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
#include "libreria.h"

Libreria::Libreria()
{
}
11 changes: 1 addition & 10 deletions Proyecto/libreria/libreria.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#ifndef LIBRERIA_H
//#ifndef LIBRERIA_H
#define LIBRERIA_H

#include "libreria_global.h"
#include <iostream>
#include <string>
#include <ctime>
Expand All @@ -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;
5 changes: 2 additions & 3 deletions Proyecto/libreria/libreria.pro
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ HEADERS += \
libreria.h

FILES += \
iriClasesGYM.csv\
iriClientesGYM.csv\
asistencias_1697673600000.dat\
iriClasesGYM.csv
iriClientesGYM.csv

# Default rules for deployment.
unix {
Expand Down
11 changes: 4 additions & 7 deletions Proyecto/main/main.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
#include <libreria.h>
#include <clientes.h>
#include <clases.h>
#include <archivo.h>
#include "archivo.h"
using namespace std;

int main()
Expand Down Expand Up @@ -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;

Expand Down Expand Up @@ -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++)
{
Expand All @@ -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++)
Expand Down
6 changes: 2 additions & 4 deletions Proyecto/testing/test_clases.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#include <catch2/catch.hpp>
#include <clases.h>
#include <clientes.h>
#include <archivo.h>
#include "archivo.h"
/*
Inscripto estaInscriptoClases(Asistencia* asistencia, Clases clase);
superposicion superposicionHorarios(Asistencia* asistencia, Clases clase, int idCliente);
Expand Down Expand Up @@ -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"){
Expand Down

0 comments on commit 55f7c11

Please sign in to comment.