From 0c5c5f5982169c85d495f75ba308a45d23282262 Mon Sep 17 00:00:00 2001 From: Thorsieger Date: Sun, 5 May 2019 17:20:29 +0200 Subject: [PATCH] lancer le programme avec des paramètres --- README.md | 4 +++- main.c | 33 ++++++++++++++++++++++----------- tree.h | 1 + 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index eab13b1..4d71538 100644 --- a/README.md +++ b/README.md @@ -30,4 +30,6 @@ Ce programme permet de détecter dans un texte tous les mots mal orthographiés. * Vous pouvez maintenant soit quitter le programme soit relancer une analyse d'un autre fichier. -*Pour changer de dictionnaire il vous faudra relancer le programme.* \ No newline at end of file +*Pour changer de dictionnaire il vous faudra relancer le programme.* + +Il est également possible de lancer le programme avec les fichiers en paramètres. Lancer la commande suivante : ./compteur_erreurs \ No newline at end of file diff --git a/main.c b/main.c index 520cdcf..807b613 100644 --- a/main.c +++ b/main.c @@ -1,19 +1,24 @@ #include "tree.h" -int main() +int main(int argc, char* argv[]) { setlocale(LC_ALL, ""); - //Récupération du fichier contenant le dictionnaire char fichier[100]; + if(argc==3) strcpy(fichier,argv[1]); + FILE* fp = NULL; - wprintf(L"Quel fichier voulez-vous utiliser comme dictionnaire ?\n"); + if(argc != 3)wprintf(L"Quel fichier voulez-vous utiliser comme dictionnaire ?\n"); do{ - wscanf(L"%s",fichier); + if(argc != 3)wscanf(L"%s",fichier); fp = fopen(fichier,"r"); if(fp == NULL) { - wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n"); + if(argc==3){ + wprintf(L"Le fichier n'est pas accessible !\n"); + return 1; + } + else wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n"); } }while(fp == NULL); @@ -41,16 +46,21 @@ int main() wprintf(L"Chargement du dictionnaire effectué!\n\n"); //Récupération du fichier contenant les mots à tester -char recommencer = ' '; + char recommencer = ' '; do{ FILE* fp = NULL; - wprintf(L"Quel fichier voulez-vous tester ?\n"); + if(argc != 3)wprintf(L"Quel fichier voulez-vous tester ?\n"); + else strcpy(fichier,argv[2]); do{ - wscanf(L"%s",fichier); + if(argc != 3)wscanf(L"%s",fichier); fp = fopen(fichier,"r"); if(fp == NULL) { - wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n"); + if(argc==3){ + wprintf(L"Le fichier n'est pas accessible !\n"); + return 1; + } + else wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n"); } }while(fp == NULL); @@ -60,8 +70,9 @@ char recommencer = ' '; fclose(fp); //Demande si volonté de recommencer - wprintf(L"Voulez vous tester un autre fichier ?[Y]\n"); - wscanf(L" %c",&recommencer); + if(argc != 3)wprintf(L"Voulez vous tester un autre fichier ?[Y]\n"); + if(argc != 3)wscanf(L" %c",&recommencer); + else recommencer = ' '; }while(recommencer == 'Y' || recommencer == 'y'); free_dico(Dico);//libérer la mémoire du dictionnaire diff --git a/tree.h b/tree.h index 71b4dd8..6ace018 100644 --- a/tree.h +++ b/tree.h @@ -2,6 +2,7 @@ #include #include #include +#include typedef struct node { wchar_t val; -- libgit2 0.21.2