Création d'un CDataframe sous forme de liste doublement chainées contenant des colonnes dans chaque maillons.
Ce CDataframe peut contenir des colonnes de tous les types possibles avec comme contrainte un seul type par colonne.
On a également implementé des fonctions avancées permettant la manipulation des colonnes.
- Lancer le fichier main.c et suivez les instructions
- Lien vers le projet : https://github.com/Marc35/CDataframe_BUCLON_DURIAUD--GrpA
-
-
create_column :
- Appellation : create_column(ENUM_TYPE type, *titre)
- Description : Permet de créer une colonne, tout en configurant les valeurs qu'elles contriendra ainsi que son titre.
- Paramètre :
- Type ENUM_TYPE contenant le type de valeur qui seront contenues dans la colonne (int, char, double ... )
- Un pointeur de type char pointant sur le titre à associer à la colonne créée
- Retourne : Un pointeur sur la colonne créée par la fonction avec les attribus voulus
-
insert_value :
- Appellation : insert_value(*colonne, *valeur, position)
- Description : Permet d'ajouter une valeur donné en paramètre à une colonne donnée en paramètre, et ceci à l'indice voulu également donné en paramètre
- Paramètre :
- Le pointeur sur la colonne dont on veut ajouter une valeur
- Un pointeur de type void pointant la valeur à ajouter dans la colonne
- L'indice auquel on veut ajouter la valeur dans la colonne. Mettre '-1' permet d'ajouter la valeur directement à la fin
- Retourne : Rien
-
delete_column :
- Appellation : delete_column(**colonne)
- Description : Permet de supprimer une colonne en libérant toute la mémoire prise par celle-ci
- Paramètre : 1. Un double pointeur sur la colonne à supprimer et sur l'espace à libérer
- Retourne : Rien
-
convert_value :
- Appellation : convert_value(*colonne, entier_positif, *variable_à_remplir, taille_max, *valeur_à_convertir)
- Description : Permet de convertir en une chaine de caractère n'importe quelle donnée de n'importe quelle type (pratique pour l'affichage de colonne). La donnée à convertir peut-être donnée soit dans une colonne à un indice donnée soit directement avec le pointeur *valeur_à_convertir
- Paramètre :
- Pointeur sur la colonne dont récupérer la valeur à convertir. Si ce pointeur vaut NULL, la fonction convertis la donnée donnée en paramètre 5
- Indice positif de la valeur à récupérer dans la colonne et à convertir en str.
- Pointeur sur la variable de type char ou la valeur à convertir va se retrouver.
- Taille maximum que peut prendre la valeur à convertir. (en fonction de la place alloué à la variable précédente)
- Pointeur sur n'importe quelle valeur qui est convertie si le premier pramètre vaut NULL
- Retourne : Rien
-
print_col :
- Appellation : print_col(*colonne)
- Description : Permet d'afficher l'entièreté des valeurs d'une colonne, avec les indices des valeurs et le nom de la colonne
- Paramètre : 1. Pointeur sur la colonne à afficher
- Retourne : Rien
-
nb_occ :
- Appellation : nb_occ(*colonne, *valeur_à_rechercher, is_str)
- Description : Permet de retourner le nombre d'occurences d'une valeur de n'importe quelle type dans n'importe quelle colonne, donnée dans l'appel de la fonction. Le paramètre is_str sert pour d'autre fonctions internes utilisant cette fonction.
- Paramètre :
- Pointeur sur la colonne à étudier
- Pointeur sur la valeur à rechercher dans la colonne
- Donne si la valeur à rechercher est un string. Sert principalement pour d'autres fonctions.
- Retourne : Rien
-
scearch_value :
- Appellation : scearch_value(*colonne, postion_valeur)
- Description : Permet d'aller chercher la valeur présente à une position donnée dans la colonne passée en paramètre. La valeur est directement convertie sous forme de str, et la fonction renvoie l'adresse de la valeur convertir
- Paramètre : 1. Pointeur de la colonne ou aller chercher une valeur. 2. Entier positif donnant l'indice de la valeur à aller chercher.
- Retourne : Un pointeur sur une donnée de type char.
-
nb_supp_val :
- Appellation : nb_supp_val(*colonne, *valeur_à_comparer, is_str)
- Description : Fonction retournant le nombre de valeurs suppérieurs à une autre dans une colonne. Compare les valeurs en les convertissant sous forme de str.
- Paramètre :
- Pointeur sur la colonne à étudier.
- Pointeur sur la valeur à comparer dans la colonne
- Donne si la valeur à rechercher est un string. Sert principalement pour d'autres fonctions.
- Retourne : Le nombre de valeurs supérieurs à la valeur donnée en paramètre dans la colonne donnée également en paramètre.
-
nb_inf_val :
- Appellation : nb_inf_val(*colonne, *valeur_à_comparer, is_str)
- Description : Fonction retournant le nombre de valeurs inféieurs à une autre dans une colonne. Compare les valeurs en les convertissant sous forme de str.
- Paramètre :
- Pointeur sur la colonne à étudier.
- Pointeur sur la valeur à comparer dans la colonne
- Donne si la valeur à rechercher est un string. Sert principalement pour d'autres fonctions.
- Retourne : Le nombre de valeurs inféieurs à la valeur donnée en paramètre dans la colonne donnée également en paramètre.
-
suppr_val_col :
- Appellation : suppr_val_col(*colonne, position)
- Description : Permet de suprimer une valeur dans une colonne avec son indice (ré-allout l'espace et diminue la colonne d'1)
- Paramètre :
- Pointeur sur la colonne sur laquelle supprimer une valeur
- Indice de la valeur à supprimer
- Retourne : Retourne 1 si la valeurs à bien réussie à être supprimé, 0 sinon (si l'indice ne possède pas de valeur)
-
-
- Fonctionalité n°1 :
- Appellation : NonImportant()
- Description : Permet de lister tous les mots non importants soit les mots dont le TFIDF est de 0
- Paramètre : Rien
- Retourne : Une liste des mots non importants
- Fonctionalité n°1 :
-
-> Pour implémenter les fonctions du CDataFrame, nous avons utilisé toutes les fonction déclarés dans liste.h, et données dans la consigne du projet.
-
create_cdataframe :
- Appellation : create_cdataframe(ENUM_TYPE *type, nb_colonnes)
- Description : Retourne un pointeur sur un CDataFrame personnalisé par l'utilisateur (nb de colonne, position, noms des colonnes, types et valeurs ...)
- Paramètre :
- Pointeur sur le type stocké dans les premières colonnes créés dans le CDataFrame
- Nombre de colonne à créer pour initialiser le CDataFrame, basé sur le type demande ci-dessus
- Retourne : Un pointeur sur le CDataFrame créé par l'utilisateur.
-
insert_col_cdataframe :
- Appellation : insert_col_cdataframe(*CDataFrame, ENUM_TYPE type, *titre, position_colonne)
- Description : Permet de créer et insérer une colonne dans un CDataFrame à un indice donné
- Paramètre :
- Pointeur sur le CDataFrame auquel ajouter une colonne
- Type des valeurs à stocker dans la nouvelle colonne créée
- Titre de la nouvelle colonne à ajouter dans le CDataFrame
- Position dans le CDataFrame auquelle ajouter la nouvelle colonne
- Retourne : Rien
-
delete_cdataframe :
- Appellation : delete_cdataframe(** CDataFrame)
- Description : Permet de supprimer un CDataframe, tout en le désalouant intégralement ( colonne par colonne, maillon par maillon...)
- Paramètre :
- Double pointeur du CDataFrame à supprimer
- Retourne : Rien
-
delete_column_cdatafram :
- Appellation : delete_column_cdatafram(*CDataFrame , *char(nom de la colonne) )
- Description : Permet de supprimer une colonne dans un CDataFrame avec son nom
- Paramètre :
- Pointeur sur le CDataFrame à étudier
- Pointeur de type char sur le nom de la colonne à supprimer
- Retourne : Rien ( ou affiche 'La colonne n'a pas été trouvé' si aucun nom ne corespondait aux colonnes dans le CDF )
-
get_cdataframe_cols_size :
- Appellation : get_cdataframe_cols_size(*CDataFrame)
- Description : Permet de connaitre le nombre de colonne présentes dans un CDataFrame
- Paramètre :
- Pointeur sur le CDataFrame à étudier
- Retourne : Un entier, nombre de colonnes présentes dans le CDataFrame passé en paramètre
-
get_cdataframe_nb_lignes :
- Appellation : get_cdataframe_nb_lignes(*CDataFrame )
- Description : Permet de connaitre le nombre de ligne présentes dans un CDataFrame ( nombre de ligne de la colonne la plus remplis )
- Paramètre :
- Pointeur sur le CDataFrame à étudier
- Retourne : Un entier, nombre de ligne du CDataFrame passé en paramètre
-
insert_values_cdataframe :
- Appellation : insert_values_cdataframe(*CDataFrame, *titre le la colonne)
- Description : Permet d'insérer tout type de valeur dans un CDataFrame, dans la colonne spécifié par l'utilisateur. Si le nom de la colonne n'existe pas, la fonction en créée une nouvelle. De plus l'utilisateur peux choisir le la position ou insérer la valeur dans la colonne ( pos '-1' pour l'insérer à la fin ).
- Paramètre :
- Pointeur sur le CDataFrame auquel ajouter une valeur
- Pointeur sur le nom de la colonne auquelle l'utilisateur veut ajouter une valeur
- Retourne : Rien
-
print_cdataframe :
- Appellation : print_cdataframe(*CDataFrame, colonne_début, colonne_fin, ligne_début, int ligne_fin)
- Description : Permet d'afficher un CDataFrame sur un interval de colonnes et de ligne donné par l'utilisateur
- Paramètre :
- Pointeur sur le CDataFrame à afficher
- Entier spécifiant la colonne à partir de laquelle commencer l'affichage
- Entier spécifiant la colonne à laquelle terminer l'affichage
- Entier spécifiant la ligne à partir de laquelle commencer l'affichage
- Entier spécifiant la ligne à laquelle terminer l'affichage
- Retourne : Rien
-
print_cdf_by_index:
- Appellation : print_cdf_by_index(*CDataFrame, colonne_début, colonne_fin, ligne_début, int ligne_fin)
- Description : Permet d'afficher un CDataFrame sur un interval de colonne donné par l'utilisateur, avec les colonnes étant triées
- Paramètre :
- Pointeur sur le CDataFrame à afficher
- Entier spécifiant la colonne à partir de laquelle commencer l'affichage
- Entier spécifiant la colonne à laquelle terminer l'affichage
- Retourne : Rien
-
print_name_col_cdataframe :
- Appellation : print_name_col_cdataframe(* CDataFrame, colonne_début, colonne_fin)
- Description : Permet d'afficher tous les noms de colonnes sur un interval donné par l'utilisateur
- Paramètre :
- Pointeur sur le CDataFrame à étudier
- Entier spécifiant l'indice de la colonne à partir duquel commencer l'affichage des noms des colonnes
- Entier spécifiant l'indice de la colonne à laquelle terminer l'affichage des noms de colonnes
- Retourne : Rien
-
rename_col :
- Appellation : rename_col(* CDataFrame, *titre de la colonne)
- Description : Permet de renomer une colonne dans un CDataFrame
- Paramètre :
- Pointeur sur le CDataFrame auquel renomer une colonne
- Pointeur sur le nom de la colonne à aller chercher pour être renommée
- Retourne : Rien
-
insert_ligne_cdataframe :
- Appellation : insert_ligne_cdataframe(* CDataFrame)
- Description : Permet de créer et insérer une ligne dans un CDataFrame à un indice donné. La ligne peut-être ensuite remplie par l'utilisateur colonne par colonne. Si l'indice donnée est plus grand que le nombre de lignes déja présentes, la fonction l'insère à la fin.
- Paramètre :
- Pointeur sur le CDataFrame auquel ajouter une ligne
- Retourne : Rien
-
nb_occu_value_CD :
- Appellation : nb_occu_value_CD(* CDataFrame, *valeur à rechercher)
- Description : Permet de chercher le nombre d'occurence d'une valeur dans un CDataFrame, toute ligne et colonne confondues
- Paramètre :
- Pointeur sur le CDataFrame à étudier
- Pointeur sur la valeur (de n'importe quel type) à recherche dans le CDataFrame
- Retourne : Entier donnant le nombre d'occurence de la valeur passée en paramètre
-
acces_value_CDataFrame :
- Appellation : acces_value_CDataFrame(* CDataFrame, position_colonne, position_ligne)
- Description : Permet d'aller remplacer une valeur aux indices donnés par l'utilisateur dans un CDataFrame
- Paramètre :
- Pointeur sur le CDataFrame auquel remplacer une valeur
- Entier spécifiant la colonne de la valeur à remplacer
- Entier spécifiant la ligne de la valeur à remplacer
- Retourne : Rien
-
nb_sup_value_CD :
- Appellation : nb_sup_value_CD(*CDataFrame, *valeur à comparer)
- Description : Permet de donner le nombre de valeur supérieur à une valeur de n'importe quel type spécifié en paramètre dans un CDataFrame, spécifié également en paramètre
- Paramètre :
- Pointeur sur le CDataFrame à étudier
- Pointeur (de n'importe quel type) sur la valeur à comparer
- Retourne : Entier spécifiant le nombre de valeurs, supérieur à celle entrée en paramètre, trouvées dans le CDataFrame
-
nb_inf_value_CD :
- Appellation : nb_inf_value_CD(*CDataFrame, *valeur à comparer)
- Description : Permet de donner le nombre de valeur inférieur à une valeur de n'importe quel type spécifié en paramètre dans un CDataFrame, spécifié également en paramètre
- Paramètre :
- Pointeur sur le CDataFrame à étudier
- Pointeur (de n'importe quel type) sur la valeur à comparer
- Retourne : Entier spécifiant le nombre de valeurs, inférieur à celle entrée en paramètre, trouvées dans le CDataFrame
-
suppr_ligne_CD :
- Appellation : suppr_ligne_CD(*CDataFrame, position_ligne)
- Description : Permet de supprimer une ligne de valeur au CDataFrame à l'indice voulus
- Paramètre :
- Pointeur sur le CDataFrame auquel supprimer une ligne
- Entier spécifiant l'indice de la ligne à supprimer
- Retourne : Le nombre de valeur supprimées
-
sort :
-
Appellation : sort(*colonne, )
-
Description : Permet de trier les éléments d'une colonne dans l'ordre voulus
-
Paramètre :
- Pointeur sur la colonne à trier
- Entier spécifiant l'ordre dans lequel trier la colonne
-
Retourne : Rien
-
print_col_by_index :
- Appellation : print_col_by_index(*colonne)
- Description : Permet d'afficher une colonne triée
- Paramètre :
- Pointeur sur la colonne à afficher
- Retourne : Rien
-
erase_index :
- Appellation : erase_index(*colonne)
- Description : Permet d'effacer les index des valeurs de la colonne
- Paramètre :
- Pointeur sur la colonne dont effacer les index
- Retourne : Rien
-
check_index :
- Appellation : check_index(*colonne)
- Description : Permet de connaitre si la colonne possède ou non des index (et donc qu'elle a été triée)
- Paramètre :
- Pointeur sur la colonne à étudier
- Retourne : 1 si la colonne possède des index, 0 sinon
-
search_value_in_column :
- Appellation : search_value_in_column(*colonne, *valeur_à_rechercher)
- Description : Permet de rechercher par la méthode de dicotomie une valeur dans une colonne
- Paramètre :
- Pointeur sur la colonne à étudier
- Pointeur de n'importe quel type sur la valeur à rechercher dans la colonne
- Retourne : 1 si la valeur est présente dans la colonne, 0 sinon
-
search_value_cdf :
- Appellation : search_value_cdf(*CDataFrame, *valeur_à_rechercher, ENUM_TYPE type_valeur)
- Description : Permet de rechercher une valeur par la méthode de dicotomie dans un CDataFrame entier
- Paramètre :
- Pointeur sur la CDataFrame à étudier
- Pointeur de n'importe quel type sur la valeur à rechercher dans le cdf
- Pointeur ENUM_TYPE permettant de connaitre le type de valeur à rechercher
- Retourne : 1 si la valeur est présente dans le CDataFrame, 0 sinon
-
-
-
-
load_from_csv :
- Appellation : load_from_csv(*nom_fichier_CDataFrame)
- Description : Permet d'upload un CDataFrame à partir d'un fichier CSV.
- Paramètre :
- Pointeur (char) sur le nom du fichier à partir duquel upload le CDF
- Retourne : Pointeur sur le CDataFrame upload à partir du nom de fichier donné en paramètre
-
save_into_csv :
- Appellation : save_into_csv(*CDataFrame, *nom_fichier)
- Description : Permet de sauvegarder un CDataFrame dans un fichier CSV dont le nom est donné en paramètre
- Paramètre :
- Pointeur sur le CDataFrame à sauvegarder dans un fichier CSV
- Pointeur (char) sur le nom du fichier à utiliser pour sauvegarder le CDataFrame (PS: Le fichier utilisé est vidé lors de la sauvegarde, si un CDataFrame était déja sauvegardé celui-ci est écrasé)
- Retourne : 1 si la sauvegarder c'est bien éffectué, 0 sinon (ouverture du fichier impossible)
-
-
-
choose_type_col :
- Appellation : choose_type_col() (PS : fonction destinée pour aérer d'autres fonctions, ne s'appelle pas autrement)
- Description : Permet à l'utilisateur de choisir un type pour sa colonne (via le type structure ENUM_TYPE)
- Paramètre : Aucun
- Retourne : Un type ENUM_TYPE donnant le type choisis par l'utilisateur pour sa colonne, son CDataFrame ...
-
viderBuffer :
- Appellation : viderBuffer() (PS : fonction destinée pour aérer d'autres fonctions, ne s'appelle pas autrement)
- Description : Permet de vider le buffer, utile lors de l'utilisation de fonctions liées au CDF
- Paramètre : Aucun
- Retourne : Rien
-
get_title :
- Appellation : get_title()
- Description : Permet de demander à l'utilisateur de rentrer un titre
- Paramètre : Aucun
- Retourne : Un pointeur char sur le titre entré par l'utilisateur
-
choose_type_col :
-
Appellation : choose_type_col(nb_colonne)
-
Description : Permet de proposer des type à l'utilisateur pour la création de colonnes
-
Paramètre :
- Entier spécifiant le nombre de colonnes dont l'utilisateur doit choisir le type
-
Retourne : Un pointeur sur un tableau ENUM_TYPE sdans lequel l'utilisateur à choisis les types pour ses colonnes
-
get_str_type :
- Appellation : get_str_type(ENUM_TYPE type)
- Description : Permet de convertir n'importe quel type entré par l'utilisateur en str
- Paramètre :
- Type ENUM_TYPE à convertir en str
- Retourne : Pointeur char sur le type convertis en str
-
get_type_with_str :
- Appellation : get_type_with_str(str_type)
- Description : Permet de convertir en un ENUM_TYPE un str rentré en paramètre
- Paramètre :
- String à convertir en un type ENUM_TYPE
- Retourne : Un type ENUM_TYPE
-
compare_any_types:
- Appellation : compare_any_types(*valeur_a, *valeur_b, ENUM_TYPE type)
- Description : Permet de comparer deux valeurs entrées en paramètre si celle-ci sont du même type
- Paramètre :
- Pointeur sur la première valeur de n'importe quel type à comparer
- Pointeur sur la deuxième valeur de n'importe quel type à comparer
- ENUM_TYPE donnant le type des valeurs à comparer
- Retourne : 1 si les valeurs sont égales, 0 sinon
-
-