From 92dfa81df4ce3300f4f0dbb59e7238b0a814e046 Mon Sep 17 00:00:00 2001 From: Roxane ROSSETTO Date: Fri, 28 Oct 2022 10:26:21 +0200 Subject: [PATCH] Fonctions chargement, recherche, affichage 1 client --- SAE algo/fRox.c | 88 +++++++++++++++++++++++++++++++++++++++++++++ SAE algo/fRox.h | 6 ++++ SAE algo/test | Bin 0 -> 16960 bytes SAE algo/testrox.c | 11 ++++++ 4 files changed, 105 insertions(+) create mode 100644 SAE algo/fRox.c create mode 100644 SAE algo/fRox.h create mode 100755 SAE algo/test create mode 100644 SAE algo/testrox.c diff --git a/SAE algo/fRox.c b/SAE algo/fRox.c new file mode 100644 index 0000000..34089b0 --- /dev/null +++ b/SAE algo/fRox.c @@ -0,0 +1,88 @@ +#include +#include "fRox.h" +#define TAILLE 500 + + +//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, char *tStatut, int tmax) +{ + int noC, age, i=0; + char prenom, nom, statut; + FILE *fe; + + fe = fopen ("donneClient.don", "r"); + if (fe == NULL) + { + printf("Le fichier est introuvable\n"); + return 0; + + fscanf(fe,"%d%c%c%d%c", &noC, &nom, &prenom, &age, &statut); + + 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; + tStatut[i] = statut; + i++; + fscanf(fe,"%d%c%c%d%c", &noC, &nom, &prenom, &age, &statut); + } + } + 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); + + + } + } + + printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n"); + +} diff --git a/SAE algo/fRox.h b/SAE algo/fRox.h new file mode 100644 index 0000000..9f70a21 --- /dev/null +++ b/SAE algo/fRox.h @@ -0,0 +1,6 @@ +#include +#define TAILLE 500 + +int fchargement(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int tmax); +void fRecherche(int *tNoClient, int n, int noClient, int *coderet, int *rang); +void fAffichage1Client(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient ); diff --git a/SAE algo/test b/SAE algo/test new file mode 100755 index 0000000000000000000000000000000000000000..ce5d9b1cfa1f95516d304a3e2d9a49c0bfe50aca GIT binary patch literal 16960 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 UtqIEe|7x>sLF+1KDG|kg0E6tPfB*mh literal 0 HcmV?d00001 diff --git a/SAE algo/testrox.c b/SAE algo/testrox.c new file mode 100644 index 0000000..cbc23ae --- /dev/null +++ b/SAE algo/testrox.c @@ -0,0 +1,11 @@ +#include +#include "fRox.h" +#define TAILLE 500 + +void main(void) +{ int *tNoClient, *tAge, toto; + char *tNomClient, *tPreClient, *tStatut; + + toto =fchargement(tNoClient, tNomClient, tPreClient, tAge, tStatut, 50); + printf("%d\n", toto); +} \ No newline at end of file