Bonjours, j'ai créer un gestionnaire de mot de passe en c++ je vous montre le code sinon vous allez rien comprendre :p
main.cpp
fonction.cpp
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 #include <iostream> #include <string> using namespace std; string ajoutCompte(const string& compte,const string& login,const string& mdp);//les prototypes int afficherCompte1(int numeroCompte); int afficherCompteTout(int lala); int main() { int medp=NULL; int choixMenu; int choixCompte; int variablePourParametre; string compte; string login; string mdp; do { cout<<"Que voulez-vous faire?: "<<endl<<endl<<"1-Voir les mots de passe"<<endl;//on affiche les choix cout<<"2-Ajouter un compte"<<endl<<"3-Supprimer TOUT les mots de passe"; cout<<endl<<"4-Quitter"<<endl; cin>>choixMenu; switch (choixMenu)//le traditionnel switch { case 1: cout<<"-----MOTS DE PASSE ENREGISTRES-----"; cout<<endl<<endl<<"Voici la liste des mots de passes enregistres: "<<endl<<endl; afficherCompteTout(variablePourParametre);//vous remarquerez , variablePourParametre ne sert a rien, mais sans sa, code block me renvoi une erreur cout<<endl<<endl<<"Quel mot de passe voulez vous afficher?(un nombre trop grand affichera\nle dernier): "; cin>>choixCompte; afficherCompte1(choixFonction);//pour afficher le compte choisi break; case 2: cout<<"-----AJOUT D'UN MOT DE PASSE-----"<<endl<<endl; cout<<"Donnez un nom au compte pour le reconnaitre: "<<endl; cin>>compte; cout<<"Entrez le login: "<<endl; cin>>login; cout<<"Entrez le mot de passe: "<<endl; cin>>mdp; ajoutCompte(compte,login,mdp);//pour ajouter un compte break; case 3: remove("dnnsmps.gmtp");//pour supprimer le fichier donc les mdp break; case 4: return 0;//pour fermer la console break; default: cout<<"Valeur rentree non correspondante";//si la personne a entrée un mauvais numéro } cout<<"Que voulez vous faire?"<<endl<<endl<<"1-Retourner au menu"<<endl<<"2-Quitter";//pour pouvoir retourner au menu cin >> choixMenu; }while(choixMenu != 2);//si il veut quitter, la fonction se termine par un return et la console de ferme return 0; }
<gras><souligne>Mon problème:</souligne></gras>
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
82
83 #include <iostream> #include <string> #include <fstream> #include <windows.h> using namespace std; void ajoutCompte(const string& compte,const string& login,const string& mdp)//pour ajouter un compte { fstream fichier("dnnsmps.gmtp", ios::out|ios::app);//je met souvent fstream car je trouve sa plus simple if(fichier) { fichier << compte << std::endl;//pour ecrire dans le fichier fichier << login << std::endl; fichier << mdp << std::endl; fichier.close(); } else//sinon erreur { cerr << "Impossible d'ouvrir le fichier !" << endl; } } void afficherCompte1(int numeroCompte)//pour afficher un compte { fstream fichier("dnnsmps.gmtp", ios::in); // on ouvre le fichier en lecture if(fichier) // si l'ouverture a réussi { int i= NULL; string compte; string login; string mdp; do { getline(fichier, compte);//récupération du compte getline(fichier, login); getline(fichier, mdp); i++;//incrémantation pour compter }while(i != numeroCompte);//tant que le numero du compte voulu est différent de celui ou on est cout<<compte<<":"<<endl<<"Login: "<< login <<endl<<"Mot de passe: "<< mdp << endl; fichier.close(); // on ferme le fichier } else // sinon { cerr << "Impossible d'ouvrir le fichier !" << endl; } } void afficherCompteTout(int trucQuiSertARien)//le paramètre ne sert a rien (je n'arrive pas a faire sans) fstream fichier("dnnsmps.gmtp", ios::in); // on ouvre le fichier en lecture if(fichier) // si l'ouverture a réussi { string compte; string login; string mdp; int numeroCompte=1; do { getline(fichier, compte);//on récupère getline(fichier, login); getline(fichier, mdp); cout << numeroCompte<<"-"<<compte<<endl;//on affiche numeroCompte++;//incrémentation pour la numerotation }while(getline(fichier, compte));//tant que je peut stocker une ligne dans compte fichier.close(); // on ferme le fichier } else // sinon { cerr << "Il faut ajouter des mots de passe avant de regarder si il y en a!!" << endl;//comme le fichier existe pas, il n'y as pas de mots de passe } }
Quand j'ai ajouter un 4ièm,8ièm,12ièm...ect(4 par 4) mot de passe, quand je fait"voir les mot de passe" sa me met:
Le resultat de la console:
Sa n'afficher pas le compte.-----Mots de passes enregistrer-----
Voici la liste des mots de passe enregistres:
1-machin
2-bidule
3-lala
4- //sa ne m'affiche pas nom de compte
Bon voila, j'ai fait un exposer introductif de mon problème
Pourriez vous m'indiquer une solution :o , si vous en connaisez une o_O
Partager