Qqqn connaitrait un bon site expliquant l algo pour generer un calendrier?
merci
int dayOfWk(int jour, int mois, int annee)
{
char tab1[12] = {6,2,3,6,1,4,6,2,5,7,3,5};
char tab2[7] = {6,1,3,5,4,5,6};
int siecle = annee / 100;
int decennie = annee % 100;
int temp;
if ((mois > 12) | (mois < 1)) return -1; //il ne faudrait pas faire planter le programme pour cause d'arguments invalides
int z = tab1[mois-1];
if ((mois <=2) && (annee % 400 != 0) && ((decennie == 0) | (annee % 4 != 0))) z++;//pour voir si l'année est bissextile
if (siecle > 15) temp = -tab2[(siecle+3 *(siecle/4)) % 7];//il y a 2 cas suivant qu'on est dans le grégorien ou dans le julien
else temp = -(siecle % 7)-1;
if ((annee == 1582) && ((mois > 10) | ((mois == 10) && (jour >= 15)))) temp = -5;
return (((temp + decennie + (decennie / 4) + z + jour - 3) % 7) + 1);
}
</10%-troll> )
int dayOfWk(int jour, int mois, int annee)
{
char tab1[12] = {6+4,2+4,3+4,6+4,1+4,4+4,6+4,2+4,5+4,7+4,3+4,5+4};
char tab2[7] = {7-6,7-1,7-3,7-5,7-4,7-5,7-6};
int siecle = annee / 100;
int decennie = annee % 100;
int temp;
if ((mois > 12) || (mois <= 0)) return -1; //il ne faudrait pas faire planter le programme pour cause d'arguments invalides
if (siecle > 15) temp = tab2[(siecle+3 *(siecle/4)) % 7];//il y a 2 cas suivant qu'on est dans le grégorien ou dans le julien
else temp = 20-siecle;
if ((annee == 1582) && ((mois > 10) || ((mois == 10) && (jour >= 15)))) temp = 2;
temp += tab1[mois-1];
if ((mois <=2) && (annee % 400 != 0) && ((decennie == 0) || (annee % 4 != 0))) temp++;//pour voir si l'année est bissextile
return (((temp + decennie + (decennie / 4) + jour) % 7) + 1);
}