#include <stdio.h> 
#include <stdlib.h> 
#include <time.h>
#include <stdbool.h>
#include <string.h>
#include <ctype.h>

#include "motus.h" 

// Cette fonction modifie le mot en le capitalisant au fur et à mesure
// Elle vous est donnée.
void normaliseMot(char mot[])
{
  int index= 0;
  while (mot[index] != '\0'){
    mot[index]=toupper(mot[index]);
    index++;
  }
}
int chercheMot(char mot[],int nbMots){
  // TODO 2 : V1 : recherche simple
  // pour la comparaison de chaîne on peut utiliser strncmp.
  return 1;
}

/* fonction de chargement des mots du fichier dans le dictionnaire */ 
// La fonction est presque terminée, il n'y a plus qu'à ajouter les mots de 6 lettres dans le dictionnaire.
int chargeMots(char chemin[])
{
  FILE *f = fopen(chemin,"r");
  if (f==NULL) return -1;
  char oneline[32]; // permet de stocker une ligne sans s'embeter
  int cpt=0;
  
  while (! feof(f)){
    fscanf(f, "%[^\n] ", oneline);
    // attention le \n est contenu dans le mot, le mot a donc une taille +1
    // pas besoin de estMotValide, juste capitalize.
    if (strlen(oneline)==MAXLETTRE+1){
      normaliseMot(oneline);
      printf("On va ajouter ce mot : %s\n",oneline);

      // TODO EN PREMIER
      // copie du mot dans la structure de données interne dictionnaire
      // à la ligne numéro cpt. (à ce stade on enleve le \n et le \0)
      // (indice : utiliser strncpy ou copie 1 à 1
      // fin TODO
      cpt++;
    }
  }
  fclose(f);
  
  return cpt;
}


int lireMot(char mot[])
{
  // Indication: utiliser fgets(destination, nbcarsà lire+1, stdin).
  char oneline[MAXLEN+1]; 
  printf("donnez moi un mot de 6 lettres\n");
  // TODO : implémenter
  return 0;
}


int verifieMot(char proposition[], char reference[])
{
  // étape 1 : le mot doit exister dans le dictionnaire.
  //TODO : implémenter
  // étape 2 : mise à jour du tableau statut pour donner les infos
  // TODO : environ 30 lignes
  return 0;
}


void afficheMot(char proposition[])
{
  char ch[MAXLEN];

  // TODO : environ 5 lignes
 
}

void imprimeDico(int nblignes){
  for (int i = 0; i < nblignes; i++){
    printf("dico[%i] contient %s\n",i, dictionnaire[i]);
  }
}
