Tableaux - Fichiers - Fonctions - Procédures - Algo - Programmation
Marsh Posté le 29-05-2009 à 13:32:09
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 ?
Marsh Posté le 29-05-2009 à 14:32:00
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...
Marsh Posté le 29-05-2009 à 14:47:59
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 ).
Marsh Posté le 29-05-2009 à 15:47:29
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....
Marsh Posté le 31-05-2009 à 13:26:45
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
Marsh Posté le 31-05-2009 à 14:26:25
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 ?
Marsh Posté le 31-05-2009 à 16:06:48
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
Marsh Posté le 31-05-2009 à 17:00:07
Je verrai plutot un truc du genre :
Code :
|
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.
Marsh Posté le 31-05-2009 à 18:12:49
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
Marsh Posté le 31-05-2009 à 18:37:59
(Utilise les balises [ code] [ /code] , sans les espaces, pour mettre ton code ça sera plus clair)
Non ça ne va pas.
Code :
|
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.
Marsh Posté le 31-05-2009 à 18:50:49
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
Marsh Posté le 31-05-2009 à 19:01:58
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.
Marsh Posté le 04-06-2009 à 12:29:03
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
Marsh Posté le 29-05-2009 à 12:56:55
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....