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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
| #include<stdio.h>
#include<stdlib.h>
int main()
{
/*Déclaration des variables*/
int j,jsv,nbj,c,m,msv,a,asv,abi;
const char* nomjour[]={"Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"};
//Saisie de la date par l'utilisateur
//15 octobre 1582
do
{
printf("\nVeuillez saisir l'année : "
"\nAttention le calendrien grégorien commence le 15 octobre 1582\n");
scanf("%d",&a);
asv=a;
}while(a<1582);
if((a%4==0 && a%100 != 0) || a%400==0)
{
printf("\n%d est une annee bissextile",a);
abi=1;
}
else
{
if(a%100 != 0)
printf("\n%d n'est pas une annee bissextile",a);
abi=0;
}
do
{
printf("\nVeuillez saisir le mois : ");
scanf("%d",&m);
msv=m;
if(abi==1)
printf("\n%d est une annee bissextile, Attention le mois de Février comporte 29 jours\n",a);
else
printf("\n%d n'est pas une annee bissextile, Attention le mois de Février comporte 28 jours\n",a);
switch(m)
{
case 1:printf("Janvier 31 jours");
nbj=31;
break;
case 2:printf("Février 28 jours ou 29 (si année bisextile) ");
break;
case 3:printf("Mars 31 jours");
nbj=31;
break;
case 4:printf("Avril 30 jours");
nbj=30;
break;
case 5:printf("Mai 31 jours");
nbj=31;
break;
case 6:printf("Juin 30 jours");
nbj=30;
break;
case 7:printf("Juillet 31 jours");
nbj=31;
break;
case 8:printf("Août 31 jours");
nbj=31;
break;
case 9:printf("Septembre 30 jours");
nbj=30;
break;
case 10:printf("Octobre 31 jours");
nbj=31;
break;
case 11:printf("Novembre 30 jours");
nbj=30;
break;
case 12:printf("Décembre 31 jours");
nbj=31;
break;
}
}while((m<1)||(m>12));
do
{
printf("\nVeuillez saisir le jour : ");
scanf("%d",&j);
jsv=j;
}while((j<1)||(j>31));
if((m==2)&&(abi==1)&&(j>29))
{
printf("\nSaisie impossible, veuillez resaisir le jour : ");
scanf("%d",&j);
}
if((m==2)&&(abi==0)&&(j>28))
{
printf("\nSaisie impossible, veuillez resaisir le jour : ");
scanf("%d",&j);jsv=j;
}
if((m!=2)&&(nbj==31)&&(j>31))
{
printf("\nSaisie impossible, veuillez resaisir le jour : ");
scanf("%d",&j);jsv=j;
}
if((m!=2)&&(nbj==30)&&(j>30))
{
printf("\nSaisie impossible, veuillez resaisir le jour : ");
scanf("%d",&j);jsv=j;
}
while((j<1)||(j>31))
{
printf("\nSaisie impossible, veuillez resaisir le jour : ");
scanf("%d",&j);jsv=j;
}
if((m==2)&&(abi==1)&&(j>29))
{
printf("\nSaisie impossible, veuillez resaisir le jour : ");
scanf("%d",&j);jsv=j;
}
if((m==2)&&(abi==0)&&(j>28))
{
printf("\nSaisie impossible, veuillez resaisir le jour : ");
scanf("%d",&j);jsv=j;
}
c=(14-m)/12;
a=a-c;
m=m+12*c-2;
//j = ( jour + a + a/4 - a/100 + a/400 + 31m/12 ) mod 7
j=(j+a+a/4-a/100+a/400+((31*m)/12))%7;
printf("\nle %d/%d/%d est un %s",jsv,msv,asv,nomjour[j]);
return 0;
} |
Partager