Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3050 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Tableaux - Fichiers - Fonctions - Procédures

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableaux - Fichiers - Fonctions - Procédures

n°1889407
Zoba
Posté le 29-05-2009 à 12:56:55  profilanswer
 

Bonjour,
 
Pourrait-on m'éclairer sur un exercices d'algo: Comment vérifier le mot de passe d'un utilisateur si celui-ci doit entrer son loggin et son mot de passe. L'utilisateur a droit à 3 essais et je dispose de 3 loggin différents ainsi que 3 mots de passe différents sachant qu'il peut y en avoir plus, les mdp et loggin se trouvent dans un fichier!!! Pouvez-vous m'éclairer un peu svp?  
Comment puis-je effectuer la vérification? Ensuite si c'est correct, l'utilisateur voit afficher un menu avec 11 sous menu lui permettant de se dirger vers l'un de ses menus, pouvez-vous m'indiquer comment faire.
Je n'utilise pas de langage de programmation particulier, juste besoin de connaitre le code algo...  
Merci d'avance....
 

mood
Publicité
Posté le 29-05-2009 à 12:56:55  profilanswer
 

n°1889416
Deamon
Posté le 29-05-2009 à 13:32:09  profilanswer
 

C'est quoi ta difficulté avec la vérification ?
Tu prends le login tu parcours le fichier pour trouver le bon pass et tu le compares au pass donné, non ? Ou bien ton problème c'est de lire caractère par caractère ton fichier ?

n°1889460
Zoba
Posté le 29-05-2009 à 14:32:00  profilanswer
 

Non j'aimerais juste avoir une idée de code plus technique biensur. Je dois effectuer de mid ou trim pour la vérif? Sachant que le login et le mdp doicvent correspondre à une des trois logs du fichier...

n°1889482
Cid
Posté le 29-05-2009 à 14:47:59  profilanswer
 

C'est comme ce que Deamon t'as dit, tu fais une requete sur ton fichier avec le login saisi, puis tu récupéres le mot de passe associé et tu le compares avec celui saisi.
Aprés si tu veux plus du technique, il faut nous décrire un peu plus ton environnement et ton langage ( et ton fichier ).

n°1889534
Zoba
Posté le 29-05-2009 à 15:47:29  profilanswer
 

Je n'utilise pas de langage particulier, il me faut juste le code algo.
Donc je crée une procédure et ensuite je fais un "appeler"???
Je suis néophyte en programmation donc svp faites preuve d'indulgence envers moi!!! :) Sinon j'peux toujours fournir plus d'explication....

n°1889694
Zoba
Posté le 29-05-2009 à 22:03:30  profilanswer
 

Hello, qqun est il capable de m'aider???

n°1889901
Zoba
Posté le 31-05-2009 à 13:26:45  profilanswer
 

Bonjour,
 
Voilà je repose encore une fois la question dans l'espoir que quelqu'un puisse me répondre... Dois je utiliser des fonctions trim ou/et mid , effectuer un 'appeler'? Pouvez-vous m'aider svp?
 
Merci

n°1889910
Deamon
Posté le 31-05-2009 à 14:26:25  profilanswer
 

Je sais pas trop à quel niveau doit etre ton algo (entre un général du style : récupérer le pass -> comparer bon/mauvais pass -> si égal alors ... sinon ... ; ou bien si c'est beaucoup plus technique du genre une boucle pour comparer caractère par caractère ton mot.
Donc on peut pas trop te répondre.
 
Tu en es où actuellement ? Tu as déjà fait quoi ?

n°1889923
Zoba
Posté le 31-05-2009 à 16:06:48  profilanswer
 

Variable ok en booléen
Variable nb_tent en num
Variable log, name
 
Debut
  Ecrire"Entrez nom et mdp"
  Lire name
  Lire log
  ok  <- Vrai
  nb_tent<- 1
  Tantque (ok) ET (nb_tent<=3) Faire
       Lire name
       Lire log
Fin tant que
        si nb_tent>3 et non ok alors
       "Ecrire veuillez contacter votreadmin."
        sinon Afficher Menu  
 
Voilà bon, j'ai plusieurs solution possible mais ma question est la suivante, comment vérifier précisément si les login entrés sont ceux correspondant au fichier? Tu serais aussi m'aider pour l'écriture de ce code stp?
Merci

n°1889928
Deamon
Posté le 31-05-2009 à 17:00:07  profilanswer
 

Je verrai plutot un truc du genre :

 
Code :
  1. Ouvrir(fichierNomMdp)
  2. mdpCorrect = Faux
  3. TantQue(Non(finDeFichier(fichierNomMdp))) Faire
  4.    ligne = lireLigne(fichierNomMdp)
  5.    Si name = recupererNom(ligne) Alors
  6.       Si pass = recuperMdP(ligne) Alors
  7.          mdpCorrect = Vrai
  8.       Fin Si
  9.       Sortir TantQue
  10.    Fin Si
  11. Fin TantQue
  12. Si mdpCorrect Alors
  13. ...
  14. Sinon
  15. ...
  16. Fin Si
 

En imaginant que par exemple chaque ligne est du style :
monPseudo:monMotDePasse
et les fonctions recupérerX s'occupent de découper la ligne pour obtenir soit le nom soit le pass.


Message édité par Deamon le 31-05-2009 à 17:01:35
mood
Publicité
Posté le 31-05-2009 à 17:00:07  profilanswer
 

n°1889948
Zoba
Posté le 31-05-2009 à 18:12:49  profilanswer
 

Variable mdpcorrect <- booléen
Variable name, pws en alphanum
Variable i en num
Fonction recuperer nom()
 
 
 
Ouvrir (fichier secret.txt)
mdpcorrect <- Faux
Tant que (NON(findefichier(fichier secret.txt) ET mdpcorrect=Vrai))
        Pour i <- 1 à 3
       Faire  
         Ecrire "Entrez le nom"
      Lire name
      Ecrire "Entrez le mot de passe"
      Lire psw
      si name = recupererNom(ligne) alors
         si psw= recupererMdp(ligne) alors
         mdpcorrect <- Vrai
     finsi  
    finsi
  i suivant
Fin tant que  
       si mdpcorrect alors
      Afficher Menu
  sinon
         Ecrire "Veuillez contacter votre administrateur"
        finsi
......
 
Contenu du fichier secret.txt
loggin1 = Vanzwam
Password1=motdepasse
loggin2 = Tintin
Password2=Milou
loggin3 = Truckmuche
Password3=Bazard  
 
Tu peux me dire ce que représente exactement la ligne 5 et 6 de ton code... Mon code modifié ci-dessus est il correct?
Si on se réfère au loggin se trouvant dans le fichier texte est ce que ça marchera selon toi.... pour moi il doit manquer une vérification???
Merci

n°1889955
Deamon
Posté le 31-05-2009 à 18:37:59  profilanswer
 

(Utilise les balises [ code] [ /code] , sans les espaces, pour mettre ton code ça sera plus clair)
 
Non ça ne va pas.
 

Code :
  1. Tant que (NON(findefichier(fichier secret.txt) ET mdpcorrect=Vrai))


Ca veut dire que si le mdp n'est pas correct tu restes dans ta boucle et tu n'en sors jamais.
 
Tu ne dois pas mettre l'entrée du nom et du pass dans la boucle mais avant ! Tu ne vas pas redemander le nom/mdp à chaque fois que ton programme lit une ligne quand même.
 
Pourquoi tu fais une boucle For avec i alors que tu n'utilises pas i et que tu es déjà dans une boucle While qui test la fin du fichier ?
 
Tu utilises "ligne" sans avoir dit ce qu'il y avait dedans.

n°1889959
Zoba
Posté le 31-05-2009 à 18:50:49  profilanswer
 

OK merci Deamon pour ton aide déjà... En effet il s'agit d'un "OU" et pas d'un ET c'est évident.
Justement je n'ai pas bien saisi  la ligne 5 et 6 de ton code à savoir: 5.   Si name = recupererNom(ligne) Alors
6.      Si pass = recuperMdP(ligne) Alors
 
Peux-tu m'expliquer la fonction?
Pour la boucle "for" j'essayais juste de placer ma condition à savoir maximum trois essais!!!
Tu peux m'aider à corriger ça stp en entrant la condition...
Merci

n°1889963
Deamon
Posté le 31-05-2009 à 19:01:58  profilanswer
 

Ca peut pas marcher avec un For. Car une fois sorti du For il va recommencer le While et refaire un For.
Utilise un compteur qu tu incrémentes après :
     si name = recupererNom(ligne) alors
Et tu rajoutes dans les conditions du While : OU compteur>3
 
Pour recupererX j'ai déjà décrit ce qu'elles faisaient : "les fonctions recupérerX s'occupent de découper la ligne pour obtenir soit le nom soit le pass". S'il faut que détailles ces fonctions en gros c'est je lis la chaine de caractères qu'on me donne en cherchant caractère par caractère le séparateur (tu as choisi "=" ). On note sa position et de 1 à la position-1 c'est le nom et de position+1 à la taille de la chaine c'est le pass.

n°1891267
Zoba
Posté le 04-06-2009 à 12:29:03  profilanswer
 

Me revoilà, j'ai une question à propos des tableaux: Comment puis-je dans une fonction ou procédure insérez un tableau, enregistrer des informations dedans et le réutiliser par la suite pour faire la somme de ses informations.
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Tableaux - Fichiers - Fonctions - Procédures

 

Sujets relatifs
Profiling et fonctions inlinedépot de fichiers dans une bdd free
Regrouper des fichiers excel en un seul par bouton vba[Résolu]Ouverture de fichiers et fonctions
copie d'un répertoire avec filtrage par extension de fichiers[Divers] Les fichiers *.DMF LG KP500
[C] Bus error, arbre et fichiersAquerir dans Excel des données venant de fichiers txt
Copier / Coller ligne entre fichiers excel 
Plus de sujets relatifs à : Tableaux - Fichiers - Fonctions - Procédures


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR