0% found this document useful (0 votes)
31 views20 pages

Lecture 3 C++

Uploaded by

kendahtaha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views20 pages

Lecture 3 C++

Uploaded by

kendahtaha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

‫مفهوم العوامل في العوامل التي تستخدم في‬

‫المقارنات‬
‫)‪(Comparison Operators‬‬

‫‪C++‬‬

‫العوامل ( ‪ ) operators‬عبارة عن رموز لها معنى محدد‪ ,‬و يمكننا تقسيم العوامل إلى‬

‫‪‬‬ ‫‪Arithmetic Operators‬‬

‫‪‬‬ ‫‪Comparison Operators‬‬

‫‪‬‬ ‫‪Logical Operators‬‬

‫‪‬‬ ‫‪Assignment Operators‬‬


‫رمز‬
‫شرح الكود‬ ‫مثال‬ ‫إسم العامل‬
‫ه‬

‫أعطي ‪ a‬قيمة ‪b‬‬ ‫‪a=b‬‬ ‫=‬ ‫‪Assignment‬‬

‫أضف قيمة ‪ b‬على قيمة ‪a‬‬ ‫‪a+b‬‬ ‫‪+‬‬ ‫‪Addition‬‬

‫إطرح قيمة ‪ b‬من قيمة ‪a‬‬ ‫‪a-b‬‬ ‫‪-‬‬ ‫‪Subtraction‬‬

‫أضرب قيمة ‪ a‬بقيمة ‪b‬‬ ‫‪a*b‬‬ ‫*‬ ‫‪Multiplication‬‬

‫أقسم قيمة ‪ a‬على قيمة ‪b‬‬ ‫‪a/b‬‬ ‫‪/‬‬ ‫‪Division‬‬

‫للحصول على آخر رقم يبقى عندما نقسم قيمة ‪ a‬على‬ ‫‪a%b‬‬ ‫‪%‬‬ ‫‪Modulo‬‬
‫قيمة ‪b‬‬

‫إلضافة ‪ 1‬على قيمة ‪ a‬و تستخدم في الحلقات‬ ‫‪++a‬‬ ‫‪++‬‬ ‫‪Increment‬‬

‫إلنقاص ‪ 1‬من قيمة ‪ a‬و تستخدم في الحلقات‬ ‫‪--a‬‬ ‫‪--‬‬ ‫‪Decrement‬‬

‫>‪#include <iostream‬‬
‫;‪using namespace std‬‬
‫)(‪int main‬‬
‫{‬
‫هنا ‪ a‬قيمة أكبر من صفر‪ ,‬ثم وضعنا قيمة الـ ‪ Unary-Plus‬لها في المتغير ‪// b‬‬
‫وضعنا في المتغير‬
‫;‪int a = 10‬‬
‫‪int b = +a; // b = +(10) = 10‬‬
‫;‪cout << "b = " << b << endl‬‬
‫هنا ‪ a‬قيمة أصغر من صفر‪ ,‬ثم وضعنا قيمة الـ ‪ Unary-Plus‬لها في المتغير ‪// b‬‬
‫وضعنا في المتغير‬
‫;‪a = -10‬‬
‫‪b = +a; // b = +(-10) = -10‬‬
‫;‪cout << "b = " << b‬‬
‫;‪return 0‬‬
‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪b = 10‬‬
‫‪b = -10‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬
‫{‬

‫;‪int a = 8‬‬

‫;‪int b = 5‬‬

‫‪int c = a / b; // c = 8 / 5 = 1‬‬

‫;‪cout << "c = " << c‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪c=1‬‬

‫مالحظة‪ :‬سبب عدم ظهور أي أرقام بعد الفاصلة هو أننا عرفنا المتغيرات كأعداد صحيحة ‪.int‬‬

‫)‪ % (Modulo Operator‬العامل‬


‫العامل ‪ %‬يقال له الـ ‪ Modulo‬و يسمى ‪ Remainder‬في الرياضيات و هو آخر رقم يبقى من عملية القسمة‪.‬‬

‫إذًا نستخدم الـ ‪ Modulo‬للحصول على آخر رقم يبقى من عملية القسمة‪.‬‬

‫و له فوائد كثيرة‪ ,‬فمثًال يمكننا إستخدامه لمعرفة ما إذا كان الرقم مفرد أو مزدوج ( أي ‪) Even or Odd‬‬

‫في هذا المثال سنقوم بتخزين الرقم الذي يبقى من القسمة في المتغير ‪. c‬‬
‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬


‫)(‪int main‬‬

‫{‬

‫;‪int a = 8‬‬

‫;‪int b = 5‬‬

‫‪int c = a % b; // c = 8 % 5 = 3‬‬

‫;‪cout << "c = " << c‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪c=3‬‬

‫)‪ ++ (Increment Operator‬العامل‬


‫العامل ‪ ++‬يستخدم لزيادة قيمة المتغير واحدًا‪ ,‬و هذا األسلوب يستخدم كثيرًا في الحلقات لزيادة قيمة العداد‬

‫واحدًا في كل دورة بكود أقل‪.‬‬


‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫;‪int a = 5‬‬
‫‪a++; // a = 5 + 1 = 6‬‬

‫;‪cout << "a = " << a‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪a=6‬‬

‫)‪ -- (Decrement Operator‬العامل‬


‫العامل ‪ --‬يستخدم إلنقاص قيمة المتغير واحدًا‪ ,‬و هذا األسلوب يستخدم كثيرًا في الحلقات إلنقاص قيمة العداد‬

‫واحدًا في كل دورة بكود أقل‪.‬‬


‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫;‪int a = 5‬‬

‫‪a--; // a = 5 - 1 = 4‬‬

‫;‪cout << "a = " << a‬‬

‫;‪return 0‬‬

‫}‬
‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪a=4‬‬

‫شرح الكود‬ ‫مثال‬ ‫رمزه‬ ‫إسم العامل‬

‫هل قيمة ‪ a‬تساوي قيمة ‪ b‬؟‬


‫(‪)a == b‬‬ ‫==‬ ‫‪Equal to‬‬
‫إذا كان الجواب نعم فإنها ترجع ‪true‬‬

‫هل قيمة ‪ a‬ال تساوي قيمة ‪ b‬؟‬


‫(‪)a != b‬‬ ‫!=‬ ‫‪Not equal to‬‬
‫إذا كان الجواب نعم فإنها ترجع ‪true‬‬

‫هل قيمة ‪ a‬أكبر من قيمة ‪ b‬؟‬


‫(‪)a > b‬‬ ‫>‬ ‫‪Greater than‬‬
‫إذا كان الجواب نعم فإنها ترجع ‪true‬‬

‫هل قيمة ‪ a‬أصغر من قيمة ‪ b‬؟‬


‫(‪)a < b‬‬ ‫<‬ ‫‪Less than‬‬
‫إذا كان الجواب نعم فإنها ترجع ‪true‬‬

‫هل قيمة ‪ a‬أكبر أو تساوي قيمة ‪ b‬؟‬ ‫‪Greater than‬‬


‫(‪)a >= b‬‬ ‫>=‬
‫إذا كان الجواب نعم فإنها ترجع ‪true‬‬ ‫‪or Equal to‬‬

‫هل قيمة ‪ a‬أصغر أو تساوي قيمة ‪ b‬؟‬ ‫‪Less than‬‬


‫(‪)a <= b‬‬ ‫<=‬
‫إذا كان الجواب نعم فإنها ترجع ‪true‬‬ ‫‪or Equal to‬‬

‫العوامل التي تستخدم إلعطاء قيم‬


‫)‪ (Assignment Operators‬للمتغيرات‬
‫رمز‬
‫شرح الكود‬ ‫مثال‬ ‫إسم العامل‬
‫ه‬

‫ضع قيمة ‪ b‬في ‪.a‬‬ ‫‪a=b‬‬ ‫=‬ ‫‪Basic Assignment‬‬


‫=‪a +‬‬
‫أضف قيمة ‪ a‬على قيمة ‪ b‬و خزن الناتج في ‪a‬‬ ‫‪=+‬‬ ‫‪Add AND Assignment‬‬
‫‪b‬‬

‫أنقص قيمة ‪ a‬من قيمة ‪ b‬و خزن الناتج في ‪a‬‬ ‫‪a -= b‬‬ ‫‪=-‬‬ ‫‪Susbtract AND Assignment‬‬

‫=* ‪a‬‬
‫أضرب قيمة ‪ a‬بقيمة ‪ b‬و خزن الناتج في ‪a‬‬ ‫*=‬ ‫‪Multiply AND Assignment‬‬
‫‪b‬‬

‫أقسم قيمة ‪ a‬على قيمة ‪ b‬و خزن الناتج في ‪a‬‬ ‫‪a /= b‬‬ ‫‪=/‬‬ ‫‪Divide AND Assignment‬‬

‫أقسم قيمة ‪ a‬على قيمة ‪ b‬و خزن آخر رقم يبقى من‬ ‫=‪a %‬‬
‫‪=%‬‬ ‫‪Modulo AND Assignment‬‬
‫عملية القسمة في ‪a‬‬ ‫‪b‬‬

‫)‪ = (Basic Assign‬العامل‬


‫العامل = يستخدم إلعطاء قيمة لمتغير‪.‬‬
‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫;‪int a = 10‬‬

‫;‪cout << "a = " << a‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬


‫‪a = 10‬‬

‫)‪ += (Add and Assign‬العامل‬


‫العامل ‪ =+‬يستخدم إلضافة قيمة ما على قيمة المتغير بكود أقل‪.‬‬
‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫;‪int a = 10‬‬

‫;‪int b = 20‬‬

‫‪a += b; // a = a + b = 10 + 20 = 30‬‬

‫;‪cout << "a = " << a‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪a = 30‬‬
‫العوامل التي تستخدم في وضع شروط‬
‫)‪ (Logical Operators‬منطقية‬
‫شرح الكود‬ ‫مثال‬ ‫رمزه‬ ‫إسم العامل‬

‫هل قيمة ‪ a‬و ‪ b‬تساويان ‪ true‬؟‬


‫(‪)a && b‬‬ ‫&&‬ ‫‪AND‬‬
‫هنا يجب أن يتم تحقيق الشرطين ليرجع ‪true‬‬

‫هل قيمة ‪ a‬أو ‪ b‬أو كالهما تساويان ‪ true‬؟‬


‫(‪)a || b‬‬ ‫||‬ ‫‪OR‬‬
‫هنا يكفي أن يتم تحقيق شرط واحد من الشرطين ليرجع ‪true‬‬

‫هل قيمة ‪ a‬ال تساوي ‪ true‬؟‬


‫!‪a‬‬ ‫!‬ ‫‪NOT‬‬
‫إذا كان الجواب نعم فإنها ترجع ‪true‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫;‪int a = 10‬‬

‫;‪int b = 20‬‬

‫الشرط التالي ‪ a‬تساوي ‪ ,10‬و قيمة المتغير ‪ b‬تساوي ‪ 20‬سيتم تنفيذ أمر الطباعة ‪//‬‬
‫يعني أنه إذا كانت قيمة المتغير‬

‫) ‪if( a == 10 && b == 20‬‬

‫{‬

‫;"‪cout << "The first and the second conditions return true‬‬

‫}‬
‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪The first and the second conditions return true‬‬

‫نالحظ أنه نفذ أمر الطباعة ألن جواب الشرطين الموضوعين في الجملة ‪ if‬هو ‪.true‬‬

‫>‪#include <iostream‬‬
‫;‪using namespace std‬‬
‫)(‪int main‬‬
‫{‬
‫;‪int a = 10‬‬
‫;‪int b = 20‬‬
‫الشرط ‪ a‬تساوي ‪ ,10‬أو قيمة المتغير ‪ b‬تساوي ‪ 50‬سيتم تنفيذ أمر الطباعة ‪//‬‬
‫التالي يعني أنه إذا كانت قيمة المتغير‬
‫) ‪if( a == 10 || b == 50‬‬
‫{‬
‫;"‪cout << "One of the conditions return true‬‬
‫}‬
‫;‪return 0‬‬
‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪One of the conditions return true‬‬

‫نفذ أمر الطباعة ألن جواب الشرط األول الموضوع في الجملة ‪ if‬هو ‪true‬‬
‫ادخال بيانات من المستخدم‬

‫مقدمة‬ ‫‪‬‬

‫أمر اإلدخال ‪ cin‬في ‪++C‬‬ ‫‪‬‬

‫الفرق بين األمر ‪ cin‬و األمر ‪cout‬‬ ‫‪‬‬

‫المشاكل التي يسببها إدخال مسافات فارغة‬ ‫‪‬‬

‫مقدمة‬

‫في الدروس السابقة‪ ,‬كنا نكتب الكود ثم نقوم بتجربته فيتنفذ كما هو‪ ,‬بمعنى أننا كنا أصًال نعرف ما سيظهر عند‬

‫تشغيل الكود ألننا كنا نقوم بتحديد قيم المتغيرات قبل تشغيل البرنامج‪.‬‬
‫في هذا الدرس ستتعلم كيف تنشئ برنامح يتفاعل مع المستخدم‪ ,‬حيث أنك عندما تقوم بتشغيله سيطلب من‬

‫المستخدم إدخال بيانات‪ ,‬و بعد إدخالها سيقوم البرنامج بمعالجتها و فعل شيء معين بها‪.‬‬

‫‪ C++‬في ‪ cin‬أمر اإلدخال‬


‫لجعل المستخدم قادر على إدخال بيانات في البرنامج أثناء اشتغاله نستخدم أمر اإلدخال ‪.>> cin‬‬

‫األمر ‪ cin‬موجود في الحزمة ‪ std‬و لهذا يجب ان تكتب ‪ std::cin‬إن لم تكن تريد تضمين الحزمة ‪ std‬في‬

‫برنامجك‪.‬‬

‫في كل مرة تقوم فيها باستدعاء هذا األمر يقوم المترجم بانتظارك إلدخال عدد أو كلمة واحدة من لوحة‬

‫المفاتيح ( ‪.) Keyboard‬‬

‫بعد اإلنتهاء من اإلدخال و النقر على الزر ‪ Enter‬سيتم إرجاع الشيء الذي قمت بإدخاله في المكان الذي تم منه‬

‫إستدعاء األمر ‪.>> cin‬‬

‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫قمنا بتجهيز ‪ name‬و ‪ age‬لتخزين المعلومات التي سيدخلها المستخدم الحقًا ‪//‬‬
‫المتغيرين‬

‫;‪string name‬‬

‫;‪int age‬‬
‫هنا سيطلب من المستخدم إدخال إسمه و من ثم سيتم تخزين اإلسم الذي يدخله ‪// name‬‬
‫في المتغير‬

‫;" ?‪cout << "What's your name‬‬

‫;‪cin >> name‬‬

‫هنا سيطلب من المستخدم إدخال عمره و من ثم سيتم تخزين الرقم الذي يدخله ‪// age‬‬
‫في المتغير‬

‫;" ?‪cout << "How old are you‬‬

‫;‪cin >> age‬‬

‫في األخير قمنا بعرض المعلومات التي يدخلها المستخدم بشكل مرتب ‪//‬‬

‫;"‪cout << "Your name is " << name << ", and your age is " << age << " years.‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل مع اإلشارة إلى أننا قمنا بتعليم البيانات التي إنتظرنا البرنامج إلدخالها‬

‫من لوحة المفاتيح باللون األصفر‪.‬‬

‫‪What's your name? Mhamad‬‬


‫‪How old are you? 25‬‬

‫‪Your name is Mhamad, and your age is 25 years.‬‬

‫‪ cout‬و األمر ‪ cin‬الفرق بين األمر‬

‫في البداية معرفة سبب تسمية األوامر بهذه الكلمات سيسهل عليك تذكر الفرق بينهما‪ ,‬لذا تذكر دائمًا أصلهما‪:‬‬
‫‪‬‬ ‫‪.‬و التي بدورها تستخدم إلدخال قيمة في المتغير ‪ See In‬يقصد بها كلمة ‪cin‬‬

‫‪‬‬ ‫‪.‬و التي بدورها تستخدم للحصول على قيمة المتغير ‪ See Out‬يقصد بها كلمة ‪cout‬‬

‫األمر ‪ cin‬نضع بعده إسم المتغير الذي سنخزن القيمة التي يدخلها المستخدم فيها و تكون األسهم باتجاه اليمين‬

‫كالتالي‪.‬‬
‫قم بتخزين ما سيدخله المستخدم في المتغير ‪// x‬‬

‫;‪cin >> x‬‬

‫األمر ‪ cout‬نضع بعده أي شيء نريد عرضه أو أي متغير نريد عرض قيمته و تكون األسهم باتجاه اليسار كالتالي‪.‬‬
‫قم بعرض القيمة المدخلة في المتغير ‪// x‬‬

‫;‪cout << "x = " << x‬‬

‫المشاكل التي يسببها إدخال مسافات فارغة‬

‫تذكر دائمًا أن األمر ‪ >> cin‬يستخدم إلدخال رقم أو كلمة واحدة فقط بمعنى أنه ال يجب أن يحتوي ما تدخله على‬

‫مسافات فارغة‪.‬‬

‫في حال كان ما أدخلته يحتوي على مسافات فارغة‪ ,‬سيسبب ذلك مشاكل في الكود ألن المترجم سيعتبر أنك‬

‫تحاول إدخال مجموعة قيم و ليس قيمة واحدة‪.‬‬

‫عندما يجدك المترجم قمت بإدخال مجموعة قيم في ذات الوقت الذي تحاول فيه أن تخزن قيمة واحدة فقط في‬

‫متغير‪ ,‬سيعتبر أنك تريد إدخال القيم األخرى في المرات القادمة التي تطلب فيها من المستخدم أن يدخل قيم‪.‬‬
‫في المثال التالي‪ ,‬قمنا بإنشاء برنامج يطلب من المستخدم إدخال إسمه و بريده اإللكتروني‪ ,‬بعدها يعرض له ما‬

‫قام بإدخاله‪.‬‬

‫عند تشغيل البرنامج سنتعمد إدخال إسم المستخدم الكامل (إسمه و إسم عائلته) مع وضع مسافة فارغة بينهما‬

‫حتى ترى الخطأ الذي سيحدث‪.‬‬


‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫قمنا بتجهيز ‪ name‬و ‪ email‬لتخزين المعلومات التي سيدخلها المستخدم الحقًا ‪//‬‬
‫المتغيرين‬

‫;‪string name‬‬

‫;‪string email‬‬

‫هنا سيطلب من المستخدم إدخال إسمه و من ثم سيتم تخزين اإلسم الذي يدخله ‪// name‬‬
‫في المتغير‬

‫;" ‪cout << "Enter your name:‬‬

‫;‪cin >> name‬‬

‫هنا سيطلب من المستخدم إدخال بريده اإللكتروني و من ثم سيتم تخزين ‪// email‬‬
‫البريد الذي يدخله في المتغير‬

‫;" ‪cout << "Enter your email:‬‬

‫;‪cin >> email‬‬

‫في األخير قمنا بعرض المعلومات التي يدخلها المستخدم بشكل مرتب ‪//‬‬
‫;"‪cout << "\n\n---------------------‬‬

‫;‪cout << "\nName = " << name‬‬

‫;‪cout << "\nEmail = " << email‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل مع اإلشارة إلى أننا قمنا بتعليم البيانات التي إنتظرنا البرنامج إلدخالها‬

‫من لوحة المفاتيح باللون األصفر‪.‬‬

‫‪Enter your name: Mhamad‬‬ ‫‪111‬‬


‫‪Enter your email:‬‬ ‫الحظ أنه لم ينتظرنا لندخل البريد اإللكتروني بل إعتبر أنه تم ‪<-‬‬
‫إدخاله‬

‫‪---------------------‬‬
‫‪Name = Mhamad‬‬ ‫الحظ أنه قام بوضع ‪ Mhamad‬فقط في المتغير ‪<- name‬‬
‫‪Email = 111‬‬ ‫في المتغير ‪ 111‬الحظ أنه قام بوضع ‪ email‬بشكل تلقائي ‪<-‬‬

‫‪ C++‬مفهوم النصوص في‬


‫في عالم البرمجة‪ ,‬نقول للنص "‪ "String‬سواء كان يتألف من حرف واحد‪ ,‬كلمة‪ ,‬جملة أو نص كبير جدًا‪.‬‬

‫و من هذا المنطلق نستنتج أن النص عبارة عن سلسلة من األحرف ليس لها حجم محدد‪.‬‬
‫طريقة تعريف متغير نصي‬

‫في لغة ‪ ++C‬تم إنشاء النوع ‪ string‬خصيصًا لتخزين القيم النصية و هو موجود في الحزمة ‪.std‬‬

‫لذلك إن لم تقم بتضمين الحزمة ‪ std‬في برنامجك‪ ,‬يجب أن تعّر ف النص بهذا الشكل ‪.std::string‬‬

‫باإلضافة إلى ذلك‪ ,‬القيمة النصية يجب وضعها بين عالمة التنصيص "" كما في المثال التالي‪.‬‬
‫مثال‬
‫‪[Link]‬‬

‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫هنا قمنا بتعريف متغير نصي إسمه ‪ s‬و قيمته النص "!‪// "Hello World‬‬

‫;"!‪string s = "Hello world‬‬

‫هنا قمنا بطباعة قيمة المتغير ‪// s‬‬

‫;‪cout << s‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫!‪Hello world‬‬
‫معلومة تقنية‬

‫النوع ‪ string‬في األساس عبارة عن كالس ( ‪ ) Class‬و ليس كباقي أنواع البيانات األولية التي تعرفنا عليها‬

‫سابقًا‪.‬‬

‫أيضًا‪ ,‬عندما تقوم بتعريف متغير نوعه ‪ string‬فأنت في الواقع تقوم بإنشاء كائن ( ‪ ) Object‬منه‪.‬‬

‫ال تقلق بتاتًا إن لم تفهم معنى كالس و كائن اآلن ألنك ستتعلم ذلك بتفصيل ممل الحقًا في الدورة‪.‬‬

‫‪ C++‬مفهوم دمج النصوص في‬


‫دمج النصوص ( ‪ ) Concatenation‬يقصد به وضع سلسلة من النصوص بجانب بعضها لعرضها كنص واحد‪ .‬و هذا‬

‫األمر ستحتاجه في أي تطبيق‪.‬‬

‫فمثًال‪ ,‬في البرامج أو المواقع التي تستخدمها تالحظ أنه عند إنشاء حساب جديد يطلب منك أن تدخل إسمك على‬

‫مرحلتين كالتالي‪:‬‬

‫‪ -‬اإلسم ( ‪.) First Name‬‬

‫‪ -‬إسم العائلة ( ‪.) Last Name‬‬

‫بعد أن تنشئ حسابك تالحظ أنه قام بعرض إسمك الكامل ( اإلسم ‪ +‬إسم العائلة )‪.‬‬

‫عند وضع اإلسمين بجانب بعضهما و كأنهما نص واحد يكون المبرمج فعليًا قد قام بدمجهما فقط و ليس إعادة‬

‫كتابتهما من جديد‪.‬‬

‫في المثال التالي سنقوم بتعريف المتغير ‪ firstName‬لنضع فيه اإلسم‪ ,‬و المتغير ‪ lastName‬لنضع فيه إسم‬

‫العائلة‪ ,‬و المتغير ‪ fullName‬لنضع فيه اإلسم و إسم العائلة‪.‬‬


‫مثال‬
‫‪[Link]‬‬
‫>‪#include <iostream‬‬

‫;‪using namespace std‬‬

‫)(‪int main‬‬

‫{‬

‫هنا قمنا بإنشاء المتغير ‪ firstName‬و وضعنا فيه نص يمثل اإلسم ‪//‬‬

‫;"‪string firstName = "Mhamad‬‬

‫هنا قمنا بإنشاء المتغير ‪ lastName‬و وضعنا فيه نص يمثل إسم العائلة ‪//‬‬

‫;"‪string lastName = "ali‬‬

‫و إسم العائلة الموجود في المتغير ‪ lastName‬و أضفنا بينهما مسافة فارغة ‪//‬‬
‫هنا قمنا بإنشاء ‪ fullName‬و وضعنا فيه اإلسم الموجود في المتغير ‪firstName‬‬
‫المتغير‬

‫;‪string fullName = firstName + " " + lastName‬‬

‫هنا ‪ fullName‬و يالتالي سيتم عرض اإلسم الكامل الذي قمنا بدمجه و وضعه فيه ‪//‬‬
‫عرضنا قيمة المتغير‬

‫;‪cout << fullName‬‬

‫;‪return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل‪.‬‬

‫‪Mhamad ali‬‬

‫‪ C++‬كيف يتم تخزين النص في‬


‫لنفترض أننا قمنا بتعريف ‪ string‬إسمه ‪ s‬و أعطيناه قيمة‪.‬‬
‫مثال‬

string s = "welcome to c++. com";

You might also like