Partage
  • Partager sur Facebook
  • Partager sur Twitter

Condition date du jours

    5 octobre 2021 à 16:15:36

    Bonjour, 

    je début dans le langage C depuis bientôt 4 semaines, et je cherche à créer une condition simple mais j'ai que des erreurs. J'utilise la librairie time.h afin de récupérai la date du jour et j'aimerai crée une simple condition qui serait :

    if date_du_jour == "01-01-2021" {

    print("Bon");

    } else {

    print("Pas Bon");

    }

    Merci pour votre expertise dans ce langage.

    Cordialement

    • Partager sur Facebook
    • Partager sur Twitter
      5 octobre 2021 à 17:10:47

      Hello,

      Pour comparer des chaines de caractères, il faut utiliser strcmp() :

      #include <string.h>
      
      if(strcmp(date_du_jour,"01-01-2021")==0)
          printf("bon");
      else
          printf("pas bon");

      -
      Edité par edgarjacobs 5 octobre 2021 à 17:12:04

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        5 octobre 2021 à 17:14:45

        Bonjour ! Est-ce que tu es obligé d'utiliser "time.h".

        Car d'après l'algorithme que tu as indiqué, tu comptes représenter la date par une chaîne de caractères. Dans ce cas, il suffit d'utiliser la fonction 'strcmp' de "string.h".

        Attention, cette syntaxe

        if (date_du_jour == "01-01-2021")

        ne teste pas si la variable 'date_du_jour' contient la chaîne "01-01-2021", elle teste si la variable 'date_du_jour' contient la même adresse que la chaîne littérale "01-01-20021". En effet, l'opérateur == ne s'applique pas au contenu d'un tableau (une chaîne de caractères est un tableau de caractères) mais à l'adresse du tableau.

        Il faut faire (à vérifier dans la doc) :

        if (strcmp(date_du_jour, "01-01-2021") == 0)

        (Si je devais comparer des dates, je les représenterais plutôt sous forme d'entier, par exemple : 20210101 (à condition que ce soit des dates comprises entre l'an 0 et l'an 9999). Une telle représentation facilite la comparaison (les opérateurs ==, <, > s'appliquent), mais c'est moins pratique pour un joli affichage. Il faut voir selon l'utilisation qu'on compte faire des dates.)

        -
        Edité par robun 5 octobre 2021 à 17:18:31

        • Partager sur Facebook
        • Partager sur Twitter

        Condition date du jours

        × 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