IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Comparer deux chaines de caractères dans un if ?


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Comparer deux chaines de caractères dans un if ?
    Bonjour à tous, je débute le C++, et une chose m'enpèche de continuer mon apprentissage.

    Je souhaiterais comparer le résultat d'un cin avec soit un autre variable, ou directement avec du contenu. Le problème c'est que je ne sais comment faire, et je ne trovue pas cela dans les tutos.


    Merci d'avance à ceux qui m'aideront et à ceux qui tenteront de m'aider.

    Ps: J'utilsie code:block.

  2. #2
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut
    Tu fais un cin>>variable ensuite tu compare ta "variable avec une seconde à l'aide de l'opérateur == ... Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cin>>variable;
    if(varable==seconde);

  3. #3
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Ca ne mercha pas, ou du moins je n'arrive pas à faire marcher ce tte technique, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    int main( int argc, char *argv[])
    {
    	char* nom;
    	cout <<"Bonjour et bienvenue pour cette aventure dans le royaume du C++ \n ";
    	cout <<"Vous vivrez ici ce que vous ne vivrez nul par ailleur";
     
    	cout  <<"Mais quel est ton nom:";
    	cin>>nom;
     
    	cout<<"hum hum";
    	cout <<nom;
     
    	cout <<"TU me parait bien jeune pour ectte quete !";
     
    	cout<<"/nTe voici dans une plaine. Mais que vois tu au loin ? Un centaure,";
    	 cout<<"vite il faut courir !";
    	cout<<"/n Il te rattrape, tu dois le combattre /n";
    	cout <<"Ou ve tu le frapper ? /n Torse ou Tete ?";
     
    	char coup;
    	cin>>coup;
    char* chaine = "torse";
     
     
     
     
    	if (coup == chaine)
    	{
    cout<<"Yeahhh, il est mort !";
     
     
    	}
     
     
     
     
    }

    Voila, je débute en c++, donc h'héstez pas à me corriger Svp.

  4. #4
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    en effet, tu compares 2 variables de types différents
    tu compares un char* avec un char

    Et donc pour éviter ce genre de soucis, utilise la classe string qui permet une gestion aisée des chaines de caractères.

  5. #5
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Excusez moi de vosu embetez encore, mais pourrais je avoir plus de precision sur la classe string ?

  6. #6
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    tu trouveras plein de doc sur la faq : http://c.developpez.com/faq/cpp/?page=strings

    ton code deviendra

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string coup;
    cin >> coup;
     
    string chaine="torse";
    if (coup==chaine) ...
    (fais bien attention à l'utilisation de l'espace de nommage std en ajoutant using namespace std; ou bien std:: devant les mots string , cf faq)

    et idem pour ton char* nom qui deviendra un string nom

  7. #7
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci bien tout marce niquel, fin il y a un autre problème, mais on va voir cela autre part

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/10/2012, 01h03
  2. Comparer deux chaines de caractères
    Par xenos dans le forum Delphi
    Réponses: 5
    Dernier message: 18/06/2007, 11h01
  3. Comparer deux chaines de caractères
    Par helww dans le forum C++
    Réponses: 10
    Dernier message: 24/04/2007, 11h26
  4. Réponses: 4
    Dernier message: 08/09/2006, 09h41
  5. comparer deux chaines de caractères
    Par peuf23 dans le forum Langage
    Réponses: 3
    Dernier message: 30/01/2006, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo