// retourne le nb de sec écoulées depuis date de référence. 1 1 ref à 00:00:00 int to_sec(int aref, int y1, int m1, int j1, int h1, int mn1, int s1) { int nbs = 0; int a,d; for (a=aref; a<y1; a++) { nbs += 365*24*60*60; if (bissextile(a)) nbs += 24*60*60; } for (d=1; d<m1; d++) { switch (d) { case 1: nbs += 31*24*60*60; break; case 2: if (bissextile(y1)) nbs += 29*24*60*60; else nbs+=28*24*60*60;break; case 3: nbs += 31*24*60*60;break; case 4: nbs += 30*24*60*60;break; case 5: nbs += 31*24*60*60;break; case 6: nbs += 30*24*60*60;break; case 7: nbs += 31*24*60*60;break; case 8: nbs += 31*24*60*60;break; case 9: nbs += 30*24*60*60;break; case 10: nbs += 31*24*60*60;break; case 11: nbs += 30*24*60*60;break; case 12: nbs += 31*24*60*60;break; } } nbs += j1*24*60*60; nbs += h1*60*60; nbs += mn1*60; nbs += s1; return nbs; }
int duree(int m, int y) { int res; switch (m) { case 1: res = 31; break; case 2: if (bissextile(y)) res=29; else res=28;break; case 3: res = 31;break; case 4: res = 30;break; case 5: res = 31;break; case 6: res = 30;break; case 7: res = 31;break; case 8: res = 31;break; case 9: res = 30;break; case 10: res = 31;break; case 11: res = 30;break; case 12: res = 31;break; } return res; }
int main() { puts((!bissextile(100) && !bissextile(5) && bissextile(4) && bissextile(400)) ? ":)" : ":("); return 0; }