#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]); }