البرمجة

حساب العملات باستخدام لغة C

الكود البرمجي الذي قدمته يبدو أنه يهدف إلى حساب عدد العملات المستخدمة لدفع مبلغ معين، ولكن هناك مشكلة في الحلقة الأولى. دعونا نقوم بفحص الكود وتوضيح الأخطاء المحتملة.

في السطور الأولى من البرنامج، قمت بتعيين قيمة مبدئية للمتغير “owed” بقيمة سالب وهي -1. ثم قمت بفتح حلقة while للتحقق من أن قيمة “owed” أقل من صفر. وفي حال كانت القيمة أقل من صفر، سيُطلب من المستخدم إدخال قيمة جديدة.

المشكلة هنا تكمن في أنك قمت بإعادة تعيين المتغير “owed” داخل الحلقة، مما يؤدي إلى إنشاء متغير محلي ذي نفس الاسم داخل نطاق الحلقة. هذا يعني أن التعديلات التي تجري على “owed” داخل الحلقة لا تؤثر على النسخة الخارجية من “owed”، وبالتالي الحلقة ستظل دائمًا تتحقق.

لحل هذه المشكلة، يجب عليك إزالة تعريف “float owed” داخل الحلقة الأولى. يجب أن يكون لديك متغير “owed” واحد فقط في نطاق الدالة main. يمكنك ببساطة استخدام النسخة الخارجية من “owed” داخل الحلقة.

c
#include #include int main(void) { float owed = -1; while (owed < 0) { printf("O hai! How much change is owed?\n"); owed = GetFloat(); owed = owed * 100; } int coins = 0; while (owed >= 25) { owed = owed - 25; coins = coins + 1; } while (owed >= 10) { owed = owed - 10; coins = coins + 1; } while (owed >= 5) { owed = owed - 5; coins = coins + 1; } while (owed >= 1) { owed = owed - 1; coins = coins + 1; } printf("%i\n", coins); }

بهذا يجب أن تعمل الحلقة الأولى كما هو متوقع، وستتمكن من حساب عدد العملات الصحيح بناءً على القيمة المدخلة.

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

بالتأكيد، دعنا نقم بتوضيح بعض المعلومات الإضافية حول الكود المقدم والمفاهيم التي يستند إليها.

  1. مكتبة cs50.h:
    يتم استخدام مكتبة cs50.h في هذا الكود للحصول على وظيفة GetFloat() التي تسمح للمستخدم بإدخال أرقام فاصلة عائمة. يجب أن يتم تثبيت هذه المكتبة وفقًا للبيئة التي تعمل بها.

  2. تحويل العملة:
    بعد استلام قيمة المبلغ من المستخدم باستخدام GetFloat()، يتم تحويلها إلى قيمة صحيحة بضربها في 100. هذا يعتمد على فكرة تمثيل القيم المالية بشكل صحيح (بالسنتات) لتسهيل الحسابات.

  3. حساب العملات:
    بعد ذلك، يتم استخدام مجموعة من حلقات الـwhile لحساب عدد العملات المطلوبة لدفع المبلغ المدخل. يتم ذلك عن طريق خصم القيم المتسلسلة من المبلغ حتى يصل إلى الصفر.

  4. الإخراج:
    يتم طباعة عدد العملات المستخدمة باستخدام printf() في النهاية.

  5. معالجة الأخطاء:
    يجري البرنامج التحقق من صحة الإدخال باستخدام حلقة while تحتسب مدى أن يكون المبلغ المدخل أكبر من أو يساوي الصفر.

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

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

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر