Probleme en C++ (console)

Résolu
nightmar Messages postés 108 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 18 novembre 2006 - 18 nov. 2006 à 19:52
nightmar Messages postés 108 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 18 novembre 2006 - 18 nov. 2006 à 20:12
Bonsoir :)

Voila je debute en C++ et j'ai un petit probleme, j'ai esseyé de coder un code console asser simple mais apparament il y a un probleme avec mon If
Voila mon code :

#include
using namespace std;
int main()
{
    cout << "Bienvenue sur Gilgamesh 1.3b, veuillez maintenant vous identifiez" << endl;
    cout << "Login: ";
    char login[] = "anonyme";
    cin >> login;
    cout << "Pass: ";
    char pass[] = "anonyme";
    cin >> pass;
    if(login == "Nightmar")
    {
        cout << "Bienvenue administrateur Nightmar !" << endl;
    }
    return 0;
}

Quelqu'un vois l'erreur ? Merci d'avance

3 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
18 nov. 2006 à 20:09
Salut:

Comme tu utilises:
char login[] = "anonyme";
Pour réaliser une comparaison avec une autre chaîne de caractère tu dois utiliser:
1. strcmp pour une comparaison en tenant compte de la casse.

// Egalité
if (strcmp (login, "XXX") == 0)
// ...
else
// ...

2. strcmpi/stricmp pour une comparaison sans tenir compte de la casse.


// Egalité

if (strcmpi (login, "XXX") == 0)

// ...

else

// ...
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
18 nov. 2006 à 20:10
if(login == "Nightmar")

Ça ne peut pas fonctionner. "Nightmar" lors de la compilation sera transformé en une adresse donc tu te trouvera à comparer 2 adresses et comme ces adresses seront toujours différente, ça ne fonctionnera jamais.

 Il faut utiliser strcmp (ou équivalent en C++) pour comparer deux chaines

if(!strcmp(login, "Nightmar"))
{
    ...
}

C++ (@++)<!--
3
nightmar Messages postés 108 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 18 novembre 2006
18 nov. 2006 à 20:12
Je vois, merci de votre aide !
0
Rejoignez-nous