البرمجة

برمجة تحويل درجات الحرارة بلغة C باستخدام Goto

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

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

c
#include #include int main() { char choice; float x, y; start: printf("[c] Converts Celsius -> Fahrenheit\n[f] Converts Fahrenheit -> Celsius\n[x] Exit\n"); printf("Enter Choice: "); scanf(" %c", &choice); // أضفت مسافة قبل %c لتجنب المشكلات في الإدخال if (choice != 'c' && choice != 'f' && choice != 'x') { printf("Wrong Choice: Try Again!\n"); goto start; } if (choice != 'x') { printf("Input Value: "); scanf("%f", &x); if (choice == 'c') { y = 1.8 * x + 32; } else { y = (x - 32) * (5.0 / 9.0); // تم تحديد 5.0 / 9.0 لتجنب القسمة الصحيحة } printf("Result: %.2f\n", y); goto start; } exit: return 0; }

التغييرات التي قمت بها:

  1. أضفت #include لاستخدام دالة exit.
  2. أضفت x كخيار للخروج من البرنامج.
  3. قمت بتحديد 5.0 / 9.0 بدلاً من 5 / 9 لضمان أن القسمة تتم بدقة عددية.
  4. أضفت مسافة في scanf(" %c", &choice); لتجنب مشاكل الإدخال.
  5. أضفت \n في printf("Wrong Choice: Try Again!\n"); لتحسين تنسيق الطباعة.

يرجى مراجعة الشيفرة الجديدة وتجربتها، وإخباري إذا كان هناك أي مشاكل إضافية.

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

برنامج التحويل الحراري الذي تم تقديمه يقوم بتحويل درجات الحرارة بين مقاييس مئوية وفهرنهايت باستخدام لغة البرمجة C، ويستخدم عبارة goto لتحقيق التنقل بين الأقسام المختلفة من البرنامج. سنوسع قليلاً في شرح البرنامج ونقدم بعض النصائح التقنية:

  1. هيكل البرنامج:

    • يبدأ البرنامج بتعريف المتغيرات، حيث يتم تعريف choice لتخزين اختيار المستخدم و x, y لتخزين قيمة الحرارة والنتيجة على التوالي.
    • توجد علامة start التي يمكن للبرنامج الانتقال إليها باستخدام goto.
    • يتم عرض قائمة الخيارات للمستخدم لاختيار نوع التحويل أو الخروج.
  2. التحقق من الاختيار:

    • يتم استخدام if للتحقق من صحة اختيار المستخدم. إذا كان الاختيار غير صالح، يتم عرض رسالة خطأ ويتم إرجاع البرنامج إلى العلامة start باستخدام goto.
    • تم تصحيح شرط if لضمان أن يتم تنفيذ الرموز البرمجية الصحيحة.
  3. تحويل الحرارة:

    • يتم استخدام if آخر للتحقق مما إذا كان المستخدم قد اختار الخروج ('x'). إذا كان الاختيار غير ‘x’، يتم قراءة قيمة الحرارة (x) ويتم تحويلها باستخدام الصيغ الرياضية الصحيحة.
    • تم تحسين الصيغ الرياضية وتصحيحها لضمان الدقة العددية.
  4. الخروج من البرنامج:

    • تم إضافة علامة exit واستخدام return 0; لضمان خروج صحيح من البرنامج.
  5. تحسينات تقنية:

    • تمت إضافة \n في الرسائل لتحسين تنسيق الإخراج.

هذا البرنامج يعتبر تمرينًا جيدًا للتعلم، ولكن يجب أن يُفضل استخدام هياكل التحكم الأخرى في البرمجة بدلاً من goto، حيث يمكن أن يزيد استخدام goto من تعقيد الشيفرة ويجعلها أقل قابلية للفهم.

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