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 :

débuts en C : structure de données numériques


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par défaut débuts en C : structure de données numériques
    Bonjour,

    Tout à fait débutant, je cherche à résoudre le problème suivant :

    Entrer une date au clavier (par ex. jj/mm/aaa),
    acquérir la date du jour,
    calculer le nombre de jours les séparant.

    J'ai l'algo, mais je ne sais pas redéfinir une donnée numérique en "sous-données" et ne connais pas la fonction qui renvoie la date du jour.

    Quelqu'un(e) pourrait-il (elle) m'aider à démarrer?

    Merci

  2. #2
    Membre expérimenté Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Par défaut
    je pense que tu peux trouver ton bonheur dans "time.h"

    http://w3.ift.ulaval.ca/~abali/ift-1.../c110_110.html

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par rickinfo
    J'ai l'algo, mais je ne sais pas redéfinir une donnée numérique en "sous-données" et ne connais pas la fonction qui renvoie la date du jour.
    Tu ne connais pas le C du tout ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par défaut Débutant en C : nouveau monde
    Merci pour les réponses.

    Je m'initie au C dans le cadre d'une petite formation et j'essaie d'en faire un peu plus que ce qui est demandé;

    Il n'y a plus qu'à travailler...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    pour comparer des dates, le mieux c'est de les stockers en AAAAMMJJ , ce qui te permet d'avoir le nombre de jour les séparant en faisant une simple soustraction ^^

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Rastacouéne
    pour comparer des dates, le mieux c'est de les stockers en AAAAMMJJ , ce qui te permet d'avoir le nombre de jour les séparant en faisant une simple soustraction ^^
    ne racontes-pas n'importe quoi :

    20070101 - 20061231 = ??????????

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    euuuuh ^^ tout du moins i a un truc comme ça en tous cas ça marche pour les mois et les jours, fo juste gérer un cas particulier pour les années

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Hol,
    Citation Envoyé par Rastacouéne
    euuuuh ^^ tout du moins i a un truc comme ça en tous cas ça marche pour les mois et les jours, fo juste gérer un cas particulier pour les années
    Un peu plus que ça : la séquence AAAAMMJJ est "pleine de trous", et tu ne peux pas trouver un nombre de jours entre 2 dates en te contentant de faire une différence entre 2 valeurs ainsi codées.
    Fais-toi un petit test manuel juste en changeant de mois...

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Rastacouéne
    euuuuh ^^ tout du moins i a un truc comme ça en tous cas ça marche pour les mois et les jours, fo juste gérer un cas particulier pour les années
    Ne t'enfonce pas, tu fais pitié. Cette représentation permet le classement chronologique, c'est tout.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par défaut Structures de données et dates
    Bonjour et merci pour toutes ces réponses.

    Encore une fois, j'ai un algo. pour ce problème. Quoique, comme c'est moi qui l'ai écrit... On verra bien.

    J'ai trouvé de la doc. sur les structures de données ; je cherche juste une fonction simple renvoyant la date du jour sans horodatage. Je ne sais pas si time.h contient ça.

    Je constate que ce forum est d'un bon niveau ; peut-être ferais-je bien de ne pas l'encombrer avec mes états d'âme de débutant. La doc. est là pour ça.

    Bonne journée à tous.

  11. #11
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par rickinfo
    Encore une fois, j'ai un algo. pour ce problème. Quoique, comme c'est moi qui l'ai écrit... On verra bien.

    J'ai trouvé de la doc. sur les structures de données ; je cherche juste une fonction simple renvoyant la date du jour sans horodatage. Je ne sais pas si time.h contient ça.
    Une bonne utilisation des fonctions standards suffit.
    • time()
    • struct tm
    • localtime()
    • mktime()
    • difftime()
    • etc.

    lire la doc.

    http://man.developpez.com/

    pas besoin d'algo particulier, il y a déjà tout ce qu'il faut.

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Citation Envoyé par Rastacouéne
    pour comparer des dates, le mieux c'est de les stockers en AAAAMMJJ , ce qui te permet d'avoir le nombre de jour les séparant en faisant une simple soustraction ^^
    Cette représentation permet la comparaison de dates, par exemple (date1 < date2) renverra vrai si date1 est antérieure à date2. Pour le reste, le calendrier grégorien est tellement truffé d'exceptions et de cas particuliers en tout genre qu'il faut procéder à des traitements nettement plus sophistiqués.

  13. #13
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Lak,
    Citation Envoyé par BVertut
    Cette représentation permet la comparaison de dates, par exemple (date1 < date2) renverra vrai si date1 est antérieure à date2. Pour le reste, le calendrier grégorien est tellement truffé d'exceptions et de cas particuliers en tout genre qu'il faut procéder à des traitements nettement plus sophistiqués.
    Ce n'est même pas un problème de calendrier, grégorien ou autre : cette représentation ne permet pas, par une simple soustraction, d'obtenir le nombre de jours séparant les 2 dates.

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Je veux dire, s'il était possible d'adapter le système décimal pour former un "calendrier décimal" au lieu de notre calendrier grégorien, avec par exemple 10 mois par an, etc., la soustraction de deux dates pourrait avoir un sens.
    Mais bon, il ne s'agit que d'une vue de l'esprit, ce n'est pas pour rien que le calendrier grégorien est ce qu'il est et avec des si...

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par BVertut
    Je veux dire, s'il était possible d'adapter le système décimal pour former un "calendrier décimal" au lieu de notre calendrier grégorien, avec par exemple 10 mois par an, etc., la soustraction de deux dates pourrait avoir un sens.
    Mais bon, il ne s'agit que d'une vue de l'esprit, ce n'est pas pour rien que le calendrier grégorien est ce qu'il est et avec des si...

    le seul calendrier permettant ceci est le calendrier julien (voir le fil http://www.developpez.net/forums/sho...d.php?t=260778 sur le forum algorithmes/contribuez.. http://www.developpez.net/forums/forumdisplay.php?f=416).

  16. #16
    Membre expérimenté
    Inscrit en
    Décembre 2003
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 272
    Par défaut
    Pas vraiment possible non plus, puisqu'il y a aussi des années bissextiles dans ce calendrier.

  17. #17
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Ulmo
    Pas vraiment possible non plus, puisqu'il y a aussi des années bissextiles dans ce calendrier.
    on s'en fout complètement pour les différences.. Ce serait uniquement si tu veux exprimer la date en termes de année/mois/jour...

    Mais c'est ce qui sert en météorologie, en astronomie, parce que, tant que tu restes en nombre de jours, c'est continu.... depuis -4713 avant JC. et que du coup les différences sont faciles à faire..

    Voir le lien http://fr.wikipedia.org/wiki/Jour_julien

  18. #18
    Membre expérimenté
    Inscrit en
    Décembre 2003
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 272
    Par défaut
    Je ne connaissait pas ce jour julien (même si son existence est prévisible en astronomie), merci pour l'info.

    Mais attention à la confusion jour julien/calendrier julien (cf. premier paragraphe de ton lien ).

  19. #19
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    oui bien sûr

    mais si tu avais lu la discussion sur le thread mentionné dans mon post, ça donnait toutes les explications

  20. #20
    Membre expérimenté
    Inscrit en
    Décembre 2003
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 272
    Par défaut
    Là-bas aussi quand je lisais "date julienne" je pensais au calendrier. Il fallait vraiment que j'aille lire l'article sur le jour julien.
    D'ailleurs l'algorithme de ce lien ne gère que le calendrier grégorien, il n'est donc pas valable avant 1583. Mais je ne suis pas certain que cette remarque soit très utile...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Format de données numériques dans une requête
    Par Aurèl90 dans le forum Access
    Réponses: 1
    Dernier message: 16/11/2005, 10h40
  2. Aide pour diagramme de structure des données
    Par DeezerD dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/12/2004, 19h10
  3. Méta-Programmation - [ structures de données ]
    Par Dam)rpgheaven dans le forum C++
    Réponses: 3
    Dernier message: 03/12/2004, 19h38
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10

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