English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليميات C++ الأساسية

تحكم في تدفق C++

الوظائف C++

مجموعات C++ و 字ائن

هياكل بيانات C++

فئات C++ و كائنات

المراجع C++

الوراثة C++

تعليميات STL C++

دليل مرجعي لـ C++

جملة switch C++

في هذا المقال، ستتعلم كيفية إنشاء جملة switch في برمجة C++ (مع أمثلة)

C++ جملة switchتنفيذ جملة واحدة بناءً على عدة شروط. إنه يشبه جملة switch في C++if-else-ifجملة.

لكن جملة switch عادةً أسرع من if ... else. بالإضافة إلى ذلك، جملة switch لها لغة سلسلة أكثر بسيطة وسهولة في الفهم.

جملة switch ...case لغة C++

switch (n)
{
    case constant1:
        // إذا كان n يساوي constant1، سيتم تنفيذ الكود
        كسر;
    case constant2:
        // إذا كان n يساوي constant2، سيتم تنفيذ الكود
        كسر;
        .
        .
        .
    default:
        // إذا لم يكن n مطابقاً لأي constant، سيتم تنفيذ الكود
{}

عند العثور على مطابقة مع تعبير case (constant1،constant2....constant) يتم نقل سيطرة البرنامج إلى الكود المرتبط بcase.

في الكود المقدم، يساوي القيمة n constant2. سيفحص المترجم الكود المرتبط بجملة case constant2 حتى نهاية كائن switch أو يواجهجملة breakإلى هنا.

يستخدم جملة break لمنع الدخول إلى حالة أخرى.

رسومات سلسلة switch...case

تظهر الصورة أعلاه كيفية عمل جملة switch، ويتم فحص الشروط في فقرات case.

مثال: جملة switch في C++

// يستخدم البرنامج switch لتكوين محول بسيط
#include <iostream>
using namespace std;
int main()
{
    char o;
    float num1, num2;
    cout << "ادخل عميل واحد (+, -, *, /): ";
    cin >> o;
    cout << "ادخل عميلين: ";
    cin >> num1 >> num2;
    
    switch (o) 
    {
        case '+":
            cout << num1 << " + " << num2 << " = " << num1+num2;
            كسر;
        case '-":
            cout << num1 << " - " << num2 << " = " << num1-num2;
            كسر;
        case '*":
            cout << num1 << " * " << num2 << " = " << num1*num2;
            كسر;
        case '/":
            cout << num1 << " / " << num2 << " = " << num1/num2;
            كسر;
        default:
            // عميل غير مطابق لأي من (+, -, *, /)
            cout << "خطأ! عميل غير صحيح";
            كسر;
    {}
    
    يعودُ 0;
{}

输出结果

输入一个运算符 (+, -, *, /): +
-
输入两个操作数: 2.3
4.5
2.3 - 4.5 = -2.2

用户输入的 - 运算符存储在o变量中。而两个操作数2.3和4.5分别存储在变量num1和num2中。

ثم، ينتقل التحكم في البرنامج إلى

cout << num1 << " - " << num2 << " = " << num1-num2;

في النهاية، جملة break; تنهي جملة switch.

إذا لم يتم استخدام جملة break، فإن جميع جمل case التي تناسب الشروط ستُنفذ.