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 :

probleme switch?


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut probleme switch?
    bonjour je suis nouveau sur ce forum mais je vien parceque j'ai un probleme en c++.
    je suis debutant voila mon probleme est que dans ce code la variable a monte jusque a 2 mais ensuite elle ne peut pas monter plus haut.
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    int win8(int a1, int a2, int a3, int a4, int a5)
    {
        int a;
        a = 0;
        switch (a1)
        {
               case 3: a = a+1;
               break;
               case 5: a = a+1;
               break; 
               case 7: a = a+1;
               break;
               default : a = a+0;
        }
        switch (a2)
        {
               case 3: a = a+1;
               break;
               case 5: a = a+1;
               break; 
               case 7: a = a+1;
               break;
               default : a = a+0;
        }
        switch (a3)
        {
               case 3: a = a+1;
               break;
               case 5: a = a+1;
               break; 
               case 7: a = a+1;
               break;
               default : a = a+0;
        }
        switch (a4)
        {
               case 3: a = a+1;
               break;
               case 5: a = a+1;
               break; 
               case 7: a = a+1;
               break;
               default : a = a+0;
        }
        switch (a5)
        {
               case 3: a = a+1;
               break;
               case 5: a = a+1;
               break; 
               case 7: a = a+1;
               break;
               default : a = a+0;
        }
        cout << a << "\n";
        int res;
        res = 0;
        if(a == 3)
        {
             res = 1;
        }
        return res;
    }
    je ne suis sans doute pas assez claire si vous vouler une autre partie du code demander moi ( il fait comme meme pas mal de ligne) . merci d'avance

  2. #2
    Membre éclairé
    Avatar de Floréal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 456
    Par défaut
    Bonjour.
    Avant toute chose, peux tu expliquer ce qu'est sensée faire cette fonction? Quelles valeurs elle doit prendre en entrée? Ce qu'elle doit retourner en fonction des paramètres.
    A la première lecture, l'ai l'impression que tu testes des entier allant de 1 à 8, et de compter ceux qui sont impairs. Et enfin retourner 1 si tu comptes 3 de tes paramètres impairs. Est-ce bien cela?
    Enfin dans quel cadre est elle utilisée? peux tu nous donner des exemples d'utilisations de ta fonction?

    Et pour répondre à ta question: selon ton code, tu ne testes pas si ça va au delà de 2 mais seulement si a est égal à 3. Donc si a == 4 ou a == 5, ta fonction retournera 0.

    Edit:
    J'ai réécrit ta fonction j'espère l'avoir rendue plus lisible
    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 win8(int a1, int a2, int a3, int a4, int a5)
    {
        int a = 0;
        //a1 % 2 signifie le reste d'une division de a1 par 2
        //si le reste est égal à 1 alors a1 est impair, donc :
        //si a1 est pair et 2 > a1 > 8
        //Et ainsi de suite pour les autres tests...
        if ( ( a1 % 2 == 1 ) && a1 > 2 && a1 < 8 ) 
        {
    	a++;
        }
        if ( ( a2 % 2 == 1 ) && a2 > 2 && a2 < 8 )
        {
    	a++;
        }
        if ( ( a3 % 2 == 1 ) && a3 > 2 && a3 < 8)
        {
    	a++;
        }
        if ( ( a4 % 2 == 1 ) && a4 > 2 && a4 < 8)
        {
    	a++;
        }
        if ( ( a5 % 2 == 1 ) && a5 > 2 && a5 < 8)
        {
    	a++;
        }
        cout << a << endl;
        int res = 0;
        //test si a est plus grand ou égal à 3
        //et non simplement égal à 3
        if(a >= 3)
        {
             res = 1;
        }
        return res;
    }

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut
    cette fonction sere a un morpions mode texte, elle teste si un joueur a les case 3,5,7 en meme temps les valeur a l'entre sont des valeur entre 0 et 9
    je retourne 1 mais j'aurais du le fair en booléen et retourné true ou false.
    si vous voulez plus d'information demander moi

Discussions similaires

  1. [Débutant] probleme switch groupe radio buttons
    Par taumyy dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 10/05/2011, 09h53
  2. Probleme switch RichFaces -> Myfaces(Config)
    Par crofteur dans le forum JSF
    Réponses: 14
    Dernier message: 09/01/2009, 11h43
  3. Probleme switch avec numericable
    Par mr_samurai dans le forum Hardware
    Réponses: 3
    Dernier message: 09/09/2008, 12h59
  4. probleme gestion condition switch - case
    Par DarkMax dans le forum Langage
    Réponses: 5
    Dernier message: 07/09/2005, 14h25
  5. [débutant] Probleme avec switch et héritage
    Par durk dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2005, 09h48

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