cs_ast
Messages postés10Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention21 avril 2004
-
8 févr. 2004 à 00:01
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
10 févr. 2004 à 13:06
Bonsoir a tous !
Je souhaiterais réaliser un code qui me demande un mot de passe et qui me rende la main lorsque le bon mot de passe est entre, mais prob. Qui peut m'aider,
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 févr. 2004 à 00:11
code="hello": je ne comprends pas très bien
si tu veux mettre hello dans code il faut utiliser strcp (sauf que ici code n'a que 5 caractères et "hello" en a 6 donc ca va planter.
Logiquement, ce que tu voudrais faire ce serait regarder si code et "hello" sont egaux je pense
dans ce cas remplace code="hello" par !strcmp(code, "hello")
enfin la première fois que tu fais ce test,hello n'est pas encore initialisé, donc utilise un do-while plutot qu'un while
frdestroyers27
Messages postés93Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention19 avril 2008 8 févr. 2004 à 00:27
int main()
{
char code[5];
char comp[5]="HELLO";
bool result=false;
int test;
cout<<"Veuillez entrez le mot de passe!";
while(result==false)
{
cout<<"Password:";
cin>>code;
cout<<"\n";
test=strncmp(code,comp,5);//compare les deux string
if(test==0)result=true;//si sont pareil retourne 0 donc
//met result a true et sort de la boucle
}
//code quand le bon psw est entre
return 1;
}
essaie ca!
je l'ai pas tester mais ca devrait etre bon
Destroyers27
frdestroyers27
Messages postés93Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention19 avril 2008 8 févr. 2004 à 00:30
je suis pas sur mais hello a 5 lettre mais un char commence a 0 donc en mettant
char test[5];
ont a test[0] a test[5] qui donne 6 espace donc assez pour le charactere null
Destroyers27
Vous n’avez pas trouvé la réponse que vous recherchez ?
frdestroyers27
Messages postés93Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention19 avril 2008 8 févr. 2004 à 00:40
oup une erreur t'es mieux en effet d'utiliser strcmp a place de strncmp c'est le meme principe sauf que tu met pas le nombre de charactere a tester a la fin de la commande!
tu mettrais juste
test=strcmp(code,comp);
Destroyers27
cs_ast
Messages postés10Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention21 avril 2004 8 févr. 2004 à 21:20
Merci bcp pour votre aide les gars, voici donc le programme final :
// Gotham.cpp : Password ;)
// Merci bcp pour leur aide à frdestroyers27 et à vecchio56 !
#include
#include <string.h>
int main()
{
char code[5]; // le password comprend 5 lettres
char comp[]="hello"; // initialisation du password
bool result=false;
int test;
cout<<"Bienvenue sur Nemo Protected System - (c)AsT of Mortel 2004 \n\n";
while(result==false)
{
cout<<"Veuillez entrer votre mot de passe : ";
cin>>code;
cout<<"\n";
test=strcmp(code,comp); //compare les deux string
if(test==0)result=true; //si sont pareil retourne 0 donc
//met result a true et sort de la boucle
}
//code quand le bon password est entre alors fin :)
return 1;
}
...
...
encore une chose, #include ne marche pas avec Visual Studio... ??? ou bien, j'ai du oublier qqchose ?
Prochaine question : Qui peux me dire comment affichier une image BMP dans une fenetre ?