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
A voir également:
- Algorithme help
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Algorithme application pc - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
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
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
#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