//main commun
#include "hCommun.h"

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//LOLA

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 0;
}







////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ROXANE



//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<tlog ; i++)
    (if( tpasseoupas[i]==1 )
      nbentre += 1;)
  printf( "Le nombre d'entrée totale de la journée s'élève a : %d\n", nbentre)
  return nbentre;
}
 // fonction comptage activité
void cptAct(int *bad, int *muscu, int *foot, int *squa, int * zumba, int chx)
{
  if ( chx == 1)
    *bad += 1;
  if ( chx == 2)
    *muscu += 1;
  if ( chx == 3)
    *foot += 1;
  if ( chx == 4)
    *squa += 1;
  if ( chx == 5)
    *zumba += 1;
}


//Calcul et affiche le nombre d'entrée 
void affNbParAct(int *tacti, int tlog)
{
  int chx1, chx2, chx3, bad, muscu, foot, squa, zumba, totbad, totmuscu, totfoot, totsqua, totzumba;

  for( i=0; i<tlog ; i++)
    (chx1 = tacti[i]/100;
    chx2 = (tacti[i]%100)/10;
    chx3 = chx2%10;)
    if ( chx1 != 0 )
    cptAct( &bad, &muscu, &foot, &squa, &zumba, chx1);
      totbad = bad;
      totmuscu = muscu;
      totfoot = foot;
      totsqua = squa;
      totzumba = zumba;
    if ( chx2 != 0 )
    cptAct( &bad, &muscu, &foot, &squa, &zumba, chx2);
      totbad = bad + totbad;
      totmuscu = muscu + totmuscu;
      totfoot = foot + totfoot;
      totsqua = squa + totsqua;
      totzumba = zumba + totzumba;
    if ( chx3 != 0 )
    cptAct( &bad, &muscu, &foot, &squa, &zumba, chx3);
      totbad = bad + totbad;
      totmuscu = muscu + totmuscu;
      totfoot = foot + totfoot;
      totsqua = squa + totsqua;
      totzumba = zumba + totzumba;
    If ( chx1 == 0 && chx2 == 0 && chx3 == 0)
      (printf("Pas d'activité pour le moment")
      return;
      )

    printf("Le nombre d'entrée par activité est de\n");
    printf("Badminton\t Musculation\t Foot\t Squash\t Zumba\n");
    printf("%d\t %d\t %d\t %d\t %d\t", totbad, totmuscu, totfoot, totsqua, totzumba);

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//EVANN