Problème en avec tableau

yuri -  
 djleop -
Bonjour, voici mon programme qui calcule le nombre de jour passé depuis sa naissance , jusqu'à aujourd'hui. je dois le refaire en utilisant un tableau d'entier qui comprend le nombre de jour pour chaque mois!
je bloque vraiment donc si quelqu'un peut m'aidez! merci

#include <stdio.h>
#include <stdlib.h>

void main (void)

{
int total,totalnaissance,totaljour,datenaissance,moisnaissance,anneenaissance,datejour,moisjour,anneejour;

printf("entrez date de naissance:");
scanf("%d",&datenaissance);

printf("entrez mois de naissance:");
scanf("%d",&moisnaissance);

printf("entrez annee de naissance:");
scanf("%d",&anneenaissance);

printf("entrez date du jour:");
scanf("%d",&datejour);

printf("entrez mois du jour:");
scanf("%d",&moisjour);

printf("entrez annee du jour:");
scanf("%d",&anneejour);

/* totaljour= (anneejour*365) + datejour + (moisjour*totalmois ) */

if (mois == 1)
{
totalmois= 31;
}

else

if (mois == 2)

{
totalmois= 59;

}

else

if (mois == 3)

{

totalmois= 90;

}

else

if (mois == 4)

{
totalmois= 120;
}

else

if (mois == 5)

{
totalmois= 151;
}
else

if (mois == 6 )

{
totalmois= 181;
}
else

if (mois == 7)

{
totalmois= 212;

}
else

if (mois == 8)

{
totalmois= 243;
}
else

if (mois == 9)

{
totalmois= 273;
}
else

if (mois == 10)

{
totalmois= 304;
}
else

if (mois == 11)

{
totalmois= 334;
}
else

if (mois == 12)

{
totalmois= 365;
}

/* totalnaissance= (anneenaissance*365) + datenaissance + (moisnaissance*totalmois ) */

if (mois == 1)
{
totalmois= 31;
}

else

if (mois == 2)

{
totalmois= 59;

}

else

if (mois == 3)

{

totalmois= 90;

}

else

if (mois == 4)

{
totalmois= 120;
}

else

if (mois == 5)

{
totalmois= 151;
}
else

if (mois == 6 )

{
totalmois= 181;
}
else

if (mois == 7)

{
totalmois= 212;

}
else

if (mois == 8)

{
totalmois= 243;
}
else

if (mois == 9)

{
totalmois= 273;
}
else

if (mois == 10)

{
totalmois= 304;
}
else

if (mois == 11)

{
totalmois= 334;
}
else

if (mois == 12)

{
totalmois= 365;
}

/* total = totaljour - totalnaissance */

printf(" vous avez %d jour,total");

}
A voir également:

1 réponse

djleop
 
Bonjour,
Je pense qu'il est necessaire de revoir le code.

La logique de calcul doit être dfférente !

il faut d'abord determiner combien d'année depuis la date de naissance. Ca doit être assez simple.

Ensuite, calcul du nombre de mois :
nombre de mois = 12*(nombre d'année-1);
nombre de mois = nombre de mois + numéro de mois d'aujourd'hui

et pour le nombre de jour, en grossier on multipie le nombre de mois par 30.
Sinon, un tableau ou on stocke le nombre de jour pour chaque mois (28 pour Février). Ce qui donne un nombre de jour plus précis.

Pour calculer le nombre exact .... A voir des librairies spéciales de C++, je ne connais pas trop.
0