Partage
  • Partager sur Facebook
  • Partager sur Twitter

test entre 2 chaine de caractere ?

comment faire ?

    25 octobre 2006 à 19:25:32

    salut je voulais ecrie une fonction qui reçoit un mois et retourne son numero .

    int numeromois(char *nomois)
    {
            int r=0;
           
    if (*nomois=="janvier")
    {
                    printf("janvier");
                    r=1;

    }
            return r;
    }


    pour faire court je n'ai pris que janvier.
    merci
    • Partager sur Facebook
    • Partager sur Twitter
      25 octobre 2006 à 19:27:35

      Citation : isoman

      salut je voulais ecrie une fonction qui reçoit un mois et retourne son numero .


      int numeromois(char *nomois)
      {
              int r=0;
             
      if (*nomois=="janvier")
      {
                      printf("janvier");
                      r=1;

      }
              return r;
      }


      pour faire court je n'ai pris que janvier.
      merci



      Question simple : Pourquoi essais tu d'inventer ? Il me semble que l'on t'a déjà dit qu'en C, en ne compare pas deux chaînes avec l'oppérateur ==. strcmp ne te dit rien ? Dans ce cas, file relire le cours.
      • Partager sur Facebook
      • Partager sur Twitter
        25 octobre 2006 à 19:33:04


        int numeromois(char *nomois)
        {
                int r=0;
               
        if (strcmp(nomois,janvier)==0)
        {
                        printf("ok");
        }
                        printf("%d",r);
                return r;
        }



        ça ne marche pas :(
        • Partager sur Facebook
        • Partager sur Twitter
          25 octobre 2006 à 19:34:34

          Citation : isoman


          int numeromois(char *nomois)
          {
                  int r=0;
                 
          if (strcmp(nomois,janvier)==0)
          {
                          printf("ok");
          }
                          printf("%d",r);
                  return r;
          }



          ça ne marche pas :(



          Et les "" autour de janvier ?
          • Partager sur Facebook
          • Partager sur Twitter
            25 octobre 2006 à 19:58:09

            Citation : isoman

            salut je voulais ecrie une fonction qui reçoit un mois et retourne son numero .


            int numeromois(char *nomois)
            {
                    int r=0;
                   
            if (*nomois=="janvier")
            {
                            printf("janvier");
                            r=1;

            }
                    return r;
            }


            pour faire court je n'ai pris que janvier.
            merci


            Toujours le même problème :

            1 - Specification :

            "je voulais ecrie une fonction qui reçoit un mois et retourne son numero "

            Un peu court jeune homme !

            Quel est le format du mois ?

            "Jan", "jan", "january", "janvier" ou autre chose ? Il faut être plus précis.

            Et le nombre, c'est 0 à 11 ou 1 à 12 ou autre chose ?

            J'attends ta réponse pour continuer ...
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
              25 octobre 2006 à 20:12:13

              janvier ,fevrier,etc ... et la fonction retourne les numeros normaux de 1 a 12.
              • Partager sur Facebook
              • Partager sur Twitter
                25 octobre 2006 à 20:20:19

                Citation : isoman

                c'est kifkif



                Image utilisateur

                Ah vraiment ?

                strcmp(a, "prout") == strcmp(a, prout) ??
                • Partager sur Facebook
                • Partager sur Twitter
                  25 octobre 2006 à 20:21:12

                  Citation : isoman

                  janvier ,fevriere,etc ... et la fonction retourne les numeros normaux de 1 a 12.


                  Tu veux donc dire "les noms complets des mois tout en minuscule et sans accents" ? C'est bien ça ?

                  Il te manque des mots pour t'exprimer ou quoi ? Trop de console ? Trop de télé ? Trop de THC ? Trop de chat/SMS ?

                  Quand à la 'normalité' des numéros des mois, elle est toute relative. Il suffit de lire la doc de struct tm.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Music only !
                    25 octobre 2006 à 20:38:11

                    pour -ed- :euh oui c'est ce que je voulais dire désolé , les normaux sans accents et majuscules et les numeros de 1 a 12.
                    pour yno:je veux dire que ça ne marche pas .
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 octobre 2006 à 20:45:26

                      Citation : isoman

                      pour -ed- :euh oui c'est ce que je voulais dire désolé , les normaux sans accents et majuscules et les numeros de 1 a 12.
                      pour yno:je veux dire que ça ne marche pas .



                      Peut on voir ton nouveau _code_ ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 octobre 2006 à 20:49:26

                        voila

                        if (strcmp(nomois,janvier)==0)
                        {
                                        printf("janvier");
                        }
                        else
                        {
                                (r=-1);
                        }
                                       
                                return r;
                        }


                        evidement je n'ai pas mis tous les mois .
                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 octobre 2006 à 20:50:46

                          Citation : isoman

                          voila


                          if (strcmp(nomois,janvier)==0)
                          {
                                          printf("janvier");
                          }
                          else
                          {
                                  (r=-1);
                          }
                                         
                                  return r;
                          }


                          evidement je n'ai pas mis tous les mois .



                          :/


                          if (strcmp(nomois,"janvier")==0)
                          {
                                          printf("janvier");
                          }
                          else
                          {
                                  (r=-1);
                          }
                                         
                                  return r;
                          }



                          Normalement ça doit marcher...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            25 octobre 2006 à 20:52:01

                            Citation : isoman

                            voila


                            if (strcmp(nomois,janvier)==0)
                            {
                                            printf("janvier");
                            }
                            else
                            {
                                    (r=-1);
                            }
                                           
                                    return r;
                            }


                            evidement je n'ai pas mis tous les mois .



                            Bon faudrait peut être penser à lire les posts tu ne crois pas ? On veut bien aider mais quand même quand on donne les réponses faut s'en servir. Apparament tu n'as pas saisi la notion de chaînes de caractères donc va relire le cours la dessus et tu verras de suite ce qui cloche.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              25 octobre 2006 à 20:55:59

                              c'est deja fais et je n'ai pas constaté un truc anormal.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                25 octobre 2006 à 20:56:57

                                Tu as apparement mal lu -ed-, d'après son post il s'agit d'une version "sms-lol-mdr" des noms de mois :

                                Citation

                                fevriere



                                Sinon, il s'agit d'un code extremement simple, et la lecture des premiers chapitres de n'importe quel cours de C (ceux de ce site y compris) t'apprendras à l'écrire. Nous ne sommes pas là pour faire le travail à ta place. Apprendre un langage de programmation est une affaire sérieuse, tu n'arriveras à rien en juste survolant les chapitres.

                                "C'est kifkif" : cette expression prouve bien que tu n'as rien compris. Pour le compilateur, si tu fais ce genre d'erreur ton code est simplement faux et il t'enverra balader. Ecrire du code approximatif ne te mènera nulle-part, inutile donc d'écrire un truc en croyant que le compilateur va se démerder pour voir ce que tu as voulu dire.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  25 octobre 2006 à 21:00:20

                                  Citation : isoman

                                  c'est deja fais et je n'ai pas constaté un truc anormal.



                                  Et les "" autour du janvier dans strcmp. Voici un code, si tu es au bord du gouffre, regarde le :p

                                  Secret (cliquez pour afficher)


                                  void numeromois(const char *mois)
                                  {
                                      char *listeMois[] = {"janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "decembre"};
                                      int i = 0;
                                      for (i = 1; i <= 12; i++)
                                      {
                                           if (strcmp(listeMois[i - 1], mois) == 0)
                                           {
                                               return i;
                                           }
                                      }
                                      return -1;
                                  }


                                  Non testé, à vérifier
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    25 octobre 2006 à 21:01:17

                                    il s'agit d'une faute de frappe c'est tout et je ne t'ai pas demander de faire le travail a ma place!
                                    merci.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      25 octobre 2006 à 21:04:48

                                      Citation : isoman

                                      il s'agit d'une faute de frappe c'est tout et je ne t'ai pas demander de faire le travail a ma place!
                                      merci.



                                      Ben prend garde à corriger tes fautes de frappe avant de venir nous demander pourquoi ton programme marche pas. (à moins que tu n'en sois pas capable tout seul)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        25 octobre 2006 à 21:14:46

                                        Citation : Yno



                                        if (strcmp(nomois,"janvier")==0)
                                        {
                                                        printf("janvier");
                                        }
                                        else
                                        {
                                                (r=-1);
                                        }
                                                       
                                                return r;
                                        }



                                        Normalement ça doit marcher...


                                        Si j'en crois la spec, manque pas un "r = 1;" quelque part... ?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Music only !
                                          25 octobre 2006 à 21:26:44

                                          Citation : -ed-

                                          Citation : Yno



                                          if (strcmp(nomois,"janvier")==0)
                                          {
                                                          printf("janvier");
                                          }
                                          else
                                          {
                                                  (r=-1);
                                          }
                                                         
                                                  return r;
                                          }



                                          Normalement ça doit marcher...


                                          Si j'en crois la spec, manque pas un "r = 1;" quelque part... ?



                                          J'ai pas fais gaffe, j'ai copié à l'arrache le premier bout de code qui m'est tombé sous la main.
                                          J'ai surtout essayé de lui faire voir sa "faute de frappe" :-° au niveau du strcmp
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            25 octobre 2006 à 23:24:43

                                            Citation : Yno

                                            Citation : isoman

                                            c'est kifkif



                                            Image utilisateur

                                            Ah vraiment ?

                                            strcmp(a, "prout") == strcmp(a, prout) ??



                                            2 ou 3 messages plus tard, isoman a répondu :

                                            Citation : Yno

                                            pour yno:je veux dire que ça ne marche pas .



                                            Je voudrai indiquer quelque chose à isoman (du moins s'il lit le message).
                                            Yno n'a pas voulu te dire que strcmp(a, "prout") == strcmp(a, prout) mais il a voulu te prouver le contraire car au mot >prout< il n'y a pas de guillemet alors qu'il devrait en avoir.


                                            De plus à toi Yno : dans un seul cas ça peut marcher ton strcmp(a, "prout") == strcmp(a, prout). Ca marche que quand la variable prout a comme valeur la chaîne de carctère "prout". :-°
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              26 octobre 2006 à 0:25:39

                                              Citation : remram44

                                              Tu as apparement mal lu -ed-, d'après son post il s'agit d'une version "sms-lol-mdr" des noms de mois :

                                              Citation

                                              fevriere



                                              Sinon, il s'agit d'un code extremement simple, et la lecture des premiers chapitres de n'importe quel cours de C (ceux de ce site y compris) t'apprendras à l'écrire. Nous ne sommes pas là pour faire le travail à ta place. Apprendre un langage de programmation est une affaire sérieuse, tu n'arriveras à rien en juste survolant les chapitres.

                                              "C'est kifkif" : cette expression prouve bien que tu n'as rien compris. Pour le compilateur, si tu fais ce genre d'erreur ton code est simplement faux et il t'enverra balader. Ecrire du code approximatif ne te mènera nulle-part, inutile donc d'écrire un truc en croyant que le compilateur va se démerder pour voir ce que tu as voulu dire.



                                              "du calme Dac!" -Luke Skywalker

                                              C'est normal qu'un nouveau à la programmation en C fasse des erreurs, c'est loin d'être simple... ;)
                                              et c'est aussi normal qu'il pose des questions ou soit totalement perdu dans quelques lignes de code. c'est pour les zéros ici

                                              D'un autre côté faudrait pas se décourager, un bon programmeur tient sa documentation à portée de main (même après 5 ans de PHP et 3 ans de C++ j'ai toujours mes 2 bouquins sur l'étagère au dessus du bureau, devant moi au cas où)... ensuite si tu ne trouve pas nul part, tu pourras poser ta question, on sera là!


                                              Allons les "pros" n'oubliez pas que vous aussi avez été "amateurs" ;) et que vous êtes su le site du Zéro
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              test entre 2 chaine de caractere ?

                                              × 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