From 3aef7806cd9ec3e4dc9520cc694f6e4ce5a90d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre=20=E2=9C=8F?= Date: Sat, 22 Oct 2016 19:01:48 +0200 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20de=20l'affichage=20verbeux?= =?UTF-8?q?=20sur=20+eurs=20fichiers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/compress.c | 9 ++++++--- src/display.c | 28 ++++++++++++++-------------- src/main.c | 5 +++++ 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/compress.c b/src/compress.c index 58c2a11..35352c7 100644 --- a/src/compress.c +++ b/src/compress.c @@ -54,14 +54,16 @@ double* _createFrequencies(const char* filepath) { } void compress(const char* filepath) { - printVerbose("Calcul des fréquences d'apparition de chaque caractère\n"); + printVerbose("Compression du fichier '%s'...\n", filepath); + printVerbose("Calcul des fréquences d'apparition des caractères.\n"); + double* frequencies = _createFrequencies(filepath); if (isVerbose()) { printFrequenciesTable(frequencies, NUM_CHARS); } - printVerbose("\nConstruction de l'arbre de Huffman\n"); + printVerbose("\nConstruction de l'arbre de Huffman.\n"); HufTree tree = createTree(frequencies); free(frequencies); @@ -71,7 +73,7 @@ void compress(const char* filepath) { printTree(tree); } - printVerbose("\nÉtiquetage des feuilles de l'arbre\n"); + printVerbose("\nÉtiquetage des feuilles de l'arbre.\n"); char** labels = createTreeLabels(tree); freeTree(tree); @@ -81,4 +83,5 @@ void compress(const char* filepath) { } freeTreeLabels(labels); + labels = NULL; } diff --git a/src/display.c b/src/display.c index 060b98a..67b8c84 100644 --- a/src/display.c +++ b/src/display.c @@ -74,44 +74,44 @@ int _maxDepth(HufVertex vert) { } void printFrequenciesTable(double* table, size_t size) { - printf("╭─┬───┬─────────╮\n"); - printf("│C│num│fréquence│\n"); - printf("├─┼───┼─────────┤\n"); + printf("┌─┬────┬─────────┐\n"); + printf("│C│code│fréquence│\n"); + printf("├─┼────┼─────────┤\n"); double sum = 0; for (size_t i = 0; i < size; i++) { if (table[i] != 0) { - printf("│%c│%3d│%9lf│\n", _safeChar(i), (int) i, table[i]); + printf("│%c│%4d│%9.4lf│\n", _safeChar(i), (int) i, table[i]); sum += table[i]; } } - printf("├─┴───┼─────────┤\n"); - printf("│Total│%9lf│\n", sum); - printf("╰─────┴─────────╯\n"); + printf("├─┴────┼─────────┤\n"); + printf("│ Total│%9.4lf│\n", sum); + printf("└──────┴─────────┘\n"); } void printLabelsTable(char** table, size_t size) { - printf("╭─┬───┬────────────────╮\n"); - printf("│C│num│ étiquette│\n"); - printf("├─┼───┼────────────────┤\n"); + printf("┌─┬────┬────────────────┐\n"); + printf("│C│code│ étiquette│\n"); + printf("├─┼────┼────────────────┤\n"); double total_length = 0; size_t label_count = 0; for (size_t i = 0; i < size; i++) { if (table[i] != 0) { - printf("│%c│%3d│%16s│\n", _safeChar(i), (int) i, table[i]); + printf("│%c│%4d│%16s│\n", _safeChar(i), (int) i, table[i]); total_length += strlen(table[i]); label_count++; } } - printf("├─┴───┴────┬───────────┤\n"); - printf("│Long. moy.│%11lf│\n", total_length / label_count); - printf("╰──────────┴───────────╯\n"); + printf("├─┴────┴───┬────────────┤\n"); + printf("│Long. moy.│%12.4lf│\n", total_length / label_count); + printf("└──────────┴────────────┘\n"); } char _safeChar(char input) { diff --git a/src/main.c b/src/main.c index b36e0cf..14c89c4 100644 --- a/src/main.c +++ b/src/main.c @@ -81,5 +81,10 @@ int main(int argc, char** argv) { while (*filepath != NULL) { compress(*filepath); filepath++; + + // Ligne de séparation entre les différents fichier + if (*filepath != NULL) { + printVerbose("\n"); + } } }