المعامل الشرطي
جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 30 من 74.
العامل الشرطي هو عبارة if-else بسيطة مكونة من سطر واحد. وله الصيغة التالية:
variable = (condition) ? value_if_true : value_if_false;يقوم العامل الشرطي بتقييم الشرط. إذا كان true، فإنه يقوم بتعيين value_if_true للمتغير؛ وإلا، فإنه يقوم بتعيين value_if_false.
على سبيل المثال:
int age = 20;
std::string message = (age >= 18) ? "Adult" : "Minor";في هذا المثال، بما أن age أكبر من أو يساوي 18، فسيتم تعيين القيمة "Adult" لـ message. أما إذا كانت age أقل من 18، فسيتم تعيين "Minor" لـ message.
يمكنك تكديس أي عدد تريده من الشروط:
vrbl = (cond1) ? val1 : (cond2) ? val2 : val3;على سبيل المثال:
int score = 100;
std::string result = (score == 100) ? "Perfect!" : (score >= 90) ? "Excellent" : "Good";في هذا المثال، بما أن score == 100 صحيح، فسيتم تعيين "Perfect!" للمتغير result. إذا كانت الدرجة 95، فسيتم تعيين "Excellent".
التحدي
مبتدئأنشئ برنامجًا يتحقق مما إذا كان الرقم موجبًا أو سالبًا أو صفرًا باستخدام العامل الشرطي (conditional operator). يجب على البرنامج:
- أخذ مدخل صحيح (integer) من المستخدم.
- استخدام العامل الشرطي لتحديد ما إذا كان الرقم موجبًا أو سالبًا أو صفرًا.
- طباعة النتيجة بالتنسيق التالي:
"The number is [positive/negative/zero]".
ورقة مرجعية
العامل الشرطي (conditional operator) هو عبارة if-else في سطر واحد بالصيغة التالية:
variable = (condition) ? value_if_true : value_if_false;مثال:
int age = 20;
std::string message = (age >= 18) ? "Adult" : "Minor";يمكنك دمج عدة شروط:
vrbl = (cond1) ? val1 : (cond2) ? val2 : val3;على سبيل المثال:
int score = 100;
std::string result = (score == 100) ? "Perfect!" : (score >= 90) ? "Excellent" : "Good";جرّب بنفسك
#include <iostream>
int main() {
int number;
std::cin >> number;
std::string result = "";
// اكتب كودك بالأسفل
std::cout << "The number is " << result << std::endl;
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص