From e2e8789113b787339262c4da8874377f3b215fc3 Mon Sep 17 00:00:00 2001 From: "yannis.doumir_fernandes" Date: Tue, 31 Oct 2023 15:58:30 +0100 Subject: [PATCH] password for responsable is working + some bugs fixed --- app | Bin 52176 -> 34424 bytes donnee/mdp.txt | 1 + src/app/core_logic/responsable.c | 49 +++++++++++++++++++++++++++ src/app/core_logic/responsable.h | 15 +++++++++ src/app/interface/interface_resp.c | 51 ++++++++++++++++++++++------- src/app/interface/interface_resp.h | 8 +++++ src/main.c | 8 ++++- 7 files changed, 120 insertions(+), 12 deletions(-) create mode 100644 donnee/mdp.txt diff --git a/app b/app index 4ad0d038a63a4e0002f4fd0e6a7307d4e2336b8f..e92ef0a6e7f908e9f71e0003e2c12e2fcaba76a7 100755 GIT binary patch literal 34424 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 literal 52176 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

^e0m?R#?Id$Qqs-0(eF@I5a09{kvY^ey}5@Nc4T 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 diff --git a/donnee/mdp.txt b/donnee/mdp.txt new file mode 100644 index 0000000..af51f1e --- /dev/null +++ b/donnee/mdp.txt @@ -0,0 +1 @@ +qtqnqtq 5 \ No newline at end of file diff --git a/src/app/core_logic/responsable.c b/src/app/core_logic/responsable.c index 5efb4cb..ffec50b 100644 --- a/src/app/core_logic/responsable.c +++ b/src/app/core_logic/responsable.c @@ -5,6 +5,7 @@ #include #include +#include #include "responsable.h" #include "../interface/interface_resp.h" @@ -103,6 +104,14 @@ int ajouterArticle( int tRef[], float tPoids[], float tVol[], float tPrix[], int fprintf(stderr,"Tableau plein !"); return -2; } + for ( int j = 0; j < *tLogique; ++j ) + { + if ( ref == tRef[j] ) + { + fprintf(stderr, "\t /!/ Article déjà existant. /!/ \n"); + return -1; + } + } tRef[i] = ref; tPoids[i] = poids; tVol[i] = volume; @@ -209,4 +218,44 @@ void ajouterClient(int tNumClient[], float tCagnotte[], int tSus[], int *tLogiqu (*tLogique)++; return; +} + +void dechiffrerCesar(char *texte, int decalage) { + int i; + int longueur = strlen(texte); + for (i = 0; i < longueur; ++i) { + if (texte[i] >= 'a' && texte[i] <= 'z') { + texte[i] = 'a' + (texte[i] - 'a' + decalage) % 26; + } else if (texte[i] >= 'A' && texte[i] <= 'Z') { + texte[i] = 'A' + (texte[i] - 'A' + decalage) % 26; + } + } +} + + +int decodageMDP(char *mdpEnter) +{ + int decalage; + char mdpRead[20]; + FILE *fe; + fe = fopen("donnee/mdp.txt","r"); + if ( fe == NULL ) + { + return -1; + } + + fscanf(fe, "%s %d", mdpRead, &decalage); + printf("%s", mdpRead); + fclose(fe); + + dechiffrerCesar(mdpEnter, decalage); + + if ( strcmp(mdpRead, mdpEnter) == 0 ) + { + return 0; + } + else + { + return -2; + } } \ No newline at end of file diff --git a/src/app/core_logic/responsable.h b/src/app/core_logic/responsable.h index bf0b8f8..24cadc4 100644 --- a/src/app/core_logic/responsable.h +++ b/src/app/core_logic/responsable.h @@ -103,3 +103,18 @@ void modifierArticle(int tRef[], float tPoids[], float tVol[], float tPrix[], in * @param tPhysique Taille physique des tableaux. */ void ajouterClient(int tNumClient[], float tCagnotte[], int tSus[], int *tLogique, int tPhysique); + +/** + * @brief Décode le mot de passe du fichier mdp.txt pour le comparer avec le mdp entré. + * + * @param mdpEnter Mot de passe entrer par l'utilisateur. +*/ +int decodageMDP(char *mdpEnter); + +/** + * @brief Lis le mot de passe codé dans le fichier mdp.txt, le compare au mot de passe entré à laide de decodageMDP + * + * @param texte chaine de caractère comparé avec le mot de passe du fichier. + * @param decalage entier qui sert de clé pour déchiffrer le mot de passe. +*/ +void dechiffrerCesar(char *texte, int decalage); \ No newline at end of file diff --git a/src/app/interface/interface_resp.c b/src/app/interface/interface_resp.c index ddfb9c0..01d4e10 100644 --- a/src/app/interface/interface_resp.c +++ b/src/app/interface/interface_resp.c @@ -22,16 +22,16 @@ void affiche_resp(void) { printf("+-------------+\n"); printf("\n"); printf("+-----------------------------------------------------------------+\n"); - printf("|| Que voulez-vous faire ?\t\t\t\t\t\t\t||\n"); - printf("||\t1 : Afficher les articles\t\t\t\t\t\t||\n"); - printf("||\t2 : Afficher un article\t\t\t\t\t\t\t||\n"); - printf("||\t3 : Afficher un client\t\t\t\t\t\t\t||\n"); - printf("||\t4 : Afficher les clients\t\t\t\t\t\t||\n"); - printf("||\t5 : Ajouter un article\t\t\t\t\t\t\t||\n"); - printf("||\t6 : Supprimer un article\t\t\t\t\t\t||\n"); - printf("||\t7 : Modifier un article\t\t\t\t\t\t\t||\n"); - printf("||\t8 : Ajouter un client\t\t\t\t\t\t\t||\n"); - printf("||\t9 : Quittez.\t\t\t\t\t\t\t\t\t||\n"); + printf("|| Que voulez-vous faire ?\t\t\t\t\t||\n"); + printf("||\t1 : Afficher les articles\t\t\t\t||\n"); + printf("||\t2 : Afficher un article\t\t\t\t\t||\n"); + printf("||\t3 : Afficher un client\t\t\t\t\t||\n"); + printf("||\t4 : Afficher les clients\t\t\t\t||\n"); + printf("||\t5 : Ajouter un article\t\t\t\t\t||\n"); + printf("||\t6 : Supprimer un article\t\t\t\t||\n"); + printf("||\t7 : Modifier un article\t\t\t\t\t||\n"); + printf("||\t8 : Ajouter un client\t\t\t\t\t||\n"); + printf("||\t9 : Quittez.\t\t\t\t\t\t||\n"); printf("+-----------------------------------------------------------------+\n"); } @@ -131,6 +131,7 @@ void affichClients(int tNumClient[], float tCagnotte[], int tSus[], int tLogique void affichAjoutArticle(int *ref, float *poids, float *volume, float *prix) { printf("\t Entrez la ref du nouveau produit\n"); while (scanf("%d", ref) != 1 || *ref <= 0) { + printf("\t Veuillez entrer une référence valide.\n"); while (getchar() != '\n'); } @@ -216,12 +217,40 @@ void affichAjoutClient(int tNumClient[], int tLogique, int *numC) { } for (int i = 0; i < tLogique; ++i) { if (*numC == tNumClient[i]) { - fprintf(stderr, "\t Client déjà existant.\n"); + fprintf(stderr, "\t /!/ Client déjà existant. /!/\n"); return; } } } + + +int affichageConnexion(void) +{ + char mdpEnter[20]; + printf("Entrer le mot de passe responsable : "); + scanf("%s", mdpEnter); + + int verif = decodageMDP(mdpEnter); + + if ( verif == 0 ) + { + printf("+---------------------------------------------+\n"); + printf("|| \tMot de passe correct, bienvenue patron ! ||\n"); + printf("+---------------------------------------------+\n"); + return 0; + } + else if ( verif == -1) + { + printf("\t Problème ouverture fichier !\n"); + return -1; + } + printf("+--------------------------------------------------+\n"); + printf("|| \tMot de passe incorrect, Au revoir ! \t||\n"); + printf("+--------------------------------------------------+\n"); + return -2; +} + /** * @brief Fonction de menu pour le responsable. * diff --git a/src/app/interface/interface_resp.h b/src/app/interface/interface_resp.h index 1abee65..2d3f23f 100644 --- a/src/app/interface/interface_resp.h +++ b/src/app/interface/interface_resp.h @@ -93,6 +93,14 @@ void affichAjoutClient(int tNumClient[], int tLogique, int *numC); */ void menu_resp(int *choix); + +/** + * @brief Affiche les informations nécessaires pour entrer le mod de passe responsable. + * + * Cette fonction permet au responsable de confirmer son identité +*/ +int affichageConnexion(void); + /** * @brief Fonction principale de l'interface du responsable. * diff --git a/src/main.c b/src/main.c index 35e1659..4a9ac4a 100644 --- a/src/main.c +++ b/src/main.c @@ -51,9 +51,15 @@ int choixInterface(void) { * @return 0 si le programme s'est exécuté avec succès. */ int main() { + switch (choixInterface()) { case 1: - global_resp(); + int verif = affichageConnexion(); + if ( verif == 0) + { + global_resp(); + break; + } break; case 2: global_client();