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
| #include <mylib.h>
#include <stdio.h>
int est_annee_bissextile(int annee)
{
int bRet = 0;
/* ... */
return bRet;
}
int maxjours(int annee, int mois)
{
int ret = 0; /* Une valeur impossible */
switch(mois)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
ret = 31;
break;
case 2:
if(est_annee_bissextile(annee))
ret = 29;
else
ret = 28;
break;
case 4:
case 6:
case 9:
case 11:
ret = 30;
break;
default: /* Mois impossibles */
ret = 0;
break;
}
return ret;
}
int main(void)
{
long int date = 0;
long int annee ;
long int mois ;
long int jour ;
long int newdate ;
cls (BLEU);
gotoxy (1, 1); printf ("%45s", "DEVOIR 2");
gotoxy (2, 1); printf ("%45s", "=====================");
gotoxy (4, 1); printf (" Date : :");
lire_long_int (&date, 4, 28, 8, 1, 99999999);
annee = date / 10000;
mois = (date % 10000) / 100;
jour = (date % 100);
/* Calcul */
jour--;
if(jour == 0)
mois--;
if(mois == 0)
{
annee--;
mois = 12;
}
if(jour == 0)
jour = maxjours(annee, mois);
date = (annee * 10000 ) + (mois * 100) + jour ;
gotoxy (8, 1); printf ("dateprec: %ld \n\n\n", date);
system ("pause");
return 0;
} |
Partager