-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfileManage.cpp
52 lines (44 loc) · 1.13 KB
/
fileManage.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "fileManage.h"
#include <iostream>
#include <fstream>
#include "constants.h"
#include <ctime>
void cargarArchivo(FILE *f, Combinacion matriz[][ROUNDS], int cantidadJugadores, char nombreJugadores[][20])
{
// ACA VA LA LOGICA DE CARGAR
int i = 0;
Info variable;
int id;
// obtener ultima jugada y revisar si existe
fseek(f, -sizeof(Info), SEEK_END);
// si existe la variable, tomar el id y sumarle 1
if (fread(&variable, sizeof(Info), 1, f) != NULL)
{
cout << "Ultima jugada: " << variable.id_jugada << endl;
id = variable.id_jugada + 1;
}
else
{
id = 1;
}
// Volver al inicio del archivo
fseek(f, 0, SEEK_SET);
int puntaje = 0;
time_t now = time(0);
tm *ltm = localtime(&now);
for (int x = 0; x < cantidadJugadores; x++)
{
strcpy(variable.nombre_jugador, nombreJugadores[x]);
// variable.puntaje = matriz[x][y].puntos;
variable.id_jugada = id;
for (int y = 0; y < ROUNDS; y++)
{
puntaje += matriz[x][y].puntos;
}
variable.puntaje = puntaje;
variable.fecha = (1900 + ltm->tm_year) * 10000 + (ltm->tm_mon + 1) * 100 + ltm->tm_mday;
fwrite(&variable, sizeof(Info), 1, f);
id++;
puntaje = 0;
}
}