From 32e2ddaae5929a9f83309dac61588ea0074b9191 Mon Sep 17 00:00:00 2001 From: Lola CHALMIN Date: Fri, 28 Oct 2022 10:14:02 +0200 Subject: [PATCH] first push with elements lola --- sae.c | 45 ++++++++++++++++++++++++++++++ sae.h | 3 ++ testsae.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 sae.c create mode 100644 sae.h create mode 100644 testsae.c diff --git a/sae.c b/sae.c new file mode 100644 index 0000000..8c3130b --- /dev/null +++ b/sae.c @@ -0,0 +1,45 @@ +#include +#include +#include +#include "sae.h" + +char Card(void)//demande si client a la carte +{ + char bCard; + printf("Avez-vous votre numéro de carte adhérent avec vous ?(O/N)\n"); + scanf("%c", &bCard); + return bCard; +} + + + +void Name( char *nom, char *prenom)//demande nom et prénom +{ + printf("Bienvenue ! Quel est votre nom ?\n"); + scanf("%s%*c", nom); + printf("Et votre prénom ?\n"); + scanf("%s%*c", prenom); +} + + + +int Fillvar(FILE *f, int *numAd, char *fnom, char *fprenom, int *age, int *state, int *acti, int *passeoupas, int *ptsbought, int *ptsbonus, char *categ)//lis le fichier et met les valeurs dans les variables +{ + if (feof(f)) + { + return -1; + } + fscanf(f, "%6d\n", 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); +} + + + diff --git a/sae.h b/sae.h new file mode 100644 index 0000000..83b688c --- /dev/null +++ b/sae.h @@ -0,0 +1,3 @@ +void Name( char *nom, char *prenom); +char Card(void); +int Fillvar(FILE *f, int *numAd, char *fnom, char *fprenom, int *age, int *state, int *acti, int *passeoupas, int *ptsbought, int *ptsbonus, char *categ); \ No newline at end of file diff --git a/testsae.c b/testsae.c new file mode 100644 index 0000000..efa6978 --- /dev/null +++ b/testsae.c @@ -0,0 +1,82 @@ +#include +#include +#include "sae.h" + +void main(void) +{ + char nom[15], prenom[15], fnom[15], fprenom[15], bCard, member, categ, recharge; + int erreur, numAd, age, state, acti, passeoupas, ptsbought,ptsbonus, numCard, avoiravecevann, testnom, testpnom; + + FILE *f; + f = fopen("donneeClient.don","r"); + if (f==NULL){printf("Erreur ouverture fichier clients"); fclose(f); return;} + + Name(nom, prenom); + printf("Bonjour %s! Avez-vous déjà un compte chez nous ou souhaitez-vous vous enregistrer ? Créer (C) ou Membre (M)\n", prenom); + scanf("%c%*c", &member); + bCard = Card(); + erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ); + + if (member == 'C')//si client veut créer nouveau compte + { + /*creationCompte(int avoiravecevann);*/ + avoiravecevann = 2; + } + + + if (bCard == 'N')//si client n'a pas la carte + { + + puts("Ok nous allons donc rechercher votre numéro de carte!"); + + testnom = strcmp(fnom, nom);//comparer nom du fichier et nom donné + testpnom = strcmp(fprenom, prenom);//comparer prénom du fichier et prénom donné + + + + + while (testnom!=0 && testpnom!=0 && erreur != -1)// tant que les 2 différents + { + erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);//rescan + + testnom = strcmp(fnom, nom);//recomparaison nom + testpnom = strcmp(fprenom, prenom);//recomparaison prénom + } + + if(erreur == -1) + { + printf("Il semble que vous n'aviez pas de compte chez nous...");//si le client n'est au final pas enregistré + return; + } + printf("Vous disposez de %d points, souhaitez-vous recharger votre carte ? (O/N) \n", ptsbought);//infos sur ses points + recharge ? + scanf("%c%*c", &recharge); + } + + if (bCard == 'O')//si client a la carte + { + printf("Quel est donc le numéro ?\n"); + scanf("%d%*c", &numCard); + while (numCard < 100000 || numCard > 999999)//vérifier numéro carte correct (6 chiffres) + { + printf("Veuillez saisir un numéro de carte correct\n"); + scanf("%d%*c", &numCard); + } + + + erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);//scanner le document et récupérer les variables + + while (numCard != numAd && erreur == 0)//tant que numéro de carte donné différent de celui du fichier + { + erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);//rescan + } + + printf("Vous disposez de %d points, souhaitez-vous recharger votre carte ? (O/N) \n", ptsbought);//nombre de points qu'il a + recharger ? + scanf("%c", &recharge); + + //Fillvar(&numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ); + + + + return; + } +} \ No newline at end of file