APL/APL1.1/TP05/date_age.c
2021-09-20 17:22:39 +02:00

42 lines
1.1 KiB
C

#include<stdio.h>
#include<stdlib.h>
//Entier représentants les dates actuelles et d'anniversaires
//au format JJ/MM/AAAA v
int calculateAge(int dc, int mc, int yc, int db, int mb, int yb) {
int age = yc - yb - 1; //On calcule l'age minimum que quelqu'un peut avoir
if (mc > mb) { //Si le mois est supérieur au mois de naissance, on rajoute 1 an
age++;
} else if (mc == mb && dc >= db) { //Idem si le mois est le même et le jour supérieur.
age++;
}
return age;
}
int main(int argc, char * argv[]) {
int day_c, month_c, year_c, day_b, month_b, year_b;
printf("Indiquez la date d'aujourd'hui au format JJ/MM/AAAA : ");
int result = scanf("%d/%d/%d", &day_c, &month_c, &year_c);
if (result < 1) {
printf("Format incorrect.\n");
return EXIT_FAILURE;
}
result = 0;
printf("Indiquez votre date de naissance au format JJ/MM/AAAA : ");
result = scanf("%d/%d/%d", &day_b, &month_b, &year_b);
if (result < 1) {
printf("Format incorrect.\n");
return EXIT_FAILURE;
}
int age = calculateAge(day_c, month_c, year_c, day_b, month_b, year_b);
printf("Vous avez %d ans.\n", age);
return EXIT_SUCCESS;
}