J'ai besoin de votre aide programme C
3aychouch
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
3aychouch Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
3aychouch Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai programmée un programme qui affiche le jour d'une date mais, j'ai un problème au niveau du mois février
voila mon programme ;j'ai besoin de votre aide s.v.p.
#include <stdio.h>
#include <stdlib.h>
#define div4(a) (a)/(4)
int mois(int m,int a) // fonction qui retourne les jours des mois
{
int jour;
jour=0;
switch(m)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10:
case 12: jour=31;break;
case 4 :
case 6 :
case 9 :
case 11: jour=30;break;
case 2 : jour=28;break;
}
return(jour);
}
int valide_date(int jr,int m,int a) // fonction qui controle la validité d'une date
{
int n,datevalide;
n=mois(m,a);
if( a>=1901 && a<=2099 && m>=1 && m<=12 && jr<=n && jr>=1)
{
printf("\a la date est valide\n");
}
else
{ printf("\a la date n'est pas valide \n");
printf("\n Fin...");exit(0);}
return(datevalide);
}
int nb_jour_annee(int a)
{
int locale,nb_jr_annee;
locale = a-1901;
nb_jr_annee = 365*locale + div4(locale);
return(nb_jr_annee);
}
int nb_jour_mois(int m,int a)
{
int k,tt,n,nb_jr_mois;nb_jr_mois=0;
k=mois(2,a);
if( a%4==0)
{ n=1+k;}
else
{ n=k;}
tt=m-1;
switch (tt)
{
case 0: nb_jr_mois=0;break;
case 1: nb_jr_mois=31;break;
case 2: nb_jr_mois=n+31;break;
case 3: nb_jr_mois=30+31+n;break;
case 4: nb_jr_mois=30+2*31+n;break;
case 5: nb_jr_mois=30*2+31*2+n;break;
case 6: nb_jr_mois=30*2+31*3+n;break;
case 7: nb_jr_mois=30*3+31*3+n;break;
case 8 :nb_jr_mois=30*3+31*4+n;break;
case 9:nb_jr_mois= 30*4+31*4+n;break;
case 10:nb_jr_mois= 30*4+31*5+n;break;
default:;
}
return(nb_jr_mois);
}
int nb_jour_ds_mois(int j)
{
int nb_jr_ds_mois;
nb_jr_ds_mois=j-1;
return(nb_jr_ds_mois);
}
void main()
{
int a,j,m,vd;
int x,y,z;
int nbjr,val;
printf("\n Ce programme est permet de connaitre le jour de la date donnee \n ");
printf("\n");
printf("\n dans un intervalle D1 = 1/01/1901 Mardi et D2 = 1/01/2099 \n");
printf("\n");
printf("\n Le TP est elabore par : \n ");
printf("\n");
printf("\t - MOURSLI Mohcine ");
printf("\n");
printf("\t - AL AZOUZI Mostafa ");
printf("\n");
printf("\t\t A.U : 2007/2008 \t ");
printf("\n");
printf("\n Entrer l'annee \n ");
scanf("%d",&a);
printf("\n Entrer le mois \n");
scanf("%d",&m);
printf("\n Entrer le jour \n");
scanf("%d",&j);
if(vd==valide_date(j,m,a))
{
x=nb_jour_annee(a);
y=nb_jour_mois(m, a);
z=nb_jour_ds_mois(j);
nbjr = x+y+z;
val = nbjr%7;
switch(val)
{
case 0 : printf("\n Le jour est : Mardi"); break;
case 1 : printf("\n Le jour est : Mercredi"); break;
case 2 : printf("\n Le jour est : Jeudi"); break;
case 3 : printf("\n Le jour est : Vendredi"); break;
case 4 : printf("\n Le jour est : Samedi"); break;
case 5 : printf("\n Le jour est : Dimanche"); break;
case 6 : printf("\n Le jour est : Lundi"); break;
}
}
printf("%d",y);
printf("\n");
printf("\n Fin de programme .... \n");
printf("\n");
}
j'ai programmée un programme qui affiche le jour d'une date mais, j'ai un problème au niveau du mois février
voila mon programme ;j'ai besoin de votre aide s.v.p.
#include <stdio.h>
#include <stdlib.h>
#define div4(a) (a)/(4)
int mois(int m,int a) // fonction qui retourne les jours des mois
{
int jour;
jour=0;
switch(m)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10:
case 12: jour=31;break;
case 4 :
case 6 :
case 9 :
case 11: jour=30;break;
case 2 : jour=28;break;
}
return(jour);
}
int valide_date(int jr,int m,int a) // fonction qui controle la validité d'une date
{
int n,datevalide;
n=mois(m,a);
if( a>=1901 && a<=2099 && m>=1 && m<=12 && jr<=n && jr>=1)
{
printf("\a la date est valide\n");
}
else
{ printf("\a la date n'est pas valide \n");
printf("\n Fin...");exit(0);}
return(datevalide);
}
int nb_jour_annee(int a)
{
int locale,nb_jr_annee;
locale = a-1901;
nb_jr_annee = 365*locale + div4(locale);
return(nb_jr_annee);
}
int nb_jour_mois(int m,int a)
{
int k,tt,n,nb_jr_mois;nb_jr_mois=0;
k=mois(2,a);
if( a%4==0)
{ n=1+k;}
else
{ n=k;}
tt=m-1;
switch (tt)
{
case 0: nb_jr_mois=0;break;
case 1: nb_jr_mois=31;break;
case 2: nb_jr_mois=n+31;break;
case 3: nb_jr_mois=30+31+n;break;
case 4: nb_jr_mois=30+2*31+n;break;
case 5: nb_jr_mois=30*2+31*2+n;break;
case 6: nb_jr_mois=30*2+31*3+n;break;
case 7: nb_jr_mois=30*3+31*3+n;break;
case 8 :nb_jr_mois=30*3+31*4+n;break;
case 9:nb_jr_mois= 30*4+31*4+n;break;
case 10:nb_jr_mois= 30*4+31*5+n;break;
default:;
}
return(nb_jr_mois);
}
int nb_jour_ds_mois(int j)
{
int nb_jr_ds_mois;
nb_jr_ds_mois=j-1;
return(nb_jr_ds_mois);
}
void main()
{
int a,j,m,vd;
int x,y,z;
int nbjr,val;
printf("\n Ce programme est permet de connaitre le jour de la date donnee \n ");
printf("\n");
printf("\n dans un intervalle D1 = 1/01/1901 Mardi et D2 = 1/01/2099 \n");
printf("\n");
printf("\n Le TP est elabore par : \n ");
printf("\n");
printf("\t - MOURSLI Mohcine ");
printf("\n");
printf("\t - AL AZOUZI Mostafa ");
printf("\n");
printf("\t\t A.U : 2007/2008 \t ");
printf("\n");
printf("\n Entrer l'annee \n ");
scanf("%d",&a);
printf("\n Entrer le mois \n");
scanf("%d",&m);
printf("\n Entrer le jour \n");
scanf("%d",&j);
if(vd==valide_date(j,m,a))
{
x=nb_jour_annee(a);
y=nb_jour_mois(m, a);
z=nb_jour_ds_mois(j);
nbjr = x+y+z;
val = nbjr%7;
switch(val)
{
case 0 : printf("\n Le jour est : Mardi"); break;
case 1 : printf("\n Le jour est : Mercredi"); break;
case 2 : printf("\n Le jour est : Jeudi"); break;
case 3 : printf("\n Le jour est : Vendredi"); break;
case 4 : printf("\n Le jour est : Samedi"); break;
case 5 : printf("\n Le jour est : Dimanche"); break;
case 6 : printf("\n Le jour est : Lundi"); break;
}
}
printf("%d",y);
printf("\n");
printf("\n Fin de programme .... \n");
printf("\n");
}
A voir également:
- J'ai besoin de votre aide programme C
- Programme demarrage windows - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide