Calcul de la date du lendemain
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 2 sur 2•
Page 2 sur 2 •
1, 2
Re: Calcul de la date du lendemain
Pour être précis Nabil vous parlez là de variables flottantes ?
Exemple :
5.0 est considérée comme valeur entière
Exemple :
5.0 est considérée comme valeur entière
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Calcul de la date du lendemain
Une version SANS FONCTIONS du programme Calcul de la date du Lendemain
(Compilé et testé sous Visual Studio 6.0)
(Compilé et testé sous Visual Studio 6.0)
- Code:
#include
void main()
{
/********************* les variables *****************/
int an1, mois1, jour1;
int estBis;
int maxJours;
int an2, mois2, jour2;
/********************* saisie de la date ***************/
printf("SAISIE D'UNE DATE: \n\n");
printf("\tANNEE = "); scanf("%i",&an1);
printf("\tMOIS = "); scanf("%i",&mois1);
printf("\tJOUR = "); scanf("%i",&jour1);
/********************* contrôle de la date *********** */
printf("\n");
/* test sur Année */
if (an1<=0)
{
printf("\t>> Erreur: Annee negative.\n");
return;
}
/* test sur Mois */
if (mois1<1 || mois1>12)
{
printf("\t>> Erreur: Mois invalide.\n");
return;
}
/* test sur Jours du Mois */
/* mois = 31 jours */
if (mois1==1 || mois1==3 || mois1==5 || mois1==7 ||
mois1==8 || mois1==10 || mois1==12)
{
maxJours = 31;
if (jour1<1 || jour1>31)
{
printf("\t>> Erreur: Jour invalide (mois de 31 jours).\n");
return;
};
}
/* mois = 28/29 jours */
else
if (mois1==2)
{
estBis = (an1%4==0 && an1%100!=0) || (an1%400==0);
maxJours = 28+estBis;
if (jour1<1 || jour1>maxJours)
{
printf("\t>> Erreur: Jour invalide (mois de %i jours).\n",maxJours);
return;
};
}
/* mois = 30 jours */
else
{
maxJours = 30;
if (jour1<1 || jour1>30)
{
printf("\t>> Erreur: Jour invalide (mois de 30 jours).\n");
return;
};
}
/********************* Calcul date Lendemain *********/
an2 = an1;
mois2 = mois1;
jour2 = jour1;
if (jour1 < maxJours)
jour2 = 1 + jour1;
else
{
jour2 = 1;
mois2 = 1 + mois1;
if (mois2 > 12)
{
mois2 = 1;
an2 = 1 + an1;
}
}
/********************* Affichage de la date Lendemain *****/
printf("DATE DU LENDEMAIN \n\n");
printf("\tANNEE = %i\n", an2);
printf("\tMOIS = %i\n", mois2);
printf("\tJOUR = %i\n", jour2);
}
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1906
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Calcul de la date du lendemain
nabiL: il est un peu long, mais je crois que c'est du à l'absence des fonctions!
Rectif: #include <stdio.h>
Rectif: #include <stdio.h>
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix- Membre fondamental

- Messages : 350
Inscrit le : 19 Mar 2007
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: Calcul de la date du lendemain
Trés bonne adapation. Félicitations, Nabil.
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Calcul de la date du lendemain
la version de manianis paraît plus élégante 
mais là, sans fonctions, on se sent étouffé
mais là, sans fonctions, on se sent étouffé
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX- Admin


- Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST
Feuille de personnage
Capacité linguistique:


(1000/1000)
Page 2 sur 2 •
1, 2



