Pb test ! help !!!!

cs_ast Messages postés 10 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 21 avril 2004 - 8 févr. 2004 à 00:01
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 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,

Merci d'avance.

AsT.

Voici le code en question :

// Password.cpp

#include "iostream.h"
main(){

char code[5];

cout<<"Veuillez entrer le Mot de Passe :";

while (code="hello"){

cout<<"Password :";
cin >> code;
cout<<"\n";
}
return 0;
}

10 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
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

a part ca le reste (c'est a dire rien) est bien
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
8 févr. 2004 à 00:12
oh et puis ne mets pas #include "iostream.h"
mais #include

et using namespace std, même si ton compilateur ne t'y oblige pas, normalement c'est nécessaire cae cin et cout sont définis dans l'espace de noms std
0
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 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
0
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 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
0
cs_ast Messages postés 10 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 21 avril 2004
8 févr. 2004 à 09:32
Merci bcp pour votre aide... Je vais essayer de suite...

AsT
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
8 févr. 2004 à 10:36
char test[5] veut dire tableau de 5 caractères, donc char[5] n'existe pas à priori
autant faire char test[] = "hello";
qui réservera automatiquement
0
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008
8 févr. 2004 à 20:26
vecchio56 -> t'a bien raison ca serait d'ailleur plus facile pour ast de changer son mot de passe par apres!
Destroyers27
0
cs_ast Messages postés 10 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 21 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 ?

AsT.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 févr. 2004 à 13:06
tu utilise quelle version de visual studio?
normalement a partir de la 6 (au moins) ca marche, et de plus #include ne marche pas je crois
0
Rejoignez-nous