تسجيل الدخول

مشاهدة النسخة كاملة : مشكلة عويصة ارجوا حلها في اسرع وقت


باك2013
2013-12-26, 18:22
السلام عليكم

عندي مشكلة وهي :
أني قمت بحل تمرين : (أكتب برنامج يطلب من المستخدم تاريخ اليوم ثم تظهر له تاريخ الغد ؟)

أنا قمت بحل التمرين ولكن توجد مشكلة بسيطة وهي أني استعملت if لمراقبة المستخدم في حالة ادخل قيمة خاطئة ، فعند ادخاله يوم خاطئ يخبره الحاسوب انه خاطئ وعند ادخاله الخطا للمرة الثانية يقبله الحاسوب !!!!

المطلوب :

هو برنامج يطلب من المستخدم تاريخ اليوم ثم يظهر له تاريخ الغد بشرط :
اذا أدخل قيم سالبة أو ايام اكبر من 30 في الشهر 4 او 6 او 9 او 11 ، او يوم أكبر من 31 في الاشهر 1 او 3 او 5 او 7 او 8 او 10 او 12
، او يوم أكبر من 29 في السنة الكبيسة ، او يوم أكبر من 28 في السنة غير الكبيسة

younestari
2013-12-27, 19:11
سلام نسقسيك الا تكومبيلا

باك2013
2013-12-27, 20:21
سلام نسقسيك الا تكومبيلا
Oui b1 sur

fafafa43
2013-12-27, 20:58
أخي يتوجب عليك استخدام boucle itérative لأنها هي التي تتحقق من الشرط قبل قبوله أو رفضه
اذا امكن اكتب لي البرنامج لنعدل عليه

agm1991
2013-12-27, 21:51
السلام عليكم
غير
scanf("%d/%d/%d",&j,&m,&a);
الى
scanf("%d %d %d",&j,&m,&a);
حذف علامة القسمة وتبديلها الى فراغ
تم التجريب ب DEV CPP

باك2013
2013-12-28, 18:55
السلام عليكم
غير
scanf("%d/%d/%d",&j,&m,&a);الى
scanf("%d %d %d",&j,&m,&a);حذف علامة القسمة وتبديلها الى فراغ
تم التجريب ب DEV CPP

لا لا المشكل ماشي فم ، انت كي تدخلي لا دات لازم اتدخليها بشكل jj/mm/aaaa مثلا 11/11/2000 ،
هاذيك مش مشكلة خلااااااااص

باك2013
2013-12-28, 18:58
أخي يتوجب عليك استخدام boucle itérative لأنها هي التي تتحقق من الشرط قبل قبوله أو رفضه
اذا امكن اكتب لي البرنامج لنعدل عليه
Merci bcp , rani l9it al alha

استخدمت البوكل :
while (condition) { action }
او صلحت

n-stein
2013-12-29, 11:57
#include <stdio.h> //by n-stine <artecgeek.blogspot.com> #tidjani

main()
{
int jj,mm,aa;
scanf("%i",&jj);
scanf("%i",&mm);
scanf("%i",&aa);
if ((aa>0)||(mm>0)||(jj>0))
{
if (aa%4==0)
{
if (mm<13)
{
if (mm==4||6||9||11)
{
if (jj>30)
printf("erreur");
else
{
if (jj<30)
printf("demain c'est : %i/%i/%i",jj+1,mm,aa);
else
printf("demain c'est : 1/%i/%i",mm+1,aa);
}
}
if (mm==1||3||5||7||8||10||12)
{
if (jj>31)
printf("erreur");
else
if (jj<31)
printf("demain c'est : %i/%i/%i",jj+1,mm,aa);
else
if (mm!=12)
printf("demain c'est : 1/%i/%i",mm+1,aa);
else
printf("demain c'est : 1/1/%i",aa+1);
}
if (mm==2)
if (jj<29)
printf("demain c'est : %i/%i/%i",jj+1,mm,aa);
else
printf("demain c'est : 1/3/%i",aa);
}
else
printf("erreur");
}
else
{
if (mm<13)
{
if (mm==4||6||9||11)
{
if (jj>30)
printf("erreur");
else
{
if (jj<30)
printf("demain c'est : %i/%i/%i",jj+1,mm,aa);
else
printf("demain c'est : 1/%i/%i",mm+1,aa);
}
}
if (mm==1||3||5||7||8||10||12)
{
if (jj>31)
printf("erreur");
else
if (jj<31)
printf("demain c'est : %i/%i/%i",jj+1,mm,aa);
else
if (mm!=12)
printf("demain c'est : 1/%i/%i",mm+1,aa);
else
printf("demain c'est : 1/1/%i",aa+1);
}
if (mm==2)
if (jj<28)
printf("demain c'est : %i/%i/%i",jj+1,mm,aa);
else
printf("demain c'est : 1/3/%i",aa);
}
else
printf("erreur");
}
}
else
printf("erreur");
}