Algorithme help
Garza
-
Kharec Messages postés 4146 Date d'inscription Statut Contributeur Dernière intervention -
Kharec Messages postés 4146 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai besoin de votre aide pour un algorithme qui demande la date de naissance ( sous forme JOUR , MOIS , ANNÉE ) d'une personne , et affiche son age .
( ce que j'ai fais , j'ai demandé la date d'aujourd'hui , et la date de naissance , j'ai converti le tout en jour , j'ai fais la différence entre les dates , et j'ai divisé par 365 mais c trop long )
est ce que il y a une autre méthode ? )
merci
j'ai besoin de votre aide pour un algorithme qui demande la date de naissance ( sous forme JOUR , MOIS , ANNÉE ) d'une personne , et affiche son age .
( ce que j'ai fais , j'ai demandé la date d'aujourd'hui , et la date de naissance , j'ai converti le tout en jour , j'ai fais la différence entre les dates , et j'ai divisé par 365 mais c trop long )
est ce que il y a une autre méthode ? )
merci
Configuration: Windows XP Firefox 2.0.0.18
5 réponses
-
Salut,
Alors ton algo doit être compos& de plusieurs parties. L'idéal serait: Demander la date, comparer cette date avec celle d'aujourd'hui, Evaluer le temps entre ces deux dates, afficher à l'écran. Tu vois ce que je veux dire?
Cordialement -
-
Si cela peut t'aider, je vais te communiquer un script qui indique au système d'exploitation la date et l'heure actuelle. Il fonctionne sur les systèmes linux. (la fameuse commande date, pour les connaisseurs)
;-))#include <stdlib.h> #include <unistd.h> #include <time.h> int dmsize[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // Indique au système le nombre de jour qu'il y a par mois long timbuf; char *cbp; int dysize(y) int y; { if (y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)) return 366; // Pour les années bissextiles return 365; } int gpair() { register int c, d; register char *cp; cp = cbp; if (*cp == 0) return -1; c = (*cp++ - '0') * 10; if (c<0 || c>100) return -1; if (*cp == 0) return -1; if ((d = *cp++ - '0') < 0 || d > 9) return -1; cbp = cp; return c + d; } void gdadd(n) { timbuf += n; } void gmdadd(m, n) { timbuf *= m; timbuf += n; } int gtime() { register int i; register int y, t; int d, h, m; long nt; t = gpair(); if (t<1 || t>12) return 1; d = gpair(); if (d<1 || d>31) return 1; h = gpair(); if (h == 24) { h = 0; d++; } m = gpair(); if (m<0 || m>59) return 1; y = gpair(); if (y<0) { time(&nt); y = localtime(&nt)->tm_year; } if (*cbp == 'p') h += 12; if (h<0 || h>23) return 1; timbuf = 0; y += 1900; for (i=1970; i<y; i++) gdadd(dysize(i)); if (dysize(i) == 366) dmsize[1] = 29; else dmsize[1] = 28; while (--t) gdadd(dmsize[t-1]); gdadd(d-1); gmdadd(24, h); gmdadd(60, m); gmdadd(60, 0); return 0; } int main(argc, argv) int argc; char **argv; { register char *tzn; char *cbuf; if (argc > 1) { cbp = argv[1]; if (gtime()) { write(1, "mauvaise conversion\n", 15); return 1; } timbuf += timezone; if (localtime(&timbuf)->tm_isdst) timbuf -= 1 * 60 * 60; if (stime(&timbuf) < 0){ write(1, "interdit\n", 14); return 1; } } time(&timbuf); cbuf = ctime(&timbuf); write(1, cbuf, 20); tzn = tzname[localtime(&timbuf)->tm_isdst]; if (tzn) write(1, tzn, 3); write(1, cbuf + 19, 6); return 0; }
-
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Cherche sur code source.com, des logiciels de ce types il y en a plein dessus avec le code, tu pourras les étudier ;-)
Cordialement