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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| // Alessandro giuliani M12
// ** Exercice 1 **
// ** Partie c) **
#include <stdio.h>
#include <math.h>
int bissextile(i){
int bis;
if (i % 4 == 0) { if (i % 100 == 0 && i % 400 != 0) { bis=0;}
else { bis=1;}
}
else bis=0;
return bis;
}
int main(){
int i;
scanf("%d",&i);
printf("%d", bissextile(i) ) ;
return 0;
}
void lendemain(j,m,a){
int jj,mm,aa;
switch (m) { case 1: if(j==31) {jj=1, mm=2, aa=a;}
else if (j>31) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 2: if(bissextile(a)==1) {
if(j==29) {jj=1, mm=3, aa=a;}
else if (j>29) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}}
else {
if(j==28) {jj=1, mm=3, aa=a;}
else if (j>28) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}}
break;
case 3: if(j==31) {jj=1, mm=4, aa=a;}
else if (j>31) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 4: if(j==30) {jj=1, mm=5, aa=a;}
else if (j>30) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 5: if(j==31) {jj=1, mm=6, aa=a;}
else if (j>31) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 6: if(j==30) {jj=1, mm=7, aa=a;}
else if (j>30) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 7: if(j==31) {jj=1, mm=8, aa=a;}
else if (j>31) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 8: if(j==31) {jj=1, mm=9, aa=a;}
else if (j>31) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 9: if(j==30) {jj=1, mm=10, aa=a;}
else if (j>30) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 10: if(j==31) {jj=1, mm=11, aa=a;}
else if (j>31) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 11: if(j==30) {jj=1, mm=12, aa=a;}
else if (j>30) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
case 12: if(j==31) {jj=1, mm=1, aa=a+1;}
else if (j>31) {jj=0,mm=0,aa=0;}
else {jj=j+1, mm=m, aa=a;}
break;
default:{jj=0,mm=0,aa=0;}}
if(jj==0) {printf("Date invalide!\n");}
else {printf("Demain nous serons le : %d/%d/%d\n" ,jj,mm,aa);}
return;
}
int main(){
int j,m,a;
printf("Entrez le jour: ");
scanf("%d",&j);
printf("Entrez le mois: ");
scanf("%d",&m);
printf("Entrez l'annee': ");
scanf("%d",&a);
printf("Nous sommes le : %d/%d/%d\n", j,m,a);
lendemain(j,m,a);
return 0;
}
// ** Partie d) **
// Comme jeu de test je propose les dates suivantes: * 31/12/2009 ==>> pour testez le passage à l'année suivante (affiche 1/1/2010)
// * 28/2/2009 ==>> pour testez le passage au mois de mars (affiche 1/3/2009)
// * 32/1/2009 ==>> pour testez un cas impossible (affiche "Date invalide!")
// * 5/13/2009 ==>> pour testez un autre cas impossible (affiche "Date invalide!") |
Partager