اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

سأساعدك في المفاهيم، حيث أن كتابة الكود عنك لن يعود عليك بأي فائدة و لن يحسن من مهاراتك البرمجية.

في البداية هنا لدينا 3 شروطـ بالطبع يمكن كتابتها عن طريق العبارة الشرطية و لكن المطلوب استعمال switch و التي تقوم بالتحقق من قيمة عدد و تنفيذ التعليمات المطلوبة بناء على ذلك، مثلاً لنفترض أن لدي برنامج يطلب من المستخدم إدخال رقم بين 1 و 3 و سيتم طباعة رسالة معينة حسب كل إدخال، يمكن كتابة ذلك كما يلي:

int x;
cin >> x;
switch(x){
  case 1:
    cout << "hi" << endl;
    break;
  case 2:
    cout << "hello" << endl;
    break;
  case 3:
    cout << "bonjour" << endl;
    break;
}

لاحظ كيفية كتابة تعليمة ال switch، حيث نقوم بإعطاءها العدد و تحديد الحالات التي نريدها، و في كل حالة نكتب التعليمات التي نريد تنفيذها يليها break.

يمكنك محاولة كتابة ذلك للتمرين الخاص بك.

بالنسبة لكيفية حساب الدفع اليومي بناء على عدد الساعات و مستوى الموظف، فإن مستوى الموظف هو حالات ال switch، بينما عدد الساعات ببساطة يمكنك ضربه بمعدل الدفع في الساعة الواحدة ليصبح لديك الناتج.

من فضلك حاول كتابة التمرين و سنساعدك في حال حدوث أخطاء معك.

  • 0
نشر

سأقوم بتوضيح الخطوات لك لإنشاء برنامج يستخدم جملة التحويل switch case لحساب أجر الموظفين كما يلي:

1- قم بتعريف المتغيرات اللازمة للبرنامج، وهي:

  • متغير لتخزين عدد الساعات التي عملها الموظف (hours).
  • متغير لتخزين مستوى المهارة للموظف (skillLevel).
  • متغير لتخزين أجر الموظف اليومي (pay).

2- قم بطباعة رسالة تعريفية للمستخدم لإعلامه بضرورة إدخال البيانات المطلوبة.

3- استخدم جملة switch case لتحديد أجر الموظف بناءً على مستوى المهارة الذي يملكه.

  • في الحالة الأولى (skillLevel = 1)، قم بحساب أجر الموظف بتضريب عدد الساعات التي عملها الموظف بمعدل الأجر اليومي للمهارة الغير ماهرة (8.15 RO/-) وتخزين الناتج في متغير الأجر (pay).
  • في الحالة الثانية (skillLevel = 2)، قم بحساب أجر الموظف بتضريب عدد الساعات التي عملها الموظف بمعدل الأجر اليومي للمهارة النصف مهارة (12.55 RO/-) وتخزين الناتج في متغير الأجر (pay).
  • في الحالة الثالثة (skillLevel = 3)، قم بحساب أجر الموظف بتضريب عدد الساعات التي عملها الموظف بمعدل الأجر اليومي للمهارة الماهرة (18.60 RO/-) وتخزين الناتج في متغير الأجر (pay).
  • في الحالة الرابعة (skillLevel غير 1 أو 2 أو 3)، قم بطباعة رسالة خطأ تفيد بأن مستوى المهارة المدخل غير صحيح، وعدم القيام بأي حسابات.

4- قم بطباعة قيمة أجر الموظف المحسوب في المتغير pay.

5- اختبر البرنامج باستخدام مجموعة من الحالات الاختبار المختلفة، مثل الأعداد الزوجية والفردية والكسورية، والتأكد من صحة نتائج الحسابات.

6- قم بإضافة اللازم للتحقق من صحة البيانات المدخلة من قبل المستخدم، مثل التحقق من أن عدد الساعات المدخلة يكون أكبر من صفر، وأن مستوى المهارة المدخل صحيح.

7- يمكن إضافة تعليمات إضافية لتطوير البرنامج وجعله أكثر استخدامًا وعملية، مثل إضافة خيارات إدخال المعلومات بطريقة مختلفة مثل قراءة البيانات من ملف أو تخزينها في قاعدة بيانات.

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...