السلام عليكم ورحمة الله وبركاته
اخوتي الكرام ، ارجو منكم المساعدة في كتابة الكودات #C لهذا البرنامج وهو عبارة عن اظهار التقويم ( روزنامة ) لشهر معين وفق الشكل الاتي :
3 - 2010
-----------------------------
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
بالنسبة لدخل البرنامج:
- عدد يمثل العام نستخدم اسم المتحول year ( فقط الاعوام 2009،2010،2011 )
-عدد يمثل سنستخدم اسم المتحول month
خوارزمية تحديد يوم الاسبوع الموافقة لكل تاريخ (Sun Mon Tue Wed Thu Fri Sat )
الفرضيات :
- نعتبر ايام الاسبوع مرقمة من 0 حتى 6 (Sun=0، Mon=1، Tue=2، Wed=3، Thu=4، Fri=5، Sat=6 )
- نعرف من التقويم ان اول يوم من العام 2009 سنسميه( d1y09 ) هو يوم الخميس : أي ان 4=d1y09
- يجب ان نعرف عدد ايام الشهر سنستخدم اسم المتحول nbdm
مثال : 31=nbdm اذا كان الشهر 3=month
الخطوات :
- احسب اليوم الاول من الشهر month من العام year ( سنسميه d1m ) وفق مايلي :
- احسب عدد الايام منذ بداية العام 2009 حتى الشهر month من العام year ( سنسميه ndTo09 )
- احسب باقي قسمة العدد السابق ndTo09 على 7 و لتكن dd
d1m = (dd+d1y09)%7
اظهار الروزنامة:
اظهار ترويسة الروزنامة :
2010 3
----------------------------------------------
Sun Mon Tue Wed Thu Fri Sat
- اظهار فراغات تتناسب مع d1m
- اظهار 1,2,3 من ايام الشهر حتى يمتلئ السطر الاول عند القيمة d مثلا
n=0
............ من أجل k=d حتى nbdm كرر
............ اكتب k
............. اكتب فراغات ( للمحاذاة )
............اذا (n ) من مضاعفات 7 نفذ
............ انتقل إلى السطر الجديد
ملا حظات عامة
- يجب بناء البرنامج باستخدام الخطوات واسماء المتحولات المعرفة بالنص
- لا يستخدم في بناء البرنامج لا الجدوال array ولا البرامج الجزئية
أرجو المساعدة بأسرع وقت ممكن مع الشكر المسبق لكم.
السلام عليكم