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
| #include <cstdlib>
#include <iostream>
int main()
{
int j, m, a;
/* Demande de saisie de données avec un test pour chaqu'une */
do
{
printf("Veillez entrez le MOIS\n");
scanf("%d",&m);
}
while ( m<1 || m>12 );
/*On demande le mois en 1er, car suivant m on va tester j */
do
{
printf("Veillez entrez le JOUR (attention au nombre max des jours de chaque mois)\n");
scanf("%d",&j);
}
while (( j<1 || j>31 )||((m == 2 || m == 4 || m == 7 || m == 9 || m == 11 ) && j == 31 )||(m==2 && j>=29));
/*la boucle précedente reaffiche le message si on entre un nombre
de jours 31 pour un mois de 30 jours
ou plus que 28 pour fevrier... */
do
{
printf("Veillez entrez l'ANNEE\n");
scanf("%d",&a);
}
while ( a<0 ) ;
/* Si c'est le dernier jours du dernier mois, on change d'année */
if ( j == 31 && m == 12 )
{
j=1 ;
m=1 ;
a++ ;
printf("Youpi ! c'est le reveillant !!! \n");
}
else
/* on teste si c'est le dernier jour des mois qui contiennent 31 jours.
Pas la peine de verifier si c'est un mois de 31 jours ...
car si on a passer la boucle while de saisie de j avec j = 31 c'est que
m est obligatoirement un mois de 31 jours*/
if (j == 31 )
{
j = 1 ;
m++ ;
}
else
/*On teste s'il s'agit du mois Fevrier*/
if ( m == 2 && j==28 )
{
j = 1 ;
m++;
}
else
/* Le prochain if conserne que les mois qui contiennent 30 jours */
if ( (j == 30) && ( m==2 || m==4 || m==7 || m==9 || m==11) )
{
j = 1 ;
m++ ;
}
else
/* Si on est dans aucun cas spécial, on incremente tout simplement j */
j++ ;
printf("la date du lendemain est %d/%d/%d\n",j,m,a);
system("PAUSE");
} |
Partager