السلام عليكم
هذا أول موضوع لي في المنتدى كله .... أتمنى أن أقدم موضوع يستفيد منه غيري...
سأضع بين أيدكم برنامج قمت بكتابته لوحدي دون الاستعان بأي شيئ آخر (نريد أن نبني قاعدة متينة :) )...
أرجوا من الاخوة تقديم الملاحظات والنصائح...... عسى أن نتمكن من لغة الــــــــــسـ Cــــــي :huh: :huh: )
البرنامج يطلب من المستخدم اعطاء التاريخ ...
. مثلا
1/03/2008
ثم يقوم البرنامج باعطائه النتيجة التالية ....
29/02/2008
البرنامج يعطيك التاريـــخ الســــــــابق
لقد راعيت في هذا البرنامج كل شيئ شهر فيفري 28 &&29 (فلقد :excl: :angry: :excl: أتعبني .... :D )... الشهور ذات 30 || 31 يوم ......
-**--*-*-*--*-**-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*--*-*-*-*-*-*--*-*-*-*-*-*-*--*-*-*-*-*-*-*--*-*-*-*-*-*-*--*-*--*
#include <stdio.h>
#include <stdlib.h>
int main()
{
int j,m,a,i;
system("color f3");
do
{
do
{
printf("\n\n");
printf(" -*- Donner le numero du jour (1-31) : "); //lire le jour
scanf("%d",&j);
printf(" -*- Donner le numero du maois (1-12) : "); //lire le mois
scanf("%d",&m);
printf(" -*- Donner le numero l'annee(>0) : "); //lire l'année
scanf("%d",&a);
}
while( (( j>=32 || j<=0 ) || ( m>=13 || m<=0 )) || a<0 ); //Test pour entrer la valeur correcte
printf(" \n | %d / %d / %d | \n\n",j,m,a);
if((a%4!=0) && j==29|| j==30|| j==31 && m==2 )
printf(" Numero de mois incorrect \n\n");
else {
if(m==1 && j==1)
{
a=a-1;m=12;j=31;printf(" \n Date | %d / %d / %d | Annee precedente \n\n",j,m,a);
}
else
{
if( m==2 ||m==4 || m==6 || m==9 || m==11 )
{
if(j==31)
{printf(" Numero de mois incorrect \n\n");}
else
{
if(j==1)
{ m = m-1; j=31; printf(" \n Date | %d / %d / %d | \n\n",j,m,a); }
else
{ j = j-1; m=m ; printf(" \n Date | %d / %d / %d | \n\n",j,m,a); }
}
}
else //Le mois de Février et ses modifications
{
if(m==3)
{
if(j==1 )
{ if(a%4==0) //Le mois de Février est égal à 29
{
m=m-1;j=29;printf(" \n Date | %d / %d / %d | \n\n",j,m,a);
}
else
{
if(a%4!=0)
m=m-1;j=28;printf(" \n Date | %d / %d / %d | \n\n",j,m,a);
}
}
else
{ j = j-1 ; m = m ; printf(" \n Date | %d / %d / %d | \n\n",j,m,a) ; }
}
else // Mois, avec le numéro 31
{
if( m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12 )
{
if(j==1)
{ j=30 ; m = m-1 ; printf(" \n Date | %d / %d / %d | \n\n",j,m,a) ; }
else
{ j = j-1 ; m = m ; printf(" \n Date | %d / %d / %d | \n\n",j,m,a) ; }
}
}
}
}
}
printf(" Si vous voulez continuer a ecrire 1 Et si vous voulez fermer le programme, ecrire 0 : ");
scanf("%d",&i);
}
while(i>=1);
system("PAUSE");
return 0;
//***************************************************************
//********* J'espère que j'ai choisi d'écrire le programme *******
//****************************************************************
}