|
|
#include "fonction.h"
|
|
|
|
|
|
int chargementAdherent(int tabAdherent[], int tphys)
|
|
|
{
|
|
|
int adhe, i =0;
|
|
|
FILE*flot;
|
|
|
flot = fopen("adherent.txt","r");
|
|
|
fscanf(flot,"%d",&adhe);
|
|
|
while(!feof(flot))
|
|
|
{
|
|
|
if(i >= tphys)
|
|
|
{
|
|
|
printf("tableau plein\n");
|
|
|
fclose(flot);
|
|
|
return i;
|
|
|
}
|
|
|
ajouter(tabAdherent,i,adhe,tphys);
|
|
|
i = i + 1;
|
|
|
fscanf(flot,"%d",&adhe);
|
|
|
}
|
|
|
fclose(flot);
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
int recherche(int tabTri[], int val, int nb, int *trouve) {
|
|
|
int i;
|
|
|
*trouve = 0;
|
|
|
for(i = 0 ; i < nb ; i++) {
|
|
|
if (val == tabTri[i]) {
|
|
|
*trouve = 1;
|
|
|
return i;
|
|
|
}
|
|
|
if (val < tabTri[i]) return i;
|
|
|
}
|
|
|
return nb;
|
|
|
}
|
|
|
|
|
|
|
|
|
void decalageDroite(int tabTri[], int nb, int pos) {
|
|
|
int j;
|
|
|
for (j = nb ; j > pos ; j--) tabTri[j] = tabTri[j-1];
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void decalageGauche(int tabTri[], int nb, int pos) {
|
|
|
int j;
|
|
|
for(j = pos ; j < nb-1 ; j++) tabTri[j] = tabTri[j+1];
|
|
|
}
|
|
|
|
|
|
|
|
|
int ajouter(int tab[], int nb, int val, int tphys) {
|
|
|
int pos, trouve;
|
|
|
if (nb == tphys) {
|
|
|
printf("Impossible d'insérer un nouvel élément, le tableau est plein !\n");
|
|
|
return nb;
|
|
|
}
|
|
|
pos = recherche(tab, val, nb, &trouve);
|
|
|
if (trouve == 1) {
|
|
|
printf("Valeur déjà présente dans le tableau !\n");
|
|
|
return nb;
|
|
|
}
|
|
|
decalageDroite(tab, nb, pos);
|
|
|
tab[pos] = val;
|
|
|
nb += 1;
|
|
|
return nb;
|
|
|
}
|
|
|
|
|
|
|
|
|
int suppression(int tab[], int nb, int val) {
|
|
|
int pos, trouve;
|
|
|
if (nb == 0) {
|
|
|
printf("Aucun élément à supprimer dans le tableau !\n");
|
|
|
return nb;
|
|
|
}
|
|
|
pos = recherche(tab, val, nb, &trouve);
|
|
|
decalageGauche(tab, nb, pos);
|
|
|
nb -= 1;
|
|
|
return nb;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
void affichageInfo(int tabNumCarte[], int tabPoint[], int carte[], int jour[], int mois[], int annee[],int taille)
|
|
|
{
|
|
|
int i, idnum, trouve;
|
|
|
printf("Votre Numéro de Carte d'Adhérent :");
|
|
|
scanf("%d", &idnum);
|
|
|
printf("Num Carte \t Points \t Date \n");
|
|
|
i = recherche(tabNumCarte, idnum, taille, &trouve);
|
|
|
if (trouve == 0) printf("numéro de carte %d n'est pas attribué.\n", idnum);
|
|
|
else {
|
|
|
printf("Num Carte \t Points \t Etat Carte \t Date \n");
|
|
|
if (carte[i] == 0)
|
|
|
printf("%d \t %d \t perdu \t %d/%d/%d \n", tabNumCarte[i],tabPoint[i], jour[i], mois[i], annee[i]);
|
|
|
if (carte[i] == 1)
|
|
|
printf("%d \t %d \t actif \t %d/%d/%d \n", tabNumCarte[i],tabPoint[i], jour[i], mois[i], annee[i]);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void affichageTous(int tabNumCarte[], int tabPoint[], int carte[], int jour[], int mois[], int annee[],int taille)
|
|
|
{
|
|
|
int i;
|
|
|
printf("Num Carte \t Points \t Date \n");
|
|
|
for (i = 0; i < taille; i++)
|
|
|
{
|
|
|
if (carte[i] == 0)
|
|
|
printf("%d \t %d \t perdu \t %d/%d/%d \n", tabNumCarte[i],tabPoint[i], jour[i], mois[i], annee[i]);
|
|
|
if (carte[i] == 1)
|
|
|
printf("%d \t %d \t actif \t %d/%d/%d \n", tabNumCarte[i],tabPoint[i], jour[i], mois[i], annee[i]);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
void affichageTest(int tabAdhe[], int nb) {
|
|
|
int i;
|
|
|
printf("Numéro de carte\n");
|
|
|
for (i = 0 ; i < nb ; i++) {
|
|
|
printf("%d\n",tabAdhe[i]);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
int chargementActivite(int tabPoint[],int tabNbEntree[], int tphys)
|
|
|
{
|
|
|
int num, point, nbEntree, i =0;
|
|
|
FILE*flot;
|
|
|
flot = fopen("activite.txt","r");
|
|
|
fscanf(flot,"%d %d %d",&num, &point, &nbEntree);
|
|
|
while(!feof(flot))
|
|
|
{
|
|
|
if(i < tphys)
|
|
|
{
|
|
|
printf("tableau plein\n");
|
|
|
fclose(flot);
|
|
|
return i;
|
|
|
}
|
|
|
tabPoint[num] = point;
|
|
|
tabNbEntree[num] = nbEntree;
|
|
|
i = i + 1;
|
|
|
fscanf(flot,"%d %d %d",&num, &point, &nbEntree);
|
|
|
}
|
|
|
fclose(flot);
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
void afficheNbEntreAct(int tabNbEntree[], int tabPoint[], int tphys)
|
|
|
{
|
|
|
int num;
|
|
|
printf("numero d’activité :");
|
|
|
scanf("%d",&num);
|
|
|
if (tabPoint[num] == 0 && tabNbEntree[num] == 0)
|
|
|
printf("Activité inexistante\n");
|
|
|
else
|
|
|
printf("Nombre d’entrée : %d", tabNbEntree[num]);
|
|
|
|
|
|
|
|
|
}
|