Petit calendrier
jeff
-
jeff -
jeff -
Bonjour,
jai un souci avec une fonction qui demande une date de depar avec le jour et le mois et on doit charcher une finale sachant que la duree separant ces deux dates est de 45 jours
voici ce que j'ai essayé de faire
#include<stdio.h>
#include<stdlib.h>
main()
{
int m; // representant le mois
int b;// compteur de jour;
int maxj;// jour maximal dun mois donné
int a;// premier jour de projection
int j;// representant le jour final
do
{
printf("entre le premier mois\n");
scanf("%d",&m);
}
while(m<1||m>12);
if(m==1||m==3||m==5||m==7||m==8||m==10||12)
{
do
{
printf("entre le premier jour\n");
scanf("%d",&a);
}
while(a<1||a>31);
}
else if(m==2)
{
do
{
printf("entre le premier jour\n");
scanf("%d",&a);
}
while(a<1||a>28);
}
else
{
do
{
printf("entre le premier jour\n");
scanf("%d",&a);
}
while(a<1||a>30);
}
printf("le premier jour est %d/%d\n",a,m);
b=a+45;
do
{
if(m==1||m==3||m==5||m==7||m==8||m==10||12)
{
maxj=31;
}
else if(m==2)
{
maxj=28;
}
else
{
maxj=30;
}
j=b-maxj;
if(j>maxj)
{
m=m+1;
}
else
{
printf("\n");
}
}
while(j<maxj);
printf("la date finale est %d/%d\t",j,m);
system("pause");
}
jai un souci avec une fonction qui demande une date de depar avec le jour et le mois et on doit charcher une finale sachant que la duree separant ces deux dates est de 45 jours
voici ce que j'ai essayé de faire
#include<stdio.h>
#include<stdlib.h>
main()
{
int m; // representant le mois
int b;// compteur de jour;
int maxj;// jour maximal dun mois donné
int a;// premier jour de projection
int j;// representant le jour final
do
{
printf("entre le premier mois\n");
scanf("%d",&m);
}
while(m<1||m>12);
if(m==1||m==3||m==5||m==7||m==8||m==10||12)
{
do
{
printf("entre le premier jour\n");
scanf("%d",&a);
}
while(a<1||a>31);
}
else if(m==2)
{
do
{
printf("entre le premier jour\n");
scanf("%d",&a);
}
while(a<1||a>28);
}
else
{
do
{
printf("entre le premier jour\n");
scanf("%d",&a);
}
while(a<1||a>30);
}
printf("le premier jour est %d/%d\n",a,m);
b=a+45;
do
{
if(m==1||m==3||m==5||m==7||m==8||m==10||12)
{
maxj=31;
}
else if(m==2)
{
maxj=28;
}
else
{
maxj=30;
}
j=b-maxj;
if(j>maxj)
{
m=m+1;
}
else
{
printf("\n");
}
}
while(j<maxj);
printf("la date finale est %d/%d\t",j,m);
system("pause");
}
A voir également:
- Petit calendrier
- Mon calendrier - Télécharger - Santé & Bien-être
- Petit point vert snap ✓ - Forum Snapchat
- Synchroniser calendrier outlook et gmail - Guide
- Petit 2 ✓ - Forum Windows
- Calendrier partagé google - Guide
1 réponse
Essaye de passer par le timestamp, ca sera plus simple a gérer...
En gros, tu saisis le mois et le jour (et l'année ?) comme prévu, tu transfomes en timestamp. Ensuite tu récupère le nombre de secondes qu'il y a dans 45 jours (45*24*3600) et tu compares à ta date de départ avec un simple teste... tu n'auras pas besoin de gérer les mois 31, 30, 28 et les années bissextiles ;)
Cette page peut t'aider
https://c.developpez.com/faq/?page=Gestion-des-dates-et-heures
En gros, tu saisis le mois et le jour (et l'année ?) comme prévu, tu transfomes en timestamp. Ensuite tu récupère le nombre de secondes qu'il y a dans 45 jours (45*24*3600) et tu compares à ta date de départ avec un simple teste... tu n'auras pas besoin de gérer les mois 31, 30, 28 et les années bissextiles ;)
Cette page peut t'aider
https://c.developpez.com/faq/?page=Gestion-des-dates-et-heures
jeff
ok merci beaucoup mais je ne vois pas comment je vais incrementer 45 jours a partir de la date de depart