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 :

Calcul de validité d'une date


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut Calcul de validité d'une date
    Bonjour a tous , Madame Monsieur ^^ enfin tous ceux qui auront la gentillesse de venir aidé une povre quiche comme moi ! Actuellement je débute en C donc c'est un peu la lutte et j'avou qu'après 1 semaine de cogitation n'ayant toujours pas trouvé je deviens FOU !!


    Donc voila j'dois réalisé un prog. qui calcule la validité d'une date !! J'ai déja tappé tout ca mais bon ... :


    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int j,m,a;
        printf("donner les jours:");
        scanf("%d",&j);
        printf("donner le mois:");
        scanf("%d",&m);
        printf("donner l'annee:");
        scanf("%d",&a);
        if (a>0)
           switch (m) {
               case 4: case 6: case 9: case 11:
                    if ((j>=1)&&(j<=30))
                    printf("la date est valide");
                    else printf("la date est erronee");
                    break;
               case 1: case 3: case 5: case 7: case 8: 
               case 10: case 12:
                    if ((j>=1)&&(j<=31))
                    printf("la date est valide");
                    else printf("la date est erronee");
                    break;
               case 2:
                    if (a%4==0)
                       if (a%100==0)
                          if (a%400==0)
                             if ((j>=1)&&(j<=29))
                                printf("date ok");
                              else printf("date erronee");
                          else if ((j>=1)&&(j<=28))
                                printf("date ok");
                               else printf("date erronee");
                        else if ((j>=1)&&(j<=28))
                                printf("date ok");
                       break;
               default:
                printf("le mois est errone");
                break;                  
        }
        else printf("date erronee");
        system("pause");
        return 0;
    }

    Voila j'suis bloqué là mon réel est qu'il ne vérifie pas février dès qu'il arrive au test de l'année bissexstile avec le modulo de %@"'& là ! bah ca plante :'( a mon plus grand désespoir , donc voila , j'espere sincèrement que quelqu'un pourra m'aidez ...

  2. #2
    Membre éclairé Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Par défaut
    Salut à toi !

    Plusieurs ptites remarques :

    - scanf à éviter si on ne connait pas vraiment bien cte fonction -> à la place utiliser fgets + fonction de conversion qui va bien (strtol etc...)

    - ensuite, si j'étais toi, je me ferais une petite fonction du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int testBissextile (int an)
    qui testerait si une année est bissextile ou pas, ça clarifierait les choses déjà

    Bon courage .

    Ps : je sais pas écrire bissextile et j'ai la flemme de chercher :p

    [-ed- FireFox sait !]

  3. #3
    Membre actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut Merci ^^ !!!
    Merci gyzmo !! Ouais bah pour scanf j'suis obligé de l'utiliser j'connais que ca pour l'instant , le prof d'algo nous a pas apprisle reste encore ! en tt cas merci beaucoup pour ton aide !!!!

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par luffy27 Voir le message
    Donc voila j'dois réalisé un prog. qui calcule la validité d'une date !!
    => http://www.developpez.net/forums/sho...d.php?t=429443

    Citation Envoyé par GyZmoO Voir le message
    Ps : je sais pas écrire bisextile et j'ai la flemme de chercher :p
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int Bissextile(unsigned short aa)
    {
        return ((aa % 4) == 0 && (aa % 100) != 0) || (aa % 400) == 0;
    }
    On peut même éviter la fonction et le faire en macro...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Validité d'une date.
    Par ishdiane dans le forum Langage
    Réponses: 4
    Dernier message: 28/06/2006, 14h03
  2. vérifier la validité d'une date
    Par griese dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/06/2006, 16h11
  3. [Dates] date() validité d'une date
    Par BigBarbare dans le forum Langage
    Réponses: 2
    Dernier message: 04/04/2006, 16h45
  4. Réponses: 15
    Dernier message: 03/11/2005, 15h43
  5. [Dates] Calcul tout bête sur une date...
    Par poah dans le forum Langage
    Réponses: 5
    Dernier message: 01/11/2005, 15h02

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