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 :

Problème avec IF et ELSE après recupération d'un char la condition ne fonctionne pas !


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 25
    Points : 22
    Points
    22
    Par défaut Problème avec IF et ELSE après recupération d'un char la condition ne fonctionne pas !
    Bonjour à tous,
    Voila le soucis qui va finir par me rendre chèvre

    Je saisi un nombre Base16 ---> 14C qui est enregistré dans une variable de type string puis je parcours un tableau de type char contenant (1.2.3.4.5.6.....A.B.C.D...).

    J'extrais le premier caractère '1' avec char c = nb16[k] donc c = '1'.
    Le problème est que quand je fais un if ( c == position k de montableau) il ne me trouve rien et renvoi "Pas de correspondance" alors qu'il devrait m'afficher l'indice k correspondant à 1 puis à 4 puis à C ?!

    Je code avec Code::Blocks...

    Merci pour votre aide

    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
     
                    for(int k = 0; k < 16; k++)
                    {
                        char c = nb16[k];
     
     
     
                        if ( c  == Base16[k])
                        {
                             cout << k << endl;
                        }
                        else
                        {
                            cout << "Pas de correspondance"<< endl;
                        }

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Bonjour,

    Tu utilises le même indice pour accéder à ta chaine à traiter nb16[k] et à celle de référence pour les caractères Base16[k] !

    Ça te paraît logique ?
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Bonjour Droggo,

    Arrrf effectivement mais au mins je devrai récupérer un indice même erroné ? non ?

    Merci pour ton aide ;-)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Merci droggo ça fonctionne ! J'ai imbriqués des for comme ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for (int i = 0; i < 3 ; i++)
                    {
                       char c =  nb16[i];
     
                        for (int j = 0;j < 16; j++ )
                        {
                            if ( c == Base16[j])
                        {
                             cout << j << endl;
                        }
     
                        }
    Et mes indices ressortent parfaitement !!!

    Encore merci pour ton aide bye ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec if-then-else
    Par pongping dans le forum Prolog
    Réponses: 6
    Dernier message: 27/10/2008, 23h00
  2. Problème avec mon if, else if, else
    Par beegees dans le forum ASP
    Réponses: 5
    Dernier message: 16/05/2008, 22h32
  3. Réponses: 4
    Dernier message: 10/03/2008, 03h59
  4. problème avec If then Else
    Par thomas_wagner dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/11/2007, 01h32
  5. Réponses: 8
    Dernier message: 01/09/2007, 21h20

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