البرمجة

حساب الزمن في C++: دقة وكفاءة في التعامل مع الوقت

عندما نتحدث عن حسابات الوقت في لغة البرمجة C++، يمكننا استخدام العديد من الطرق لتحقيق هذا الهدف بطريقة دقيقة وفعّالة. إليك مثالًا على كيفية كتابة برنامج يستخدم حسابات الوقت في السي++ لحساب الفارق بين وقت الدخول والخروج بشكل صحيح.

لنبدأ بتعريف المتغيرات اللازمة لتخزين وقت الدخول والخروج. يمكننا استخدام نوع البيانات std::chrono::time_point لتمثيل النقاط الزمنية في C++. ثم يمكننا استخدام std::chrono::duration لتمثيل المدة بين هاتين النقطتين.

cpp
#include #include int main() { // تعريف نقطتين زمنيتين لوقت الدخول والخروج auto checkInTime = std::chrono::system_clock::now(); // هنا يمكنك طلب وإدخال وقت الخروج من قبل المستخدم auto checkOutTime = std::chrono::system_clock::now(); // حساب المدة بين الوقتين auto duration = checkOutTime - checkInTime; // تحويل المدة إلى دقائق auto minutes = std::chrono::duration_cast(duration); // طباعة النتيجة std::cout << "الفارق الزمني بالدقائق: " << minutes.count() << " دقيقة\n"; return 0; }

في هذا الكود، قمنا بتعريف نقطتين زمنيتين باستخدام std::chrono::system_clock::now()، حيث تعتبر checkInTime نقطة الدخول وcheckOutTime نقطة الخروج. ثم تم حساب المدة بينهما وتحويلها إلى دقائق باستخدام std::chrono::duration_cast.

يركز هذا البرنامج على استخدام المكتبة المدمجة في C++ للتعامل مع حسابات الوقت بشكل دقيق، مما يساعد في الحصول على نتائج صحيحة وفعّالة.

المزيد من المعلومات

بالطبع، دعونا نعمق أكثر في الموضوع. في لغة البرمجة C++، يوفر لنا تقسيم الوقت بوحدات مختلفة من خلال المكتبة std::chrono. يمكننا تمثيل الوقت باستخدام نوعيات std::chrono::time_point و std::chrono::duration.

في الشفرة البرمجية السابقة، استخدمنا std::chrono::system_clock::now() للحصول على الوقت الحالي. يمكن أيضا استخدام std::chrono::steady_clock::now() إذا كان الهدف هو الحصول على نقط زمنية ثابتة ومستقرة.

لتمثيل المدة بين نقطتين زمنيتين، يتم استخدام std::chrono::duration، ويمكن تحديد وحدة القياس المرغوبة مثل الثواني، الدقائق، أو حتى الساعات.

cpp
#include #include int main() { // تعريف نقطتين زمنيتين لوقت الدخول والخروج auto checkInTime = std::chrono::system_clock::now(); // هنا يمكنك طلب وإدخال وقت الخروج من قبل المستخدم auto checkOutTime = std::chrono::system_clock::now(); // حساب المدة بين الوقتين بوحدة الثواني auto durationInSeconds = std::chrono::duration_cast(checkOutTime - checkInTime); // حساب المدة بوحدة الدقائق auto durationInMinutes = std::chrono::duration_cast(checkOutTime - checkInTime); // حساب المدة بوحدة الساعات auto durationInHours = std::chrono::duration_cast(checkOutTime - checkInTime); // طباعة النتائج std::cout << "الفارق الزمني بالثواني: " << durationInSeconds.count() << " ثانية\n"; std::cout << "الفارق الزمني بالدقائق: " << durationInMinutes.count() << " دقيقة\n"; std::cout << "الفارق الزمني بالساعات: " << durationInHours.count() << " ساعة\n"; return 0; }

في هذا المثال، أضفنا تحويل إضافي لوحدات القياس المختلفة (الثواني والساعات) بالإضافة إلى الدقائق. يمكنك تعديل واستخدام هذه المعلومات بحرية وفقًا لاحتياجات تطبيقك.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!