From a8ccdf8377ef45095c4b2cef19e11113211a5c70 Mon Sep 17 00:00:00 2001 From: lolax Date: Wed, 2 Nov 2022 13:15:13 +0100 Subject: [PATCH] manage some part --- saelo.c | 29 ++++++++++++++++++++++++++++- saelo.h | 3 ++- testsaelo.c | 37 ++++++++++++++++++++++--------------- 3 files changed, 52 insertions(+), 17 deletions(-) diff --git a/saelo.c b/saelo.c index d30f339..b5e32eb 100644 --- a/saelo.c +++ b/saelo.c @@ -15,7 +15,7 @@ char Card(void)//demande si client a la carte void Name( char *nom, char *prenom)//demande nom et prénom { - printf("Bienvenue ! Quel est votre nom ?\n"); + printf("Dans ce cas, quel est votre nom ?\n"); scanf("%s%*c", nom); printf("Et votre prénom ?\n"); scanf("%s%*c", prenom); @@ -41,5 +41,32 @@ int Fillvar(FILE *f, int *numAd, char *fnom, char *fprenom, int *age, int *state fscanf(f, "%c", categ); } +/* +void ifnoCard(int *testnom, int *testpnom, int *erreur, char *fnom, char *fprenom, char *nom, char *prenom, FILE *f, int numAd, int age, int state, int acti, int passeoupas, int ptsbought, int ptsbonus, char categ) +{ + + puts("Recherche de la 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("Recherche non aboutie : numéro non enregistré...\n");//si le client n'est au final pas enregistré + return; + } +} +*/ diff --git a/saelo.h b/saelo.h index 83b688c..c26c56b 100644 --- a/saelo.h +++ b/saelo.h @@ -1,3 +1,4 @@ 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 +int Fillvar(FILE *f, int *numAd, char *fnom, char *fprenom, int *age, int *state, int *acti, int *passeoupas, int *ptsbought, int *ptsbonus, char *categ); +void ifnoCard(int *testnom, int *testpnom, int *erreur, char *fnom, char *fprenom, char *nom, char *prenom, FILE *f, int *numAd, int age, int state, int acti, int passeoupas, int ptsbought, int ptsbonus, char categ); diff --git a/testsaelo.c b/testsaelo.c index d4cb77c..90bea7c 100644 --- a/testsaelo.c +++ b/testsaelo.c @@ -5,14 +5,14 @@ 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; + int erreur, numAd, age, state, acti, passeoupas, ptsbought,ptsbonus, numCard, avoiravecevann, testnom, testpnom, found = 0; 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); + + printf("Bienvenue ! Déjà membre ou création de compte ? Créer (C) ou Membre (M)\n"); scanf("%c%*c", &member); bCard = Card(); erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ); @@ -22,39 +22,46 @@ void main(void) /*creationCompte(int avoiravecevann);*/ avoiravecevann = 2; } - + Name(nom, prenom); if (bCard == 'N')//si client n'a pas la carte { - puts("Ok nous allons donc rechercher votre numéro de carte!"); + puts("Recherche de la 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 + while (erreur != -1 && found == 0)// tant que les 2 différents { + if (testnom == 0) + { + if (testpnom == 0) + found = 1; + break; + } + 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) + if(erreur == -1 || found == 0) { - printf("Il semble que vous n'aviez pas de compte chez nous...");//si le client n'est au final pas enregistré + printf("Recherche non aboutie : numéro non enregistré...\n");//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 (found == 1) + { + printf("La carte dispose de %d points, rechargement de carte souhaité ? (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"); + printf("Veuillez entrer numéro de carte ?\n"); scanf("%d%*c", &numCard); while (numCard < 100000 || numCard > 999999)//vérifier numéro carte correct (6 chiffres) { @@ -70,7 +77,7 @@ void main(void) 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 ? + printf("La carte dispose de %d points, rechargement de carte souhaité ? (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);