Microbug proposa d'en faire un topic, je le prend au mot
On s'est ensuite mit à parler du temps.
Allez y
Oui, je sais, c'est un topic pas très utile, mais un de plus, un de moins ....




Pollux
:vince :
A MOINS QUE le modulo 1000 ET le modulo 100 soient égaux à 0...
euh![]()
tes conditions sont redondantes, et il me semble que c modulo 400 ^^
vince
:Pollux
:vince :
A MOINS QUE le modulo 1000 ET le modulo 100 soient égaux à 0...
euh![]()
tes conditions sont redondantes, et il me semble que c modulo 400 ^^
j'avais appris à l'école, c'est tous les 4 ans, sauf les changements de siècles qui ne sont pas des changements de millénaires...


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);
}



vince :
bah si, ce décalage fait qu'on est plus déphasé par EDF que par le %age d'erreur du calend grégorien... et ce en permanence...