You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

181 lines
4.9 KiB

#include "SAE.h"
int Ouverture(int tNoCarte[], int tage[], int tPointsCarte[], int tCarteActive[], int tNbActivitesJour[], int tDate[], int tmax)
{
int i = 0, j = 0;
int NoCarte, age, pointsCarte, CarteActive;
int Date, nbActivitesJour;
FILE *flot, *jour;
flot = fopen("membres.don", "r");
jour = fopen("ActivitesJour.don", "r");
if(flot == NULL)
{
printf("Pb d'ouverture du fichier membres.don\n");
return -1;
}
if(jour == NULL)
{
printf("Pb d'ouverture du fichier ActivitesJour.don\n");
return -1;
}
fscanf(flot, "%d%d%d%d%d%d%d", &NoCarte, &age, &pointsCarte, &CarteActive);
fscanf(jour, "%d%d", &Date, &nbActivitesJour);
while(!feof(flot))
{
if(i == tmax)
{
printf("Tableau plein\n");
fclose(flot);
return -1;
}
tNoCarte[i] = NoCarte;
tage[i] = age;
tPointsCarte[i] = pointsCarte;
tCarteActive[i] = CarteActive;
fscanf(flot, "%d%d%d%d", &NoCarte, &age, &pointsCarte, &CarteActive);
i++;
}
while(!feof(jour))
{
if(j == tmax)
{
printf("Tableau plein\n");
fclose(jour);
return -1;
}
tDate[j] = Date;
tNbActivitesJour[j] = nbActivitesJour;
fscanf(jour, "%d%d", &Date, &nbActivitesJour);
j++;
}
fclose(jour);
fclose(flot);
return i;
}
int Sauvegarde(int tNoCarte[], int tage[], int tPointsCarte[], int tCarteActive[], int tNbActivitesJour[], int tDate[], int nbelem)
{
int i, j;
FILE *flot, *jour;
flot = fopen("membres.don", "a");
jour = fopen("ActivitesJour.don", "a");
if(flot == NULL)
{
printf("Pb d'ouverture du fichier membres.don\n");
return -1;
}
if(jour == NULL)
{
printf("Pb d'ouverture du fichier ActivitesJour.don\n");
return -1;
}
for(i = 0; i < (nbelem-1); i++)
{
fprintf(flot, "\t%d\t%d\t\t%d\t\t%d\n", tNoCarte[i], tage[i], tPointsCarte[i], tCarteActive[i]);
}
for(j = 0; j < (nbelem-1); j++)
{
fprintf(jour, "%d\t\t%d\n", tDate[j], tNbActivitesJour[j]);
}
fclose(jour);
fclose(flot);
}
int ajoutPointsCarte(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbelem)
{
int i, NoCarte, pointsCarte, CarteActive;
printf("Entrez le numero de carte de l'adherent: ");
scanf("%d", &NoCarte);
for(i = 0; i < nbelem; i++)
{
if(NoCarte == tNoCarte[i])
{
printf("Entrez le nombre de points a ajouter: ");
scanf("%d", &pointsCarte);
tPointsCarte[i] += pointsCarte;
printf("Le nombre de points de l'adherent est maintenant de %d\n", tPointsCarte[i]);
if(tPointsCarte[i] >= 1000)
{
tCarteActive[i] = 1;
printf("La carte de l'adherent est maintenant active\n");
}
return 0;
}
}
printf("Le numero de carte n'existe pas\n");
return -1;
}
int rechercheEtCreation(int tNoCarte[], int nbelem)
{
int NoCarte, i;
for( i=0; i < nbelem; i++)
{
if((i + 1) != tNoCarte[i])
{
return i;
}
}
return i;
}
int CreationAdherents(int tNoCarte[], int tage[], int tPointsCarte[], int tCarteActive[], int nbelem)
{
int NoCarte, age, pointsCarte, CarteActive, pas;
char reponse;
printf("Donnez l'âge du client :\n");
scanf("%d", &age);
pas = rechercheEtCreation(tNoCarte, nbelem);
for(j=nbelem; j> pas; j--)
{
tNoCarte[j] = tNoCarte[j-1];
tage[j] = tage[j-1];
tPointsCarte[j] = tPointsCarte[j-1];
tCarteActive[j] = tCarteActive[j-1];
}
tNoCarte[pas] =
tMatieres[i]= matieres;
tCoeff[i] = coeff;
nbMatieres = nbMatieres + 1;
return nbMatieres;
tNoCarte[pas] = tNoCarte[pas] + 1;
tage[pas] = age;
tPointsCarte[pas] = 0;
tCarteActive[pas] = 0;
printf("Le numero de carte de l'adherent qui a %d ans est %d.\nLa carte n'est pas active car il n'y a pas de points dessus.\nVoulez-vous en ajouter ? (O / N)", tage[pas], tNoCarte[pas]);
scanf("%*c%c", &reponse);
if(reponse == 'O' || reponse == 'o')
{
printf("Entrez le nombre de points a ajouter: ");
scanf("%d", &pointsCarte);
if(pointsCarte > 0)
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte;
printf("Le nombre de points de l'adherent est maintenant de %d\nVotre carte est désormais", tPointsCarte[pas]);
}
nbelem = nbelem + 1;
}
/*
void pointsBonus()
{
}
int CreationAdherents(int tAdherents[], nbClients)
{
int NoCarte, nom, prenom, age, pointsCarte, CarteActive, nbActivitéesJour;
printf("Donnez le nom, le prénom, l'âge du client :\n");
scanf("%d%d%d", &nom, &prenom, &age);
pas = rechercheEtCreation(tAdherents, nbClients);
}
int FrequenceCentre()
{
}
*/