Skip to content

Commit

Permalink
war is over
Browse files Browse the repository at this point in the history
  • Loading branch information
larafava committed Nov 25, 2023
1 parent 7afe0d7 commit 3db514d
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 45 deletions.
58 changes: 27 additions & 31 deletions Proyecto/libreria/funciones.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#include <iostream>
#include <string>
#include <fstream>

#include <sstream>
using namespace std;

Expand Down Expand Up @@ -33,10 +32,9 @@ void agregar_clases(Clases*&lista_clases, Clases* clase, int*tamactual){
void leerAsistencias(string archibinrd) {
ifstream f(archibinrd, ios::out | ios::binary);

cout<<"Nombre archivo";
cout<<archibinrd;
if (f.is_open()) {
cout<<"Estoy leyendo el archivo";

sAsistencia asistencia;
while (f.read((char*)&asistencia, sizeof(sAsistencia))) {
cout << "ID del cliente: " << asistencia.idCliente << endl;
Expand All @@ -53,7 +51,7 @@ void leerAsistencias(string archibinrd) {
cout<<"Error al leer archivo";
f.close();
}
Clases* leerClase(string archivo, int* cantidadClases) {
/*Clases* leerClase(string archivo, int* cantidadClases) {
Clases* listaClases = nullptr;
*cantidadClases = 0;
Expand All @@ -75,6 +73,31 @@ Clases* leerClase(string archivo, int* cantidadClases) {
}
infile.close();
return listaClases;
}*/
void leerClases(ifstream &archi, Clases* &clase, int &tamC){
string linea;
stringstream s;
Clases*clasess=new Clases[tamC];
if(archi.is_open()){

getline(archi, linea);

while(!archi.eof() && getline(archi, linea)){

s<<linea;

agregar_clases(clase,clasess,&tamC);

getline(s, linea, ',');
clase[tamC-1].idClase = stoi(linea);
getline(s,linea, ',');
clase[tamC-1].nombre=linea[1];
getline(s, linea, ',');
clase[tamC-1].horario=stof(linea);
getline(s, linea);

}
}
}
Cliente* guardarCliente(string archivo, int* cantidadClientes) {
Cliente* listaCliente=new Cliente[0];
Expand Down Expand Up @@ -163,31 +186,4 @@ bool existeSuperposicion(Cliente* cliente, Clases*clase){
int id_clase=cliente[i].clases->idClase;
}
}*/
sAsistencia* leerArchivoBinario(string nombreArchivo, int* cantAsistencias) {
ifstream archibinrd(nombreArchivo, ios::binary);

if (!archibinrd.is_open()) {
cout << "Error al abrir el archivo para lectura." <<endl;
return nullptr;
}

archibinrd.read((char*)cantAsistencias, sizeof(int));

// Utilizar un puntero para almacenar dinámicamente las asistencias
sAsistencia* asistencias = new sAsistencia[*cantAsistencias];

for (int i = 0; i < *cantAsistencias; ++i) {
asistencias[i].CursosInscriptos = nullptr; // Asegurarse de que el puntero esté inicializado a nullptr

archibinrd.read((char*)&asistencias[i].idCliente, sizeof(int));
archibinrd.read((char*)&asistencias[i].cantInscriptos, sizeof(int));

asistencias[i].CursosInscriptos = new Inscripcion[asistencias[i].cantInscriptos];

archibinrd.read((char*)asistencias[i].CursosInscriptos, sizeof(Inscripcion) * asistencias[i].cantInscriptos);
}

archibinrd.close();

return asistencias;
}
8 changes: 4 additions & 4 deletions Proyecto/libreria/funciones.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
#define FUNCIONES_H
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>

#define MAXCLASES 200
using namespace std;
struct Clases {
unsigned idClase;
int idClase;
string nombre;
float horario;
int cupo;
Expand Down Expand Up @@ -44,9 +43,10 @@ void leerAsistencias(string archibinrd);
void reseteararchivo(string rutaarchi, time_t fechadereset);
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);
Inscripcion*reservarClase(Cliente*cliente, Clases*clase);
void regenerarArchivo();
sAsistencia* leerArchivoBinario(string nombreArchivo, int* cantAsistencias);

#endif //FUNCIONES_H
17 changes: 7 additions & 10 deletions Proyecto/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,18 @@ using namespace std;


int main() {
cout<<"Hola munda1\n";
// string rutaArchivoClases = "../Proyecto/iriClasesGYM.csv";
// string rutaArchivoClientes = "../Proyecto/iriClientesGYM.csv";
// string rutaArchivoAsistencias = "../Proyecto/asistencias.dat";

ifstream archivobinario;
archivobinario.open("asistencia.dat", ios::binary);
leerAsistencias("asistencias.dat");
//sAsistencia*asistencia;
//int cantasistencias;
//asistencia=leerArchivoBinario("asistencias.dat",&cantasistencias);

//ABRO ARCHIVO CLASES
//ifstream archivo_clase;
//archivo_clase.open("iriClasesGYM.csv", ios::out);
ifstream archivo_clase;
archivo_clase.open("iriClasesGYM.csv", ios::out);
//int cantidadClases;
//Clases* listaClases = leerClase("iriClasesGYM.csv", &cantidadClases);
int N=0;
Clases*clase=new Clases[N];
leerClases(archivo_clase,clase,N);

//ABRIR ARCHIVO CLIENTE
//ifstream archivo_cliente;
Expand Down

0 comments on commit 3db514d

Please sign in to comment.