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

Algorithmes et structures de données Discussion :

Validation de date


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Validation de date
    Salut, vraiment j'ai besoin de votre aide
    je me suis vachement bloqué dans cet algorithme, je ne sais pas d'où je vais commencer.
    il consiste a faire une vérification de la date est ce qu'elle est valide ou non
    en fonction d'année de mois et de jours

    j'attends vos suggestions
    et merci d'avance

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    A vrai dire, c'est plutôt simple du moment que tu ne prends pas en compte les particularité de la réforme grégorienne.

    Dis-nous ce que tu n'arrives pas à faire. Nous ne sommes pas là pour faire tes devoirs mais pour t'aider.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Premier mot Merci PRomu@ld de votre réponse
    je suis tout à fait d'accord avec vous vous n'êtes pas ici pour faire mes devoirs mais pour m'aider,
    moi aussi j'aime bien faire des tentatives avant que je demande l'aide
    mais vraiment comme je vous disais je suis vachement bloqué
    alors voila ce que j'arrive à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    \\ Module principal
    DÉBUT
    ecrire "entrer une jour"
    lire jour
    ecrire " entrer le mois "
    lire moi
    ecrire "entrer l'année"
    lire annee
    ecrire "vous avez entrer comme date",jour,moi,annee
    si annee >2009 ou moi>12 ou jour>31      alors
    ecrire "non valide"
    sinon
    ecrire"valide"
    finsi
     
    FIN
    mais il y a le cas du mois de février ainsi que la différence entre les mois avec 30 et celles avec 31, sans oublier lorsque l'on entre une année de 2 chiffres par exemple il faut quatre chiffres.

    Voila. Merci de m'aider.

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    si annee >2009 ou moi>12 ou jour>31      alors
    Il faut aller plus loin dans les tests mais l'idée est là.

    Il faut gérer (à l'aide de conditions comme tu l'as déjà fait pour l'année et le mois)

    -> Les mois à 30 jours, et ceux à 31
    -> Le mois de février.

    En gros c'est une succession de conditions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Si mois = 1 ou mois = 3 ou ... alors 
         Si jours > 31 alors
              Non valide

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Salut , merci pour l'aide voila où je me suis arriver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    DÉBUT
    ecrire "entrer la date  ( jj mm aa)"
    lire jour,moi,annee
    ecrire "vous avez entrer comme date",jour,"/",moi,"/",annee
    x=1
    si annee >=date[1]  alors
        si  mois =1 ou mois=3 ou mois=5 ou mois=7 ou mois=8 ou mois=10 ou mois=12   alors
       si jour>=31   alors
               x=0
            finsi
    sinon si mois =4 ou mois=6 ou mois=9 ou mois=11 alors
    x=0
    sinon si mois=2   alors
    si jour>=29 alors
    x=0
    finsi
    sinon
    x=1
    si jour>=30 alors
    x=0
    finsi
    finsi
    finsi
    si x!=0 alors 
    ecrire "Valide"
    sinon
    ecrire "non valide"
    finsi
    FIN

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Salut, voila je me suis avancé trop dans mon algorithme,

    il me reste juste comment je peux traiter le cas où le mois 2 soit dans une année bissextile ou au contraire , merci de pouvoir m'aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DÉBUT 
    ecrire "entrer la date  ( jj mm aa)" 
    lire jour,mois,annee 
    ecrire "vous avez entrer comme date",jour,"/",mois,"/",annee 
    si (jour<=31)  et (mois=1 ou mois=3 ou mois=5 ou mois=7 ou mois=8 ou mois=10 ou mois=12) et (annee>1900 et annee<2010)  alors 
    ecrire "Date Valide" 
    sinon si (jour<=30) et (mois=4 ou mois=6 ou mois=9 ou mois=11) et (annee>1900 et annee<2010) alors 
    ecrire "Date valide" 
    Sinon si (jour<=29) et (mois=2) et (annee>1900 et annee<2010) alors 
    ecrire "Date Valide" 
    sinon 
    ecrire "Date non Valide" 
    finsi 
    FIN

  7. #7
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Pour gérer les années bissextiles, il vaut mieux que tu fasses une fonction qui prend l'année en paramètre et renvoie un booléen selon que l'année est bissextile ou pas.

    Ensuite, la gestion du nombre de jour s'en trouve grandement facilitée.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Ok, Merci Mr de pouvoir m'aider
    j'arrive a résoudre le problème
    Voila mon code finale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    DÉBUT
    ecrire "entrer la date  ( jj mm aa)"
    lire jour,mois,annee
    ecrire "vous avez entrer comme date",jour,"/",mois,"/",annee
    x=0
    si (jour<=31)  et (mois=1 ou mois=3 ou mois=5 ou mois=7 ou mois=8 ou mois=10 ou mois=12) et (annee>1900 et annee<2010)  alors
    x=1
    sinon si (jour<=30) et (mois=4 ou mois=6 ou mois=9 ou mois=11) et (annee>1900 et annee<2010) alors
    x=1
    Sinon si  (mois=2) et (annee>1900 et annee<2010) alors
    si (annee/4=annee//4) et (jour<=29) alors
    x=1
    sinon si (annee/4!=annee//4) et (jour<=28) alors
    x=1
    sinon
    x=0
    finsi
    finsi
    si x=1 alors
    ecrire "date valide"
    sinon
    ecrire "date non valide"
    finsi
    FIN

Discussions similaires

  1. problème de validation de date
    Par anayathefirst dans le forum Struts 1
    Réponses: 6
    Dernier message: 05/02/2007, 02h09
  2. Validation de dates ?
    Par AsmCode dans le forum C++
    Réponses: 3
    Dernier message: 26/01/2007, 15h24
  3. Réponses: 4
    Dernier message: 02/06/2006, 15h41
  4. [STRUTS][VALIDATOR] Validation de dates
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 16
    Dernier message: 09/09/2005, 11h43

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