Bonsoir,

J'ai un problème avec le langage C et plus exactement avec la date prochaine

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
86
 #include<stdio.h>
int main ()
 
{
int jr , nbj , mo , an,nbjm   ;
 
printf("  La date prochaine :\n ");
printf("====================\n\n");
 
printf("Donner la date de debut :\n\n");
 
printf(" Jour :");
scanf("%d",&jr);
printf("\n\n");     
 
printf(" Mois :");
scanf("%d",&mo);
printf("\n\n");   
 
printf(" Annee:");
scanf("%d",&an); 
printf("\n\n");   
 
printf("Donner le nombre de jour a ajouter   :"); 
scanf("%d",&nbj);
printf("\n\n"); 
 
    switch(mo)
    {      
     case 4 :   case 6 : case 9  :  case 11 :
          nbjm =30 ;break ;
     case 2 : 
          if (an % 4 ==0)
           {    
          nbjm = 29 ;break ;
          } 
          else
 
          nbjm = 28 ;break ; 
 
     default : nbjm = 31 ;break ;
 
 
     } 
 
 jr = jr + nbj;
 
 
if( jr > nbjm ) 
 
 
    do
{
  {
 
 
 
      jr =  jr-nbjm ;
     mo = mo + 1   ;
 
   if(mo > 12 )
 
     {         
 
         mo = 1 ;
         an = an + 1 ;
      }   
   }       
 
  }  
 
while(jr>nbjm);          
 
 
 
 
 
 
 
 
printf ("La date est : %d/%d/%d\n\n",jr,mo,an);
 
     system("pause");
 
 
}
Le problème : quand j'ajoute 60 j à 27/02/2000, il m'a donne 29/4/2000

Il m'a donné deux jours de plus
Y a-t-il une solution ?