begin process at 2010 03 18 06:32:24
  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 :7 893

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

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É
Source avec Zip Source avec une capture IMPLÉMENTATION DE MINIMUM SPANNING TREE POUR UNE SOCIÉTÉ D'A...

 Sources de la même categorie

Source avec Zip TRANSFORMER UN ENTIER EN DEUX NOMBRES COMPOSÉ DES MEMES CHIF... par thebroyeur
CALCULE LOG(X) par tagtog
Source avec Zip Source avec une capture ALGORITHME DE TRI D'UN TABLEAU PAR ORDRE CROISSANT OU DÉCROI... par Thuzhen
Source avec une capture CALCUL DE VARIANCE par Minilogus
Source avec une capture GÉNÉRATEUR DE CLÉS SUR 26 DIGITS AU FORMAT HEXADÉCIMAL par besilent

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CALENDRIER (WIN64) par BruNews
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
CALENDRIER PERPÉTUEL par blassiou083

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 probleme de constucteur urgent [debutant] [ par yanne1985 ] salut class date{ int jour,mois,annee; public: date(int jour=0, int mois=0, int annee=0)     {     this-&gt;jour=jour;     this-&gt;mois=mois;     t heritage[debutant] [ par yanne1985 ] salut s'il vous plait j'ai besoin de votre aidej'ai une classeclass date{int jour,mois,annee;void lire()    {    int i,j,k;    cin&gt;&gt;i; cin&gt;&g


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,905 sec (4)

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