#include #include "fRox.h" #include int Fillvar(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int tmax)//lis le fichier et met les valeurs dans les tableaux { FILE *f; f = fopen("donneeClient.don", "r"); if (f == NULL) { printf("Problème d'ouverture du fichier Clients..."); return -1; } int i = 0; int numAd, age, state, acti, passeoupas, ptsbought, ptsbonus; char categ, fnom[15], fprenom[15]; fscanf(f, "%6d", &numAd); fscanf(f, "%s", fnom); fscanf(f, "%s", fprenom); fscanf(f, "%2d", &age); fscanf(f, "%d", &state); fscanf(f, "%d", &acti); fscanf(f, "%d", &passeoupas); fscanf(f, "%2d", &ptsbought); fscanf(f, "%2d%*c", &ptsbonus); fscanf(f, "%c", &categ); while (!feof(f)) { if (i == tmax) { printf("Problème de gestion: trop de clients enregistrés à ce jour"); return -1; } tAd[i] = numAd; strcpy(tnom[i], fnom); strcpy(tpnom[i], fprenom); tage[i] = age; tstate[i] = state; tacti[i] = acti; tpasseoupas[i] = passeoupas; tptsbought[i] = ptsbought; tptsbonus[i] = ptsbonus; tcateg[i] = categ; i++; fscanf(f, "%6d", &numAd); fscanf(f, "%s", fnom); fscanf(f, "%s", fprenom); fscanf(f, "%2d", &age); fscanf(f, "%d", &state); fscanf(f, "%d", &acti); fscanf(f, "%d", &passeoupas); fscanf(f, "%2d", &ptsbought); fscanf(f, "%2d%*c", &ptsbonus); fscanf(f, "%c", &categ); } fclose(f); 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 *tAd, int n, int noClient, int *coderet, int *rang) { int i; for(i = 0; i < n; i++) { if(tAd[i] == noClient) { *coderet = 1; *rang = i; return; } if(tAd[i] > noClient) *rang = i; return; } } //Affichage D'UN client avec toutes ses données. void fAffichage1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int n, int noClient ) { int i, coderet, rang, trouve, NonTrouve; fRecherche(tAd, 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(tAd, n, noClient, &coderet, &rang); trouve=coderet; } printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n"); printf("%d\t %s \t %S\t %d\t %S\n", tAd[rang], tnom[rang], tpnom[rang], tage[rang], tstate[rang]); } //Affichage plusieurs client avec toutes les données int afficheTous(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, 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 %s\t %s\t %d\t %s\n", tAd, tnom, tpnom, tage, tstate); } return i; } // calcul du nombre d'entree par jour et l'affiche int affNbmEntree( int *tpasseoupas, int tlog) { int i, nbentre; for( i=0 ; i