IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Exercice : fonctionnement d'une identification avec un mot de passe


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2018
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Exercice : fonctionnement d'une identification avec un mot de passe
    Bonjour tout le monde , actuellement je suis le Cours Modernes de C++, et j'en suis qu'au Chapitre Algèbre de Boole (Pour ceux qui connaissent le cours).

    Avec ce que j'ai pu apprendre jusque là, je m'étais lancé une sorte de défi assez simple qui est de reproduire une identification avec mot de passe et nom d'utilisateur. J'ai enfin réussi mais sans utiliser Booléen tout simplement parce je n'ai pas su comment m'y prendre avec.

    Bien-sur , je ne travaille qu'en mode console pour l'instant et je sais que c'est le genre de code qu'on peut facilement contourner vu mon niveau actuel.

    Je partage mon code avec vous tout simplement pour que vous puissiez corriger si bien-sur il y a des erreurs de syntaxe ou de logique et aussi me dire si mon code est lisible parce qu’apparemment c'est très important.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    // Exo : Enregistrement et Vérification d'un identifiant et son mot de passe 
     
    #include <iostream>
    #include <string>
     
    using std::cout;
    using std::endl;
    using std::cin ;
    using std::string ;
     
    string newPassword {0}; // Déclaration du nouveau mot de passe
    string newId {0}; // Déclaration de l'identifiant
     
     
    int main ()
     
    {
        cout<< endl << "Creer un nom d'utilisateur : ";
        cin >> newId ;
     
        cout << endl << endl << "Creer un mot de passe : " ;
        cin >> newPassword ; // Saisie du nouveau mot de passe
     
     
        string const id {newId}; //Vérrouillage du nouveau nom d'utilisateur enregistré
     
        string const password {newPassword}; // Vérrouillage du nouveau mot de passe saisie
     
     
        string enterPassword {0}, enterId {0}; // Déclaration du mot de passe qui doit être saisi par l'utilisateur
     
        cout << endl << "_____________________________________________________________" << endl << endl ;
     
     
        cout << "Nom d'utilisateur : ";
        cin >> enterId ; // Saisie du nom d'utilisateur par l'utilisateur
     
        cout << endl << endl << "Mot de passe : " ;
        cin >> enterPassword ; // Saisie du mot de passe par l'utilisateur
     
     
        int compteur; // Déclaration de la limite de saisie du mot de passe
     
        for (compteur=0; compteur<2 && (enterPassword!=password || (enterId!=id)); compteur++ ) //Création d'une boucle pour un faux id ou mot de passe
     
        {
            cout << endl << "Nom d'utilisateur ou mot de passe incorrect " << endl << endl //Message à afficher en cas d'erreur
     
                 << endl << "Nom d'utilisateur : " ;
     
            cin  >> enterId ; // Saisie Id en boucle
     
     
     
            cout << endl << endl << "Mot de passe : ";
     
            cin >> enterPassword ; // Saisie mot de passe en boucle
     
     
        }
     
        if ((enterPassword!=password) && (enterId!=id)) // Condition après 3 saisies incorrectes
     
        {
            cout << endl << endl << "Identification incorrecte" ;
        }
     
         if ((enterPassword==password) && (enterId==id))
     
        {
            cout<< endl << endl << "Mot de passe correct" ; //Validation du mot de passe saisi
        }
     
     
            cout << endl << "___________________________________________________________________"
     
     
                 << endl << endl << "Fin du programme"<< endl << endl ;
     
    }

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Merci de poster le code en utilisant les balises CODE. Mettre des images est de loin le pire choix pour montrer son code.. à fortiori quand elles sont aussi grandes et lourdes.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 613
    Points : 30 616
    Points
    30 616
    Par défaut
    Salut,

    Plutôt que d'utiliser des images de ton écran, pourrais tu utiliser le bouton "code" (c'est le bouton en forme de # qui se trouve au dessus tout à fait à droite de ta zone d'édition de message) et y copier coller le code que tu as écrit

    Il respectera l'indentation et produira même une coloration syntaxique bien utile, mais il permettra à "qui veut t'aider" de copier ton code bien plus facilement
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2018
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Merci de poster le code en utilisant les balises CODE. Mettre des images est de loin le pire choix pour montrer son code.. à fortiori quand elles sont aussi grandes et lourdes.
    Merci beaucoup, j'ai modifié le post comme indiqué et le code est maintenant lisible

    Citation Envoyé par koala01 Voir le message
    Salut,

    Plutôt que d'utiliser des images de ton écran, pourrais tu utiliser le bouton "code" (c'est le bouton en forme de # qui se trouve au dessus tout à fait à droite de ta zone d'édition de message) et y copier coller le code que tu as écrit

    Il respectera l'indentation et produira même une coloration syntaxique bien utile, mais il permettra à "qui veut t'aider" de copier ton code bien plus facilement
    je viens de modifier le post , merci

  5. #5
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 642
    Points
    7 642
    Par défaut
    Bonjour,

    Attention quand tu écris string newPassword {0}; le constructeur que tu utilises n'est vraisemblablement pas celui auquel tu penses (ça correspond à string newPassword({'\0'});.
    Pour créer une chaîne vide, il y a plein d'autre possibilités :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string newPassword;           // ou bien
    string newPassword{};         // ou bien
    auto newPassword = string{};  // ou bien
    Et toujours les lignes 45 et 63 avec une des deux n'ayant pas le bon test de validité.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2018
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Pour ce qui est de la déclaration de variable avec le 0 je crois l'avoir vu dans un cours avec la déclaration sans initialisation comme sur vos propositions et pour ce qui est des tests le premier c'est pour former une boucle en cas de mauvaise saisie du Mp ou de l'Id et le deuxieume c'est pour afficher un message après les 3 essais autorisés parce que j'ai pas trouvé d'autre moyen pour y mettre le texte après la boucle

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/10/2009, 00h17
  2. [WD-2003] le contraire de sauter une ligne avec des mots
    Par jessicaz dans le forum VBA Word
    Réponses: 21
    Dernier message: 28/04/2009, 08h50
  3. proteger une applivation avec un mot de passe
    Par petite_developpeuse dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 21/11/2008, 12h30
  4. ouverture d'une BD acces avec un mot de passe en vb6
    Par barbarian dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/02/2007, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo