المتغيرات الرقمية

وقت القراءة: 4 دقائق 104 مشاهدة

المقدمة

في لغة C++، المتغيرات الرقمية، المعروفة أيضًا بـenumerated type، هو نوع بيانات محدد من قبل المستخدم ويتكون من مجموعة من الثوابت الصحيحة المسماة. هذه الثوابت هي في الأساس أسماء تمثيلية مخصصة لقيم عددية.

طريقة الإعلان

  • يتم استخدام الكلمة الأساسية enum للإعلان عن المتغيرات الرقمية.
  • يمكنك إدراج الأسماء الثابتة مفصولة بفواصل، ومحاطة بشكل اختياري بأقواس متعرجة.
  • افتراضيًا، تبدأ الثوابت بقيمة 0 وتزداد بمقدار 1 لكل ثوابت لاحقة.
  • يمكنك تعيين قيم عددية محددة بشكل صريح للثوابت الفردية.

مثال 1:

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
enum days {sat = 1, sun, mon, tue, wed, thu, fri};
int main()
{
    string d[7] = {"sat", "sun", "mon", "tue", "wed", "thu", "fri"};
    days m[7] = {sat, sun, mon, tue, wed, thu, fri};
    for (size_t i = 0; i < 7; i++)
    {
        cout << m[i] << " - " << d[i] << endl;
    }
    return 0;
}

الأيام كمتغيرات رقمية:

  • يعلن متغيرات رقمية تم تسميتها days لتمثيل أيام الأسبوع.
  • يعين قيمًا لكل يوم: sat = 1, sun, mon, وما إلى ذلك (الأيام اللاحقة تحصل على قيم ضمنية متزايدة من اليوم السابق).

مصفوفة النص d:

  • إنشاء مصفوفة من النصوص باسم d بحجم 7، تحمل أسماء اليوم بالكامل ("sat"، "sun"، ...، "fri").

المتغيرات الرقمية للمصفوفة m:

  • إنشاء مصفوفة من قيم المتغيرات الرقمية المسماة m بحجم 7، تحتوي على متغيرات رقمية للأيام (sat, sun, …, fri).

حلقة الدوران for:

  • الدوران خلال عناصر كل من d وm باستخدام index مفرد i.
  • لكل حلقة تكرار:
    - طباعة قيمة المتغير الرقمي الحالية من m[i] متبوعة بواصلة ("-").
    - طباعة اسم اليوم المقابل من d[i] على نفس السطر.

مثال 2:

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
string da[7] = {"sat", "sun", "mon", "tue", "wed", "thu", "fri"};
enum Days {sat = 1, sun, mon, tue, wed, thu, fri};
class week {
        Days d[7];
    public:
        void setday(Days w[])
        {
            for (size_t i = 0; i < 7; i++)
                d[i] = w[i];
        }
        void p()
        {
            for (size_t i = 0; i < 7; i++)
                cout << "The number of day " <<  da[i] << " = " << d[i] << endl;
        }
};
int main()
{
    Days d[7] = {sat, sun, mon, tue, wed, thu, fri};
    week g;
    g.setday(d);
    g.p();
    return 0;
}

المصفوفة da:

  • يعلن عن مصفوفة نص عالمية النطاق da بحجم 7، تخزن أسماء الأيام الكاملة ("sat"، "sun"، ...، "fri").

الأيام كمتغيرات رقمية:

  • يعرف متغيرات رقمية تم تسميتها "Days " لتمثيل أيام الأسبوع بقيم عددية:
    – sat = 1
    – sun (ضمنيًا 2)
    – mon (ضمنيًا 3)
    – …
    – fri (ضمنيًا 7)

Class week:

  • يمثل مفهوم "week".
    - متغيرات الأعضاء:
    * d عبارة عن مصفوفة من المتغيرات الرقمية للأيام، تحتفظ بقيم اليوم الرقمية لمدة أسبوع (على سبيل المثال، sat, sun, …).
    - طرق الأعضاء:
    * setday(Days w[]): يأخذ مصفوفة من قيم المتغيرات الرقمية للأيام كمدخلات ويعينها لمصفوفة العضو d، وينسخ قيم اليوم إلى الكائن.
    * p(): طباعة أسماء الأيام والقيم الرقمية المقابلة لها من المصفوفة d. يكون التكرار من خلال المصفوفة، ويصل إلى كل من سلسلة da الحالية وقيمة d في نفس الـindex لطباعة الزوج.

الدالة الرئيسة main:

  • إنشاء مصفوفة d من نوع الأيام وتهيئتها باستخدام sat وsun و... وfri.
  • إنشاء كائن للأسبوع اسمه g.
  • يستدعي طريقة setday الخاصة بـ g لتمرير المصفوفة d (التي تحتوي على قيم اليوم) إلى الكائن.
  • يستدعي الطريقة p الخاصة بـ g، التي تطبع معلومات اليوم بالتنسيق "The number of day = ".

يوضح الكود استخدام المتغيرات الرقمية والفئات لتمثيل وإدارة معلومات يوم الأسبوع في C++.

مشاركة هذا

المتغيرات الرقمية

Or copy link

المحتوى
Arabic