diff --git a/src/search.c b/src/search.c new file mode 100644 index 0000000..dbac0c2 --- /dev/null +++ b/src/search.c @@ -0,0 +1,35 @@ +/** + * @file search.c + * @brief Fonctions de recherche de client et d'article. + * @version 1.0 + * @date 2023-10-30 + * @warning Ne pas utiliser les fonctions de recherche si les tableaux ne sont pas triés. +*/ + +#include "main.h" + +/** + * @brief Recherche d'une valeur dans un tableau cible (trié par ordre croissant). + * @param targetTab: tableau cible + * @param valSearched: valeur recherchée + * @param tLog: taille logique du tableau cible + * @param found: pointeur sur un entier qui indique si la valeur a été trouvée ou non + * @return index de la valeur recherchée dans le tableau cible ou celle d'insertion si non trouvée +*/ +int searchClient(int targetTab[], int valSearched, int tLog, int *found) +{ + for(int i=0; i < tLog; i++) + { + if(targetTab[i] == valSearched) + { + *found = 1; + return i; + } + + if(targetTab[i] > valSearched) + { + *found = 0; + return i; + } + } +} \ No newline at end of file diff --git a/src/traitement.c b/src/traitement.c index 0bd4815..04a8997 100644 --- a/src/traitement.c +++ b/src/traitement.c @@ -5,29 +5,6 @@ #include "main.h" - -int recherche(int val, int tab[], int tlog) // Recherche de l'index d'un id (de client ou d'article) -{ - /* - Recherche d'une valeur dans un tableau - - +param val: valeur à rechercher dans le tableau - +param tab: tableau dans lequel rechercher - +param tlog: taille logique du tableau tab - - +return: index de la valeur dans le tableau - - +var i: compteur pour trouver l'index de la valeur - */ - int i; - for (i=0; i