You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.9 KiB
146 lines
3.9 KiB
#include <stdio.h>
|
|
#include <string.h>
|
|
#include "saelo.h"
|
|
|
|
void main(void)
|
|
{
|
|
char nom[15], prenom[15], fnom[15], fprenom[15], bCard, member, categ, recharge, acti1[15], acti2[15], acti3[15];
|
|
int erreur, numAd, age, state, acti, passeoupas, ptsbought,ptsbonus, numCard, avoiravecevann, testnom, testpnom, found = 0, ptrecharge, nbacti;
|
|
|
|
FILE *f;
|
|
f = fopen("donneeClient.don","r");
|
|
if (f==NULL){printf("Erreur ouverture fichier clients"); fclose(f); return;}
|
|
|
|
|
|
|
|
|
|
//accueil
|
|
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);
|
|
|
|
|
|
|
|
|
|
//si nouveau client / créer nouveau compte
|
|
if (member == 'C')
|
|
{
|
|
/*creationCompte(int avoiravecevann);*/
|
|
avoiravecevann = 2;
|
|
}
|
|
|
|
|
|
|
|
|
|
//demander nom & prénom
|
|
Name(nom, prenom);
|
|
|
|
|
|
//si client n'a pas son numéro de carte
|
|
if (bCard == 'N')
|
|
{
|
|
|
|
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 (erreur != -1 && found == 0)// tant que pas d'erreur ou pas trouvé
|
|
{
|
|
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 || found == 0)//si pas trouvé ou fin de fichier
|
|
{
|
|
printf("Recherche non aboutie : numéro non enregistré...\n");//si le client n'est au final pas enregistré
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
if (found == 1)//si trouvé
|
|
{
|
|
if (passeoupas == 1)//si client déjà passé
|
|
{
|
|
printf("Déjà passé, nombre possible de passage dans une journée : 1...");
|
|
return;
|
|
}
|
|
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 (recharge == 'O')//si client souhaite recharger carte
|
|
{
|
|
printf("De combien de dizaine de points souhaitez vous recharger ?\n");
|
|
scanf("%d%*c", &ptrecharge);
|
|
printf("%d", ptrecharge);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bCard == 'O')//si client a la carte
|
|
{
|
|
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)
|
|
{
|
|
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
|
|
}
|
|
|
|
if (passeoupas == 1)
|
|
{
|
|
printf("Déjà passé, nombre possible de passage dans une journée : 1...");
|
|
return;
|
|
}
|
|
|
|
printf("La carte dispose de %d points, rechargement de carte souhaité ? (O/N) \n", ptsbought);//nombre de points qu'il a + recharger ou non
|
|
scanf("%c", &recharge);
|
|
|
|
}
|
|
|
|
printf("Combien d'activités souhaitées aujourd'hui ? (max 3)\n");
|
|
scanf("%d%*c", &nbacti);
|
|
while (nbacti > 3 || nbactiv <= 0)
|
|
{
|
|
printf("Nombre d'activités incorrect, veuillez re-saisir (max 3)\n");
|
|
scanf("%d%*c", &nbacti);
|
|
}
|
|
if (nbacti == 1)
|
|
{
|
|
printf("Quelle est-elle ?(zumba/badminton/musculation/football/squash)\n");
|
|
scanf("%s", acti1);
|
|
while(strcmp(acti1, "zumba") != 0 || strcmp(acti1, "badminton") != 0 || strcmp(acti1, "musculation") != 0 || strcmp(acti1, "squash") != 0 || strcmp(acti1, "football") != 0)
|
|
{
|
|
printf("Veuillez saisir une activité correcte \n");
|
|
scanf("%s", acti1);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return;
|
|
}
|