#include #include "fRox.h" //Fonction de chargement depuis le dossier client. Return 0 si dossier introuvable ou tableau plein, return i nombre d'éléments chargés int fchargement(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, int *tCActiv, int *tActivite, int *tPasseouPas,int *tPtsBought, int *tPtsBonus, char *tCat, int tmax) { int noC, age, carte, activite, passage, ptsA, ptsB, i=0; char prenom, nom, categorie; FILE *fe; fe = fopen ("donneeClient.don", "r"); if (fe == NULL) { printf("Le fichier est introuvable\n"); return 0; fscanf(fe,"%d%c%c%d%d%d%d%d%c", &noC, &nom, &prenom, &age, &carte, &activite, &passage, &ptsA, &ptsB, &categorie); while(!feof(fe)) { if (i == tmax) { printf("Les tableaux sont pleins"); return 0; } tNoClient[i] = noC; tNomClient[i] = nom; tPreClient[i] = prenom; tAge[i] = age; tCat[i] = categorie; tCActiv[i] = carte; tActivite[i] = activite; tPasseouPas[i] = passage; tPtsBought[i] = ptsA; tPtsBonus[i] = ptsB; i++; fscanf(fe,"%d%c%c%d%d%d%d%d%c", &noC, &nom, &prenom, &age, &carte, &activite, &passage, &ptsA, &ptsB, &categorie); } } fclose(fe); return i; } //Fonction recherche, (*coderet = 1 si trouvé, = 0 si pas trouvé.) (*rang = rang a laquel se trouve ou doit se trouver la valeur) void fRecherche(int *tNoClient, int n, int noClient, int *coderet, int *rang) { int i; for(i = 0; i < n; i++) { if(tNoClient[i] == noClient) { *coderet = 1; *rang = i; return; } if(tNoClient[i] > noClient) *rang = i; return; } } //Affichage D'UN client avec toutes ses données. void fAffichage1Client(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient ) { int i, coderet, rang, trouve, NonTrouve; fRecherche(tNoClient, n, noClient, &coderet, &rang); trouve = coderet; while (trouve == 0) { if(coderet == 0) { printf("Le numero client n'a pas été trouvé \n"); printf("Veuillez entrer a nouveau le N° Client ou taper -1 pour annuler\n"); scanf("%d", &NonTrouve); } if(NonTrouve==-1) return; else fRecherche(tNoClient, n, noClient, &coderet, &rang); trouve=coderet; } printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n"); printf("%d\t %c%*c \t %c%*c\t %d\t %c\n", tNoClient[rang], tNomClient[rang], tPreClient[rang], tAge[rang], tStatut[rang]); } //Affichage plusieurs client avec toutes les données int afficheTous(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient ) { int i; printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n"); for (int i = 0; i < n; ++i) { printf("%d\t %c%*c\t %c%*c\t %d\t %c%*c\n", tNoClient, tNomClient, tPreClient, tAge, tStatut); } }