begin process at 2012 02 12 14:21:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > JOUR A PARTIR D'UNE DATE MM/JJ/YYYY

JOUR A PARTIR D'UNE DATE MM/JJ/YYYY


 Information sur la source

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :dayfromdate, jourdate, jour, date, day Niveau :Expert Date de création :11/04/2007 Date de mise à jour :13/04/2007 17:15:24 Vu :10 308

Auteur : elkasimi2007

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


 Description

mon code sert pour savoir le jour a partir de la date exprimée sous la forme mm/jj/yyyy
mm : mois
jj : jour
yyyy : Annee
il prend en consideration que leapYear avant 1732 sont les multiples de 4 seulement!

Source

  • #include<stdio.h>
  • bool isleap(int n){
  • if(n<1732)
  • return (!(n%4));
  • return (!(n%4)&&(n%100))||!(n%400);
  • }
  • int mounths[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  • char *days[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
  • char* M[]={"","January","February","March","April","May","June","July","August","September","October","November","December"};
  • bool isvalide(int m,int d,int y){
  • if(d > 2 && d < 14 && m == 9 && y == 1752)
  • return false;
  • return ( d <= mounths[m]+isleap(y)*(m == 2) && m < 13 );
  • }
  • int main(){
  • int d,m,y;
  • printf("Enter the date that you want to know the correspondant day of week in this
  • form : mm dd yyyy\n mm:mounth \n dd : day\n yyyy:year\n");//ligne ajoutée en réponse a la demande de "ndubien"
  • scanf("%d%d%d",&m,&d,&y);
  • while(m != 0 && d != 0 && y != 0){
  • if(!isvalide(m,d,y))
  • printf("%d/%d/%d is an invalid date.\n",m,d,y);
  • else{
  • long L=0;
  • for(int i=1;i<y;i++)
  • L+=365+isleap(i);
  • for(int i=1;i<m;i++)
  • if(i == 2)
  • L+=28+isleap(y);
  • else
  • L+=mounths[i];
  • L+=d+4;
  • L-=11*((y>1752) || (y==1752 && m>9) ||(y==1752 && m==9 && d>2));
  • L%=7;
  • printf("%s %d, %d is a %s\n",M[m],d,y,days[L]);
  • }
  • scanf("%d%d%d",&m,&d,&y);
  • }
  • return 0;
  • }
#include<stdio.h>

bool isleap(int n){
    if(n<1732)
      return (!(n%4));
    return (!(n%4)&&(n%100))||!(n%400);
    }
int mounths[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char *days[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
char* M[]={"","January","February","March","April","May","June","July","August","September","October","November","December"};


bool isvalide(int m,int d,int y){
   if(d > 2 && d < 14 && m == 9 && y == 1752)
     return false;
   return ( d <= mounths[m]+isleap(y)*(m == 2) && m < 13 );
   }
int main(){
   int d,m,y;
   printf("Enter the date that you want to know the correspondant day of week in this
form : mm dd yyyy\n mm:mounth \n dd : day\n yyyy:year\n");//ligne ajoutée en réponse a la demande de "ndubien" 

  
   scanf("%d%d%d",&m,&d,&y);
   while(m != 0 && d != 0 && y != 0){
       if(!isvalide(m,d,y))
         printf("%d/%d/%d is an invalid date.\n",m,d,y);
       else{
          long L=0;
          for(int i=1;i<y;i++)
             L+=365+isleap(i);
          for(int i=1;i<m;i++)
             if(i == 2)
               L+=28+isleap(y);
             else
               L+=mounths[i];
          L+=d+4;
          L-=11*((y>1752) || (y==1752 && m>9) ||(y==1752 && m==9 && d>2));

          L%=7;
          printf("%s %d, %d is a %s\n",M[m],d,y,days[L]);

      }
       scanf("%d%d%d",&m,&d,&y);
   }


   return 0;

}



 Historique

13 avril 2007 17:15:25 :
réponse a la demande de "ndubien" :)

 Sources du même auteur

Source avec Zip Source avec une capture CLASS MATRICE C++
MEILLEURE MÉTHODE POUR CALCULER UN PUISSANCE
Source avec Zip Source avec une capture OBTENIR TOUTES LES NOMBRES PREMIERS DANS UNE GRANDE RANGÉE A...
Source avec une capture EVALUATION D'UNE EXPRESSION PARENTHÉSÉE
Source avec une capture CALCUL DU FACTORIEL DES GRANDS NOMBRES EN TOUTE RAPIDITÉ

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip JOUR DE NAISSANCE par fredg19
Source avec une capture ALGORITHME DE MAURICE KRAITCHIK (1882&#65533;1957) par thebroyeur
Source avec Zip Source avec une capture DELAMBRE par ralebole
AFFICHE DU JOUR PAR RAPPORT À UNE DATE par Pacifica
COMMENT SAVOIR QUEL JOUR ÉTAIT-ON À UNE TELLE DATE? par tekila_bandita

Commentaires et avis

Commentaire de ndubien le 11/04/2007 15:44:16

Bonjour,

Cette source est interressante mais présentes de nombreux problèmes :
- Si, à la place du mois, à la place du jour, ou à la place de l'année, on met un caractère autre qu'un nombre, le programme ne répond plus à aucunes commandes et ne peut s'arrêter qu'en exercant un clic sur la croix en haut à droite de la fenêtre (sous windows).
- De plus afin de rendre ce code plus captivant il serait préférable de dire à l'utilisateur ce qu'il est censé mettre (un mois, un jour, ou une année).

Malgré ces quelques critiques, ce code semble bien fonctionner et peut s'avérer interressant pour certains.

Au revoir.
ndubien

Commentaire de BruNews le 11/04/2007 19:19:14 administrateur CS

ndubien > la console ne sert plus que de support à la démonstration d'un algo, absolument rien de plus. Inutile de perdre du temps à faire de la déco ici, les fioritures sont faites pour le mode GUI.

Commentaire de pasquet78 le 14/04/2007 03:57:43

Serais-tu anglais ?
Mis à part l’erreur de la 3ème ligne où il y a 1732 à la place de 1752, je vois que tu passes du calendrier julien au grégorien du 2 septembre 1752 au 14 septembre 1752. Il y a seulement les protestants anglais qui ont changé de calendrier à cette date. Le pape Grégoire a instauré le calendrier grégorien à partir du 4 octobre 1582 en passant directement au 15 octobre. Une grande partie de la France a attendu le mandement d’Henri III pour changer de calendrier en décembre 1582.
Peut être que ton inspiration vient des sources du système d’exploitation UNIX, mais ses créateurs, eux, étaient d’origine anglaise.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

création de fichier [ par freeze ] Salut à tous,je voudrais créer un fichier qui reprendrai la date du jourPar exemple 0110022.zip pour un fichier zip du 01/10/2002En fait je voudrais é compiler en c++ avec la date [ par Ganaga ] Bonjour, Je cherche un moyen de compiler un programme en c++ qui inclu la date du jour en dur. &#199;a permettrai d'indiquer dans un fichier ex&#233; calendrier [ par chinois57 ] bjr tt le monde mon prof de math ma demander de faire un calendier perpituel en C mais je coince un peu bcp "please help me" ma source est :#include & SQL et date ! [ par Nixeus ] Bonjour à tous !Le programme que je développe doit comptabiliser des passages ( carte magnétiques) chaque jour ( afin d'en faire des statistiques)Voic programmatione en C [ par badramus ] bonjour tout le monde j'aimerais que vous m'aidez pour un projet &#224; rendre le 15 mai&nbsp;le projet present&#233; ci dessous1&nbsp; pour une date donner la date avec le jour et mois et annee [ par abdokayane ] bjr svp je cherche une applaication avec langage c qui permet de donner le date avec le jour le mois et l annee lorsq je veux ajouter des jours par ex aide pour dvpmt C [ par Stuntfire62 ] Bonjour,j' ai un pb pour un code en C, j'ai plusieurs choses a faire.je dois écrire une fonction permettant de comparer deux dates dans un tableau qui Pseudo-code [ par Caine10 ] Coucou, j'ai un petit soucis avec l'éxercice  suivant... j'ai grand besoin d'aide ^_^"L'utilisateur encode en une seule fois une date sous la forme AA Convertir Date en Ansistring [ par Milouchon85 ] Bonjour, Je suis actuellement en train de développer un petit outil avec C++ builder qui envoie des données d'une interface graphique vers un fichier trouver une date [ par sacredead ] bonsoir, j'aimerais avoir un peu d'aide pour créer un sous programme (en C) qui renverrait une date en fonction d'un indice de jour. par exemple, le 1


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,864 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales