Fonction d'identification

Signaler
Messages postés
44
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
17 février 2006
-
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
-
Bonjour, je suis entrain de faire un projet en c#, en mode console. C'est un questions-réponses, mais seul l'administrateur peut créer, supp ... Donc je voulais mettre une sorte d'identification toute bête. Pour cela, j'avais fait une fonction du genre :

static bool controle()
{
string ident, mdp;
Console.WriteLine("\nIdentifiant : \n");
ident = Console.ReadLine();

Console.WriteLine("\nMot De Passe : \n");
mdp = Console.ReadLine();

if ( ident "azerty" && mdp "0123")

{
return true;


}
else
{
return false;
}
}

Je suis pas sur d devoir renvoye un bool.

Mais donc j'apelle cette fonction dans mon programme principal, et je voudrais que si ceux sont les bons identifiants, il continue le programme sinon ...

Mais je ne sais pas comment lui dire cela.


J'espère que vous pourrez m'aider, merci d'avance.

7 réponses

Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
27 décembre 2005
2
Ben c'est pas compliqué, dans ton programme tu fais :



int nbfalse = 0;



while (controle() == false)

{

Console.WriteLine("\n Identifiant ou mot de passe incorrect, veuillez recommencer : \n");

nbfalse++;

if (nbfalse == 3)

Console.WriteLine("\n Trois essais sont passés au revoir ... \n");

exit();

}

else

{

// code pour continuer ton programme

}



Ca te permet de donner 3 chances a l'utilisateur de se logger, si il echoue ca quitte, s'il

reussit ca continue

La brigade meurt mais ne se rend pas (Hisoka)
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
27 décembre 2005
2
Pardon un else s'etait glissé en trop ^^













int nbfalse = 0;



while (controle() == false)

{

Console.WriteLine("\n Identifiant ou mot de passe incorrect, veuillez recommencer : \n");

nbfalse++;

if (nbfalse == 3)

{

Console.WriteLine("\n Trois essais sont passés au revoir ... \n");

exit();

}

}



// code pour continuer ton programme


La brigade meurt mais ne se rend pas (Hisoka)
Messages postés
44
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
17 février 2006

merci beaucoup, pour le else, j'avais remarqué, donc pas grave. je vais de suite changer ma réponse acceptée ;)
Messages postés
44
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
17 février 2006

petit probleme, lorsque j'arrive au bout de la troisieme fautes, j'ai bien le message qui me dit que ça fait trois fois que j'essaye, mais je ne quitte pas le programme, avec ma fonction "quit()" qui est égale à ta fonction "exit()" ...

Il me redemande mes identifiants...
Messages postés
44
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
17 février 2006

j'ai remarqué que si j'appelais une autre fonction,comme creer(), ça me déclenchait bien ce qui était dans creer(), et il ne me demandait plus les identifiants . Je comprends plus rien ...
Messages postés
44
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
17 février 2006

en fait si, après exécution de ma fonction creer(), il me redemande encore mes identifiants, cela doit etre du, au "while", mais je ne sais pas comment faire, aidez- moi!!! s'il vous plait!!!
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
int maxEssai = 3;

while (!controle() && --maxEssai > 0 )
{
Console.WriteLine("\n Identifiant ou mot de passe incorrect, veuillez recommencer : \n");
}

if (maxEssai == 0)
Application.Exit();

::|The S@ib|::
MVP C#.NET