Partage
  • Partager sur Facebook
  • Partager sur Twitter

utilisation de switch

Sujet résolu
    24 octobre 2006 à 16:54:42

    salut je veux ecrire un programme qui fait correspondre a chque mois son numero (janvier=1,fevrier=2 ....) en utilisant switch voila mon code qui ne marche pas bien sur :p . apparament le problme est dans les conditions du switch mais je ne sais pas comment le corriger.

    int numeromois(char *nomois)
    {
            int r;
            switch (*nomois)
            {
            case "janvier":
                    r=1;
                    break;
            case "fevrier":
                    r=2;
            default:
            puts("echec");
            }
            return r;
    }

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      24 octobre 2006 à 16:57:14

      il faut metre
      case 'janvier':


      la chaine de cara doit etre entre apostrophe et pas entre guillemet.
      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2006 à 17:01:27

        Citation : Darkelfe

        il faut metre

        case 'janvier':



        la chaine de cara doit etre entre apostrophe et pas entre guillemet.



        Vraiment ? Une chaîne de caractères est délimitée par des simples quotes '' en C ?

        isoman, tu ne peux pas utiliser de switch pour des chaînes de caractères. Tu dois utiliser des conditions if/else if/else pour vérifier le retour de strcmp.
        • Partager sur Facebook
        • Partager sur Twitter
          24 octobre 2006 à 17:12:13

          lol c'est l'unique solution ?
          • Partager sur Facebook
          • Partager sur Twitter
            24 octobre 2006 à 17:14:16

            Citation : isoman

            lol c'est l'unique solution ?



            Pas forcément, à toi d'essayer de réfléchir et trouver un algorithme plus _performent_.
            • Partager sur Facebook
            • Partager sur Twitter
              24 octobre 2006 à 17:55:51

              en C/C++ les switch ne fonctionne qu'avec des entiers (int)

              de plus 'janvier' : ne refait plus jamais ça! on est pas en PHP, comme tu le dis pour UN char on utilise 'j', pour une CHAÎNE de char on utilise "janvier" et le pointeur peut pointer que sur le premier char tant qu'on connait la longueur du texte, tout va bien.
              • Partager sur Facebook
              • Partager sur Twitter

              utilisation de 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