Partage
  • Partager sur Facebook
  • Partager sur Twitter

switch

    25 juillet 2007 à 18:15:22

    Bonjour à tous,

    Est-ce que en c++ on peut utiliser switch. Parce que sa fonctionne avec des if mais pas avec des switch et case.
    • Partager sur Facebook
    • Partager sur Twitter
      25 juillet 2007 à 18:35:42

      Bien sûr !
      Donne un exemple de code non fonctionnel, tu as du te tromper quelque part...
      • Partager sur Facebook
      • Partager sur Twitter
        25 juillet 2007 à 18:36:05

        Normalement, switch fonctionne en C++

        Il doit y avoir une erreur dans ton code. Essaye de relire ton code et de relire le tutoriel de M@teo21 sur les conditions.
        • Partager sur Facebook
        • Partager sur Twitter
          25 juillet 2007 à 18:45:07

          les switch en C++ ne prennent que des valeurs entières alors si tu veux tester avec des string il faudra que tu utilise des if-else if
          • Partager sur Facebook
          • Partager sur Twitter
            25 juillet 2007 à 18:48:38

            Si ton switch ne marche pas en suposant que tu utilise SDL (c'est simplement une suposition) il faudrai que tu rajoute à la suite de tes "case".

            default:
            break;
            • Partager sur Facebook
            • Partager sur Twitter
              25 juillet 2007 à 19:13:29

              la structure habituelle du switch est la suivante:

              switch(condition)
              {
              case 1: //instructions concernant le cas ou la condition vaut 1
                      break;
              case 2: //instructions concernant le cas ou la condition vaut 2
                      break;
              case 3:
              case 4://instructions concernant le cas ou la condition vaut 3 OU 4
                      break;
              default://Instructions pour TOUS les autre cas
                      break;
              }
               


              A noter que le "default" n'est pas obligatoire. L'omettre, cause juste un warning. Mais le mettre fait partie de la "bonne programmation".

              • Partager sur Facebook
              • Partager sur Twitter
              Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                25 juillet 2007 à 19:39:47

                tu as oublié un break; :p
                Si ca ne marche pas, lascap, c'est juste parce que tu t'es trompé.
                Sinon, je pense que dans un programme console, il faut presque toujours mettre un default :, enfin, c'est personnel, mais vivement conseillé...
                • Partager sur Facebook
                • Partager sur Twitter
                  25 juillet 2007 à 19:56:05

                  non je n'ai pas oublié de "break"

                  Regarde les commentaires que j'ai mis.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                    25 juillet 2007 à 19:57:35

                    Désolé, j'ai cru que c'était pas le but que tu recherchais, j'avais pas vu le commentaire :D désolé
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      26 juillet 2007 à 20:36:00

                      Non, il y en a un en trop. Apres le default :D
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        27 juillet 2007 à 4:21:09

                        Citation : Zandramas

                        Non, il y en a un en trop. Apres le default :D



                        C'est pas génant.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          27 juillet 2007 à 12:52:05

                          Ca fait quand même six caractères de plus à taper :'(
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 juillet 2007 à 17:00:24

                            :D
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                              28 juillet 2007 à 14:25:13

                              break sert à sortire du switch
                              si on oublie de mettre les break,cela ne blockera pas le compilo mais toutes les instructions contenu dans le switch seront true
                              (je n'ai pas mis tout le code (pour pas encombrer)


                              switch(direction)
                              {case 1:
                              cout<<"en haut"<<endl;
                              case 2:
                              cout<<"en bas"<<endl;
                              }

                              1: en haut 2:en bas
                              :1
                              en haut
                              en bas

                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 juillet 2007 à 14:35:10

                                bien sûr mais le dernier break n'est pas utile puisqu'il n'y a plus rien en-dessous.

                                Mais bon comment on dit déjà? OSEF ??
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                                Anonyme
                                  28 juillet 2007 à 15:16:29

                                  Euh oui :lol: . Mais bon, il est toujours utile de connaître "l'astuce" pour traiter de la même facon plusieurs cas sans retaper les instructions
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  switch

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown