diff --git a/APL1.1/TP04/bissextile.c b/APL1.1/TP04/bissextile.c index 9c538db..0cfd3ec 100644 --- a/APL1.1/TP04/bissextile.c +++ b/APL1.1/TP04/bissextile.c @@ -2,7 +2,7 @@ #include #include -#define ANNEE 100 +#define ANNEE 2100 bool bissextile(int ann) { if (((ann % 4 == 0) && (ann % 100 != 0)) || (ann % 400 == 0)) { diff --git a/APL1.1/TP05/date_age.c b/APL1.1/TP05/date_age.c new file mode 100644 index 0000000..eff2b42 --- /dev/null +++ b/APL1.1/TP05/date_age.c @@ -0,0 +1,41 @@ +#include +#include + +//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; +} + diff --git a/APL1.1/TP05/entier.c b/APL1.1/TP05/entier.c new file mode 100644 index 0000000..5876324 --- /dev/null +++ b/APL1.1/TP05/entier.c @@ -0,0 +1,18 @@ +#include +#include + +int main(int argc, char * argv[]) { + int entier = 1234; + + printf("Entrez un entier :"); + int resultat = scanf("%d", &entier); + + if (resultat != 1) { + printf("Mauvaise valeur entrée.\n"); + return EXIT_FAILURE; + } + + printf("Vous avez tapé : %d.\n", entier); + return EXIT_SUCCESS; +} + diff --git a/APL1.1/TP05/entier_double.c b/APL1.1/TP05/entier_double.c new file mode 100644 index 0000000..fd659a2 --- /dev/null +++ b/APL1.1/TP05/entier_double.c @@ -0,0 +1,15 @@ +#include +#include + +int main(int argc, char * argv[]) { + int entier1 = 1234; + int entier2 = 5678; + + printf("Entrez un entier :"); + scanf("%d", &entier1); + printf("Entrez un deuxieme entier :"); + scanf("%d", &entier2); + printf("Vous avez tapé : %d et %d\n", entier1, entier2); + return EXIT_SUCCESS; +} + diff --git a/APL1.1/TP05/hexa_to_decimal.c b/APL1.1/TP05/hexa_to_decimal.c new file mode 100644 index 0000000..c27ce87 --- /dev/null +++ b/APL1.1/TP05/hexa_to_decimal.c @@ -0,0 +1,12 @@ +#include +#include + +int main(int argc, char * argv[]) { + int entier; + + printf("Entrez votre valeur hexadécimale :"); + scanf("%x", &entier); + printf("Votre valeur '0x%X' en base 16 vaut %d en base 10.\n", entier, entier); + return EXIT_SUCCESS; +} +