مشاهدة النسخة كاملة : طلب مساعده من اصحاب الخبره
khaled159753
11-28-2008, 03:20 PM
السلام عليكم يا اعضاء المنتدى الكرم
عندي سؤال صغير ارجو الرد عليه باسرع وقت ومشكورين سلف
هل ممكن استعال الشرط "If" بالتكرار "switch"
مثال
switch (m)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
if (d<1 && d>31)
printf("date is incorrect");
getch();
return 0;
break;
case 4:case 6:case 9:case 11:
if (d<1 && d>30)
printf("date is incorrect");
getch();
return 0;
break:
case 2:
if (d<1 && d>29)
printf("date is incorrect");
getch();
return 0;
break:
default:
printf("date is incorrect");
}
مشكورين وبتمنى الرد باقؤب وقت
Alexander Max2
11-28-2008, 05:52 PM
http://lernvisual.jeeran.com/about%20us/book/book/besm%20(2).gif
يا سيد خالد :
ممكن تدخل الشرط IF داخل إي شرط ثاني بس المهم
تخرج من الشرط الداخلي قبل الخروج من الشرط الخارجي
إي إقفال الحلقة الأخيرة أولاً وهكذا...
وذلك لأن البرنامج سيعتبر الحلقة الداخلية جزء من الحلقة الخارجية
سواء كانت الحلقة شرطاً أم حلقة دورانية ..
وفي عندي ملاحظة مهمة لازم تضيفها على هذا البرنامج
لحتى يصير التطبيق صحيح 100% وهي
أنه في حال الشهر الثاني لازم يقارن البرنامج :
هل السنة تقبل القسمة على الرقم 100 أو أنها لاتقبل القسمة على الرقم 4
فهذا يدل على أن أيام الشهر الثاني = 28 يوماً فقط
أو هل السنة تقبل على الرقم 4 ولا تقبل القسمة على الرقم 100
فهذا يدل على ان أيام الشهر الثاني تساوي 29 يوماً فقط
وشكراً
وفقك الله
.
وبالنسبة للحالة 2
khaled159753
11-28-2008, 06:22 PM
http://lernvisual.jeeran.com/about%20us/book/book/besm%20(2).gif
يا سيد خالد :
ممكن تدخل الشرط IF داخل إي شرط ثاني بس المهم
تخرج من الشرط الداخلي قبل الخروج من الشرط الخارجي
إي إقفال الحلقة الأخيرة أولاً وهكذا...
وذلك لأن البرنامج سيعتبر الحلقة الداخلية جزء من الحلقة الخارجية
سواء كانت الحلقة شرطاً أم حلقة دورانية ..
وفي عندي ملاحظة مهمة لازم تضيفها على هذا البرنامج
لحتى يصير التطبيق صحيح 100% وهي
أنه في حال الشهر الثاني لازم يقارن البرنامج :
هل السنة تقبل القسمة على الرقم 100 أو أنها لاتقبل القسمة على الرقم 4
فهذا يدل على أن أيام الشهر الثاني = 28 يوماً فقط
أو هل السنة تقبل على الرقم 4 ولا تقبل القسمة على الرقم 100
فهذا يدل على ان أيام الشهر الثاني تساوي 29 يوماً فقط
وشكراً
وفقك الله
.
وبالنسبة للحالة 2
بارك الله فيك يا اخوي يس لو تعطني مثال
Alexander Max2
11-28-2008, 07:01 PM
http://lernvisual.jeeran.com/about%20us/book/book/besm%20(2).gif
أخي الكريم انا راح أعطيك مثال
ومن أجل ما تروح افكارك لبعيد
راح عدل الكود اللي انت كتبته
وتشوف كيف راح يصير
لكن هتاك نقطة ثانية لازم تنتبه إلها وهي
أنه اليوم مش ممكن يكون أصغر من قيمة
وأكبر من قيمة أكبر منها بنفس الوقت
أي أنه :
d<1 && d>30
عبارة خاطئة ومش منطقية والمنطق تحط أو بدلا من و
والصحيح منها هي :
d<1 || d>30
وهكذا مع كل المقارنات في بحثك
أوكيه
شوي وبرجعلك
.
Alexander Max2
11-28-2008, 07:07 PM
http://lernvisual.jeeran.com/about%20us/book/book/besm%20(2).gif
أخي خالد الكود راح يصير بهالشكل:
switch (m)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
if (d<1 || d>31)
printf("date is incorrect");
getch();
return 0;
break;
case 4:case 6:case 9:case 11:
if (d<1 || d>30)
printf("date is incorrect");
getch();
return 0;
break:
case 2:
if (y%100 ==0 || y%4 !=0 )
if (d<1 || d>28)
printf("date is incorrect");
getch();
return 0;
break:
getch();
if (d<1 || d>29)
printf("date is incorrect");
getch();
return 0;
break:
break:
default:
printf("date is incorrect");
}
وبتصور أكثر من هالشرح مافي
وهذا المطلوب
و فقك الله
http://lernvisual.jeeran.com/about%20us/book/book/ذكر%20(2).gif.
khaled159753
11-28-2008, 08:10 PM
مشكور كتير كتير اخوي ما قصرت.... وانشالله نردلك اياها بالافراح
مشكور مرة تانيه
vBulletin® , Copyright ©2000-2009, TranZ by Almuhajir