begin process at 2012 02 12 08:23:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

boucle

mardi 12 octobre 2004 à 21:36:11 | boucle

erwan35

bonjour à tous,

Je demande votre indulgence face à un nouveau langage nouveau pour moi!

Voici ma question:

je voudrais que quand on rentre un mot de passe incorrect, le code reboucle sur la question, pour l'instant j'ai fais ça le programme continue quelque soit le mot de passe!

Merci d'avance pour votre aide!

Erwan

{
char password[3];
char mdp[5] = "erwan";

int chk(char *str3,char *str4) {
int max = strlen(str3);
int i = 0;
while (i < max) {
if (str3[i] != str4[i]) return 0;
i++;
}
return 1;
}

do
{
rep=Saisie_chaine (password,1,6,8,3,TRUE,MODE_CLAV|MODE_SECRET);
} while ((rep != ENTER) && ((chk(password,mdp)) == 1));

}
mardi 12 octobre 2004 à 22:08:08 | Re : boucle

djl

Réponse acceptée !

char mdp[5] = "erwan";
==>
char mdp[] = "erwan";


ca devrais provoquer une erreur (la chaine contient 6 caracteres en contant le '\0' final), et te casse pas les neurones pour rien

evite aussi les fonctions imbriqué, c'est une extension du langage supporté par ton compilateur (sans doute gcc, devcpp ? )

int chk(char *str3,char *str4)

==> utilise strcmp (declarée dans string.h), retourne 0 si les 2 chaines sont identiques
mardi 12 octobre 2004 à 22:09:01 | Re : boucle

Hades53

Membre Club
#include <stdio.h>
#include <string.h>

#define pass "erf"
int main(int argc, char* argv[])
{
char buf[16];
do {
printf("Donnez le mot de passe:",buf);
gets(buf);
} while (strcmpi(pass,buf) && buf[0]);
return 0;
}


N'hésites pas à lire un tuto sur le C.
mardi 12 octobre 2004 à 22:14:00 | Re : boucle

djl

malheur ! jamais gets !

man gets

prefere fgets + tableau + sizeof pour eviter les frissons
mardi 12 octobre 2004 à 22:21:38 | Re : boucle

Hades53

Membre Club
Mouais, je ne vois pas spécialement en quoi le gets() pose problème mais bon...
mardi 12 octobre 2004 à 22:27:19 | Re : boucle

djl

ca fais pas de controle de bord, c'est connu comme truc (surtout par les hackeur) pour ecrire ou on veut sans demander l'autorisation

bref si jamais l'utilisateur tape plus de 15 caractere (lorsqu'on saisie au clavier<->stdin, vaut mieux tou prevoir ), tu ecris sur la pile
mardi 12 octobre 2004 à 22:32:11 | Re : boucle

Hades53

Membre Club
Ok merci pour l'info ;)
mardi 12 octobre 2004 à 22:41:45 | Re : boucle

djl

typiquement tu fais

char buff[SIZE];

fgets( buff, sizeof buff, stdin );

et tu peux dormir tranquille !

pour les memes raisons scanf( "%s", buff ); n'est pas recomandé
mercredi 13 octobre 2004 à 10:00:39 | Re : boucle

stephane_1979

Salut a tous,

Tiens si tu veux un TRES bon exemple de gestion de pasword, va voir la :
http://www.cppfrance.com/code.aspx?ID=10980

Dans cet exemple au moins ton password est crypté grace a un CRC8.

Ps : change le "char * message={""};" en "char * login={""};"
mercredi 13 octobre 2004 à 10:15:52 | Re : boucle

DeAtHCrAsH

Un ptit conseil, n'utilises jamais de #define "erwan", un simple désassemblage permettrait de retrouver facillement le mot de passe.
Génére le automatiquement ou alors trouves un autre systeme, mais ne le mets jamais en constantes!


Shell

1 2

Cette discussion est classée dans : boucle, int, password, char, str3


Répondre à ce message

Sujets en rapport avec ce message

Probleme dans mon prog password dans la gestion ' * ' [ par Jarod1980 ] Salut,Voila j'ai développé un programme de password qui récupère le password crypté dans un fichier et le compare au password rentré par l'utilisateur Probleme dans mon programme password [ par Jarod1980 ] Salut tout le monde,Voilà j'ai un problème dans mon programme de password. Je m'explique: J'ai développé en premier lieu un programme où l'utilisateur problème d'ouverture et de lecture d'un fichier [ par Trinity_vv ] J'ai fais un code d'ouverture et d'affichage d'un fichier, tout marchait très bien. Sans exagérer 10 minutes plus tard, je le régénére et il ne veut p renvoyer un int a partir d'une chaine [ par Toxyz ] bonsoir, apres 24h de programation, un nouveau probleme viens a moihier c'etait de remplacer "-" par "+-" dans une chainemerci encore a BruNews pour l Fonction heritage en C++? [ par romca ] Bonjour a tous je suis etudiant au CNED et voici un programme du CNED que j'ai en exemple mais voilà il ne fonctionne pas, j'en ai besoin pour des exe Optimisation des boucles pour ..... [ par zorrofes ] Bonjour les amis,j ai un code C d un programme de traitement de video/images. Mon projet c de bien comprendre (deinterlacing/interlacing) entrelacemen Hello World [ par Mr.X ] Alors voila un petit Hello World : #include #include #define GFSZF 256 #define GERZHR -10int eazzs=0;int FH3EIGJ(int a);int e(){return 12;}class htrd tableau a 2 dimensions [ par minet03 ] Bonjour, ceux qui ont eu l'occasion de me parler sur #Programmation vont surement me détester à jamais, mais voilà j'ai encore un problème avec ce tab int en char [ par max12 ] Bonjour, Quelqu'un aurait-il une idée de comment convertir une valeur int en un tableau de char ? La raison c'est que je veux l'afficher dans EDIT cr Probleme avec une source [ par n3m3s1s ] Erreur de code , je copi bien ce que me dit le livre pourtant #include #define MAXLIGNE 1000 int lireligne(char ligne[], char de[]); void copier(ch


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,778 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales