أخي مازالت لدي مشكلة في زيادة الوقت
الدقيقة تتغير اما الساعة لا
مثل 14:50
عندما أزيد عليها 20
تعرض لي 14:10
المفترض تعرض 15:10
هاذا هي الدالة التي كتبتها
لا يجب أن تختبري هل m<60
بل إختبري هل بعد إضافة الدقائق u إلى m سيبقا أصغر من 60 بمعنى هل m+u<60
لقد فعلت مثل ما قلت ولكن لم تضبط ..
int sum = m + u; int floor = sum / 60; m = sum % 60; h = (h + floor) % 24;
يمكن أن تبرمجي بدون إستخدام if
هل إشتغل؟
شرح الكود:
المتغير sum واضح
المتغير floor توجب وضعه من نوع integer ويعطينا عدد الساعات في sum
قد يكون 0 إذا كان sum أصغر من 60 وقد يكون 1 إذا كان sum أكبر من 60 و أصغر من 120 وهكذا
القيمة (sum%60) هو باقي قسمة sum على 60 وهو عدد الدقائق
القيمة (h+floor) هي عدد الساعات
لاكن قمنا فقط بأخد باقي قسمته على 24 بمعنى إذا كان عدد الساعات أصغر من 24 فإن باقي القسمة هو نفسه عدد الساعات
إذا كان لديك تساؤل إطرحيه
أتمنى من الأخ @ahmedsaoud31 أن يشرح لك الكود فهو يعرف كيف يوصل المعلومة أفضل مني
بالعكس لقد وصلت المعلومة :)
شكراً..
..
مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.
صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.
التعليقات