140 lines
No EOL
3 KiB
C
140 lines
No EOL
3 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include "conf.h"
|
|
|
|
void readConfs(ptConf confChain)
|
|
{
|
|
FILE *file = fopen("./data/confs", "r");
|
|
char line[100];
|
|
char *token;
|
|
|
|
if (file == NULL)
|
|
{
|
|
printf("ça marche pas.");
|
|
return;
|
|
}
|
|
|
|
while (fgets(line, sizeof(line), file))
|
|
{
|
|
int id = atoi(strtok(line, ","));
|
|
char *title = strtok(NULL, ",");
|
|
char *speaker = strtok(NULL, ",");
|
|
int day = atoi(strtok(NULL, ","));
|
|
int month = atoi(strtok(NULL, ","));
|
|
int year = atoi(strtok(NULL, ","));
|
|
|
|
addConf(confChain, id, title, speaker, day, month, year);
|
|
}
|
|
|
|
fclose(file);
|
|
}
|
|
|
|
void readListeners(ptListener listenerChain)
|
|
{
|
|
FILE *file = fopen("./data/listeners", "r");
|
|
char line[100];
|
|
char *token;
|
|
|
|
if (file == NULL)
|
|
{
|
|
printf("ça marche pas.");
|
|
return;
|
|
}
|
|
|
|
while (fgets(line, sizeof(line), file))
|
|
{
|
|
int id = atoi(strtok(line, ","));
|
|
char *name = strtok(NULL, ",");
|
|
int day = atoi(strtok(NULL, ","));
|
|
int month = atoi(strtok(NULL, ","));
|
|
addListener(listenerChain, id, name, day, month);
|
|
}
|
|
|
|
fclose(file);
|
|
}
|
|
|
|
void readRelations(ptConf confChain, ptListener listenerChain)
|
|
{
|
|
FILE *file = fopen("./data/relations", "r");
|
|
char line[100];
|
|
char *token1;
|
|
char *token2;
|
|
|
|
if (file == NULL)
|
|
{
|
|
printf("ça marche pas.");
|
|
return;
|
|
}
|
|
|
|
while (fgets(line, sizeof(line), file))
|
|
{
|
|
int confId = atoi(strtok(line, ":"));
|
|
|
|
while ((token1 = strtok(NULL, ";")) != NULL && (token2 = strtok(NULL, ",")) != NULL)
|
|
{
|
|
participateToConf(confChain, listenerChain, confId, atoi(token1), atoi(token2));
|
|
}
|
|
}
|
|
|
|
fclose(file);
|
|
}
|
|
|
|
void saveConf(ptConf confChain)
|
|
{
|
|
FILE *file = fopen("./data/confs", "w");
|
|
ptConf px = confChain;
|
|
while (px->next != NULL)
|
|
{
|
|
fprintf(file, "%d,%s,%s,%d,%d,%d\n", px->id, px->title, px->speaker, px->day, px->month, px->year);
|
|
px = px->next;
|
|
}
|
|
fclose(file);
|
|
}
|
|
|
|
void saveListeners(ptListener listenerChain)
|
|
{
|
|
FILE *file = fopen("./data/listeners", "w");
|
|
ptListener px = listenerChain;
|
|
while (px->next != NULL)
|
|
{
|
|
fprintf(file, "%d,%s,%d,%d\n", px->id, px->name, px->age, px->level);
|
|
px = px->next;
|
|
}
|
|
fclose(file);
|
|
}
|
|
|
|
void saveRelations(ptConf confChain)
|
|
{
|
|
FILE *file = fopen("./data/relations", "w");
|
|
ptConf px = confChain;
|
|
ptListenerList py;
|
|
printf("test");
|
|
while (px->next != NULL)
|
|
{
|
|
printf("test");
|
|
py = px->listeners->next;
|
|
|
|
if (py->next != NULL)
|
|
{
|
|
fprintf(file, "%d:", px->id);
|
|
}
|
|
|
|
while (py->next != NULL)
|
|
{
|
|
fprintf(file, "%d;%d", py->listener->id, py->grade);
|
|
if (py->next->next != NULL)
|
|
{
|
|
fprintf(file, ",");
|
|
}
|
|
else
|
|
{
|
|
fprintf(file, "\n");
|
|
}
|
|
py = py->next;
|
|
}
|
|
|
|
px = px->next;
|
|
}
|
|
fclose(file);
|
|
} |