1. النوع int (عدد صحيح)
🔰 الوصف:
• يُستخدم لتخزين الأعداد الصحيحة (بدون كسور).
• الحجم: 4 بايت (32 بت).
• المجال: من -2,147,483,648 إلى 2,147,483,647.
🔮 أمثلة:
2. النوع float (عدد عشري بدقة منخفضة)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية (مع كسور).
• الحجم: 4 بايت (32 بت).
• المجال : حوالي 7 أرقام عشرية.
🔮 أمثلة:
⚠️ ملاحظة:
• يُفضل إضافة الحرف f بعد القيمة العشرية للإشارة إلى أنها من نوع float (مثل 3.14f).
3. النوع double (عدد عشري بدقة عالية)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية بدقة أعلى من float.
• الحجم : 8 بايت (64 بت).
• المجال : حوالي 15 رقمًا عشريًا.
🔮 أمثلة:
⚠️ ملاحظة:
• يعتبر double هو النوع الافتراضي للأعداد العشرية في C++.
4. النوع char (حرف واحد)
🔰 الوصف:
• يُستخدم لتخزين حرف واحد.
• الحجم : 1 بايت (8 بت).
• المجال : من -128 إلى 127 أو من 0 إلى 255.
🔮 أمثلة:
⚠️ ملاحظة:
• يتم تخزين الحرف بين علامتي تنصيص مفردة ('A').
5. النوع bool (قيمة منطقية)
🔰 الوصف:
• يُستخدم لتخزين القيم
• المنطقية : true (صحيح) أو false (خطأ).
• الحجم : 1 بايت (8 بت).
• القيمة : true (1) أو false (0).
🔮 أمثلة:
⚠️ ملاحظة:
• عند طباعة القيم المنطقية، يتم عرض 1 لـ true و 0 لـ false.
7. أمثلة عملية متكاملة لفهم أنواع البيانات في لغة ++C
🔸️ مثال 1: استخدام أنواع البيانات المختلفة
🔸️ مثال 2: العمليات الحسابية مع أنواع البيانات
8. الخلاصة العامة
▪︎ int: للأعداد الصحيحة.
▪︎ float: للأعداد العشرية بدقة منخفضة.
▪︎ double: للأعداد العشرية بدقة عالية.
▪︎ char: لتخزين حرف واحد.
▪︎ bool: لتخزين القيم المنطقية (true أو false).
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_السابع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔰 الوصف:
• يُستخدم لتخزين الأعداد الصحيحة (بدون كسور).
• الحجم: 4 بايت (32 بت).
• المجال: من -2,147,483,648 إلى 2,147,483,647.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
int age = 25; // تعريف متغير age من نوع int
int temperature = -10; // يمكن أن تكون القيمة سالبة
cout << "Age: " << age << endl;
cout << "Temperature: " << temperature << endl;
return 0;
}
2. النوع float (عدد عشري بدقة منخفضة)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية (مع كسور).
• الحجم: 4 بايت (32 بت).
• المجال : حوالي 7 أرقام عشرية.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
float pi = 3.14f; // تعريف متغير pi من نوع float
float temperature = 98.6f;
cout << "Pi: " << pi << endl;
cout << "Body Temperature: " << temperature << endl;
return 0;
}
⚠️ ملاحظة:
• يُفضل إضافة الحرف f بعد القيمة العشرية للإشارة إلى أنها من نوع float (مثل 3.14f).
3. النوع double (عدد عشري بدقة عالية)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية بدقة أعلى من float.
• الحجم : 8 بايت (64 بت).
• المجال : حوالي 15 رقمًا عشريًا.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
double pi = 3.141592653589793; // تعريف متغير pi من نوع double
double distance = 123456789.123456789;
cout << "Pi: " << pi << endl;
cout << "Distance: " << distance << endl;
return 0;
}
⚠️ ملاحظة:
• يعتبر double هو النوع الافتراضي للأعداد العشرية في C++.
4. النوع char (حرف واحد)
🔰 الوصف:
• يُستخدم لتخزين حرف واحد.
• الحجم : 1 بايت (8 بت).
• المجال : من -128 إلى 127 أو من 0 إلى 255.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
char grade = 'A'; // تعريف متغير grade من نوع char
char symbol = '$';
cout << "Grade: " << grade << endl;
cout << "Symbol: " << symbol << endl;
return 0;
}
⚠️ ملاحظة:
• يتم تخزين الحرف بين علامتي تنصيص مفردة ('A').
5. النوع bool (قيمة منطقية)
🔰 الوصف:
• يُستخدم لتخزين القيم
• المنطقية : true (صحيح) أو false (خطأ).
• الحجم : 1 بايت (8 بت).
• القيمة : true (1) أو false (0).
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
bool isStudent = true; // تعريف متغير isStudent من نوع bool
bool isRaining = false;
cout << "Is Student: " << isStudent << endl;
cout << "Is Raining: " << isRaining << endl;
return 0;
}
⚠️ ملاحظة:
• عند طباعة القيم المنطقية، يتم عرض 1 لـ true و 0 لـ false.
7. أمثلة عملية متكاملة لفهم أنواع البيانات في لغة ++C
🔸️ مثال 1: استخدام أنواع البيانات المختلفة
#include <iostream>
using namespace std;
int main() {
int age = 25;
float weight = 68.5f;
double height = 175.5;
char gender = 'M';
bool isStudent = true;
cout << "Age: " << age << endl;
cout << "Weight: " << weight << endl;
cout << "Height: " << height << endl;
cout << "Gender: " << gender << endl;
cout << "Is Student: " << isStudent << endl;
return 0;
}
🔸️ مثال 2: العمليات الحسابية مع أنواع البيانات
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20;
float x = 10.5f, y = 20.5f;
double pi = 3.14159;
int sumInt = a + b;
float sumFloat = x + y;
double area = pi * 5 * 5; // حساب مساحة دائرة نصف قطرها 5
cout << "Sum of integers: " << sumInt << endl;
cout << "Sum of floats: " << sumFloat << endl;
cout << "Area of circle: " << area << endl;
return 0;
}
8. الخلاصة العامة
▪︎ int: للأعداد الصحيحة.
▪︎ float: للأعداد العشرية بدقة منخفضة.
▪︎ double: للأعداد العشرية بدقة عالية.
▪︎ char: لتخزين حرف واحد.
▪︎ bool: لتخزين القيم المنطقية (true أو false).
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_السابع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
❤3
الثوابت (Constants) في لغة C++ | الدرس الثامن
🌷 سنشرح درس الثوابت (Constants) في لغة C++، وسأقدم شرحًا مفصلاً عن كيفية تعريفها باستخدام #define و const، مع أمثلة عملية.
🌷 سنشرح درس الثوابت (Constants) في لغة C++، وسأقدم شرحًا مفصلاً عن كيفية تعريفها باستخدام #define و const، مع أمثلة عملية.
1. ما هي الثوابت (Constants)؟
🔸️ الثوابت هي قيم ثابتة لا يمكن تغييرها أثناء تنفيذ البرنامج.
🔸️ تُستخدم الثوابت لتخزين القيم التي لا تتغير، مثل القيم الرياضية (π = 3.14) أو الإعدادات الثابتة.
2. طرق تعريف الثوابت في C++
1️⃣ الطريقة الأولى:
🔰 استخدام #define
▪︎ #define
هي تعليمة للمعالج المسبق (Preprocessor) تُستخدم لتعريف ثوابت نصية (Macros).
💎 صيغة الاستخدام:
⚠️ ملاحظات:
• لا تحتاج إلى تحديد نوع البيانات.
• يتم استبدال اسم الثابت بالقيمة في جميع أنحاء الكود قبل الترجمة.
🔮 مثال:
2️⃣ الطريقة الثانية:
🔰 استخدام كلمة const
▪︎ const
هي كلمة مفتاحية تُستخدم لتعريف ثوابت ذات نوع محدد.
💎 صيغة الاستخدام:
⚠️ ملاحظات:
• يجب تحديد نوع البيانات.
• يتم التحقق من نوع البيانات أثناء الترجمة، مما يجعلها أكثر أمانًا من #define.
🔮 مثال:
3. الفرق بين #define و const
🔸️ الميزة : نوع البيانات
• الثابت (#define): لا يحتاج إلى تحديد نوع البيانات.
• الثابت (const) : يجب تحديد نوع البيانات.
🔹️ الميزة : التحقق من النوع
• الثابت (#define): لا يتم التحقق من النوع.
• الثابت (const) : يتم التحقق من النوع أثناء الترجمة.
🔸️ الميزة : النطاق (Scope)
• الثابت (#define): يعمل على مستوى الملف ككل.
• الثابت (const) : يعمل ضمن النطاق الذي تم تعريفه فيه.
🔹️ الميزة : الأمان
• الثابت (#define): أقل أمانًا بسبب عدم التحقق من النوع.
• الثابت (const) : أكثر أمانًا بسبب التحقق من النوع
🔸️ الميزة : الاستخدام الشائع
• الثابت (#define): يُستخدم للقيم البسيطة والنصوص.
• الثابت (const) : يُستخدم للثوابت ذات النوع المحدد.
🔰 4. أمثلة عملية لإستخدام الثوابت
🔮 مثال 1: استخدام #define
🔮 مثال 2: استخدام Const
5. نصائح لاستخدام الثوابت
1️⃣ اختيار الأسماء الوصفية:
▪︎ مثال: TAX_RATE أفضل من TR
2️⃣ استخدام const بدلاًمن #define عند الإمكان:
▪︎ يعتبر const أكثر أمانًا بسبب التحقق من نوع البيانات.
3️⃣ تجنب تغيير قيمة الثوابت:
▪︎ الثوابت يجب أن تبقى كما هي طوال فترة تنفيذ البرنامج.
6. الخلاصة العامة من درس الثوابت
• الثوابت تُستخدم لتخزين القيم الثابتة التي لا تتغير أثناء تنفيذ البرنامج.
• يمكن تعريف الثوابت باستخدام #define
أو const.
• يُفضل استخدام const بسبب التحقق من نوع البيانات وزيادة الأمان.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثامن_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔸️ الثوابت هي قيم ثابتة لا يمكن تغييرها أثناء تنفيذ البرنامج.
🔸️ تُستخدم الثوابت لتخزين القيم التي لا تتغير، مثل القيم الرياضية (π = 3.14) أو الإعدادات الثابتة.
2. طرق تعريف الثوابت في C++
1️⃣ الطريقة الأولى:
🔰 استخدام #define
▪︎ #define
هي تعليمة للمعالج المسبق (Preprocessor) تُستخدم لتعريف ثوابت نصية (Macros).
💎 صيغة الاستخدام:
#define اسم_الثابت القيمة
⚠️ ملاحظات:
• لا تحتاج إلى تحديد نوع البيانات.
• يتم استبدال اسم الثابت بالقيمة في جميع أنحاء الكود قبل الترجمة.
🔮 مثال:
#include <iostream>
using namespace std;
#define PI 3.14159
#define MAX_VALUE 100
int main() {
cout << "Value of PI: " << PI << endl;
cout << "Max Value: " << MAX_VALUE << endl;
return 0;
}
2️⃣ الطريقة الثانية:
🔰 استخدام كلمة const
▪︎ const
هي كلمة مفتاحية تُستخدم لتعريف ثوابت ذات نوع محدد.
💎 صيغة الاستخدام:
const نوع_البيانات اسم_الثابت = القيمة;
⚠️ ملاحظات:
• يجب تحديد نوع البيانات.
• يتم التحقق من نوع البيانات أثناء الترجمة، مما يجعلها أكثر أمانًا من #define.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
const double PI = 3.14159;
const int MAX_VALUE = 100;
cout << "Value of PI: " << PI << endl;
cout << "Max Value: " << MAX_VALUE << endl;
return 0;
}
3. الفرق بين #define و const
🔸️ الميزة : نوع البيانات
• الثابت (#define): لا يحتاج إلى تحديد نوع البيانات.
• الثابت (const) : يجب تحديد نوع البيانات.
🔹️ الميزة : التحقق من النوع
• الثابت (#define): لا يتم التحقق من النوع.
• الثابت (const) : يتم التحقق من النوع أثناء الترجمة.
🔸️ الميزة : النطاق (Scope)
• الثابت (#define): يعمل على مستوى الملف ككل.
• الثابت (const) : يعمل ضمن النطاق الذي تم تعريفه فيه.
🔹️ الميزة : الأمان
• الثابت (#define): أقل أمانًا بسبب عدم التحقق من النوع.
• الثابت (const) : أكثر أمانًا بسبب التحقق من النوع
🔸️ الميزة : الاستخدام الشائع
• الثابت (#define): يُستخدم للقيم البسيطة والنصوص.
• الثابت (const) : يُستخدم للثوابت ذات النوع المحدد.
🔰 4. أمثلة عملية لإستخدام الثوابت
🔮 مثال 1: استخدام #define
#include <iostream>
using namespace std;
#define TAX_RATE 0.15
#define COMPANY_NAME "Tech Pro3dev"
int main() {
double salary = 5000.0;
double tax = salary * TAX_RATE;
cout << "Company: " << COMPANY_NAME << endl;
cout << "Salary: " << salary << endl;
cout << "Tax: " << tax << endl;
return 0;
}
🔮 مثال 2: استخدام Const
#include <iostream>
using namespace std;
int main() {
const double TAX_RATE = 0.15;
const string COMPANY_NAME = "Tech Pro3dev";
double salary = 5000.0;
double tax = salary * TAX_RATE;
cout << "Company: " << COMPANY_NAME << endl;
cout << "Salary: " << salary << endl;
cout << "Tax: " << tax << endl;
return 0;
}
5. نصائح لاستخدام الثوابت
1️⃣ اختيار الأسماء الوصفية:
▪︎ مثال: TAX_RATE أفضل من TR
2️⃣ استخدام const بدلاًمن #define عند الإمكان:
▪︎ يعتبر const أكثر أمانًا بسبب التحقق من نوع البيانات.
3️⃣ تجنب تغيير قيمة الثوابت:
▪︎ الثوابت يجب أن تبقى كما هي طوال فترة تنفيذ البرنامج.
6. الخلاصة العامة من درس الثوابت
• الثوابت تُستخدم لتخزين القيم الثابتة التي لا تتغير أثناء تنفيذ البرنامج.
• يمكن تعريف الثوابت باستخدام #define
أو const.
• يُفضل استخدام const بسبب التحقق من نوع البيانات وزيادة الأمان.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثامن_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍2
1. ما هي التعليقات (Comments)؟
🔸️ التعليقات هي نصوص يُضيفها المبرمج إلى الكود لتوضيح كيفية عمل البرنامج أو لتقديم ملاحظات.
🔹️ يتم تجاهل التعليقات تمامًا من قبل المترجم (Compiler) ولا تؤثر على تنفيذ البرنامج.
2. أنواع التعليقات في C++
1️⃣ التعليقات ذات السطر الواحد (Single-Line Comments)
• تبدأ بعلامة // وتنتهي بنهاية السطر.
🔰 صيغة الاستخدام:
🔮 مثال:
2️⃣ التعليقات متعددة الأسطر (Multi-Line Comments)
• تبدأ بعلامة /* وتنتهي بعلامة */.
🔰 صيغة الاستخدام:
🔮 مثال:
3. أهمية التعليقات في لغة ++C
🔹️ توضيح الكود
• التعليقات تساعد في توضيح الغرض من الكود وكيفية عمله.
🔮 مثال:
🔸️ تسهيل الصيانة
• التعليقات تجعل الكود أكثر قابلية للقراءة والفهم، مما يسهل صيانته وتحديثه لاحقًا.
🔮 مثال:
🔹️ التواصل مع المطورين الآخرين
• التعليقات تساعد المطورين الآخرين على فهم الكود بسرعة، خاصة في المشاريع الكبيرة.
🔮 مثال:
🔸️ تعطيل أجزاء من الكود (Debugging)
• يمكن استخدام التعليقات لتعطيل أجزاء من الكود مؤقتًا أثناء عملية التصحيح (Debugging).
🔮 مثال:
4. نصائح لكتابة التعليقات
▪︎ كن واضحًا وموجزًا:
• اكتب تعليقات واضحة وموجزة دون إطالة غير ضرورية.
▪︎تجنب التعليقات الواضحة (المفصلة):
• لا تكتب تعليقات توضح ما هو واضح من الكود.
🔮 مثال سيء:
▪︎ استخدم التعليقات لشرح "لماذا" وليس "ماذا":
• ركز على شرح سبب كتابة الكود بهذه الطريقة بدلاً من وصف ما يفعله الكود.
🔮 مثال جيد:
▪︎ تحديث التعليقات عند تغيير الكود:
• تأكد من تحديث التعليقات عند تعديل الكود لتجنب التضارب.
5. أمثلة عملية
🔮 مثال 1: توضيح الكود
🔮 مثال 2: تعطيل أجزاء من الكود
6. الخلاصة العامة لإستخدام التعليقات
• التعليقات تُستخدم لتوضيح الكود، تسهيل الصيانة، والمساعدة في عملية التصحيح.
• هناك نوعان من التعليقات في C++:
- تعليقات ذات سطر واحد (//)
- تعليقات متعددة الأسطر (/* ... */).
• كتابة تعليقات واضحة وموجزة يجعل الكود أكثر قابلية للقراءة والفهم.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_التاسع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔸️ التعليقات هي نصوص يُضيفها المبرمج إلى الكود لتوضيح كيفية عمل البرنامج أو لتقديم ملاحظات.
🔹️ يتم تجاهل التعليقات تمامًا من قبل المترجم (Compiler) ولا تؤثر على تنفيذ البرنامج.
2. أنواع التعليقات في C++
1️⃣ التعليقات ذات السطر الواحد (Single-Line Comments)
• تبدأ بعلامة // وتنتهي بنهاية السطر.
🔰 صيغة الاستخدام:
// هذا تعليق على سطر واحد
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
// هذا تعليق يوضح أن المتغير age سيخزن العمر
int age = 25;
cout << "Age: " << age << endl; // طباعة العمر
return 0;
}
2️⃣ التعليقات متعددة الأسطر (Multi-Line Comments)
• تبدأ بعلامة /* وتنتهي بعلامة */.
🔰 صيغة الاستخدام:
/*
هذا تعليق
يمكن أن يمتد على عدة أسطر
*/
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
/*
هذا تعليق متعدد الأسطر
يوضح أن المتغيرات التالية تخزن
العمر والراتب
*/
int age = 25;
double salary = 1500.75;
cout << "Age: " << age << ", Salary: " << salary << endl;
return 0;
}
3. أهمية التعليقات في لغة ++C
🔹️ توضيح الكود
• التعليقات تساعد في توضيح الغرض من الكود وكيفية عمله.
🔮 مثال:
int result = a + b; // جمع القيمتين a و b وتخزين النتيجة في result
🔸️ تسهيل الصيانة
• التعليقات تجعل الكود أكثر قابلية للقراءة والفهم، مما يسهل صيانته وتحديثه لاحقًا.
🔮 مثال:
// حساب مساحة الدائرة
double area = PI * radius * radius;
🔹️ التواصل مع المطورين الآخرين
• التعليقات تساعد المطورين الآخرين على فهم الكود بسرعة، خاصة في المشاريع الكبيرة.
🔮 مثال:
// هذا الكود يحسب الضريبة بناءً على النسبة المحددة
double tax = salary * TAX_RATE;
🔸️ تعطيل أجزاء من الكود (Debugging)
• يمكن استخدام التعليقات لتعطيل أجزاء من الكود مؤقتًا أثناء عملية التصحيح (Debugging).
🔮 مثال:
// cout << "Debugging: " << x << endl; // تم تعطيل هذا السطر للتصحيح
4. نصائح لكتابة التعليقات
▪︎ كن واضحًا وموجزًا:
• اكتب تعليقات واضحة وموجزة دون إطالة غير ضرورية.
▪︎تجنب التعليقات الواضحة (المفصلة):
• لا تكتب تعليقات توضح ما هو واضح من الكود.
🔮 مثال سيء:
int x = 5; // تعيين القيمة 5 للمتغير x
▪︎ استخدم التعليقات لشرح "لماذا" وليس "ماذا":
• ركز على شرح سبب كتابة الكود بهذه الطريقة بدلاً من وصف ما يفعله الكود.
🔮 مثال جيد:
// استخدام خوارزمية سريعة بسبب حجم البيانات الكبير
sort(data, data + size);
▪︎ تحديث التعليقات عند تغيير الكود:
• تأكد من تحديث التعليقات عند تعديل الكود لتجنب التضارب.
5. أمثلة عملية
🔮 مثال 1: توضيح الكود
#include <iostream>
using namespace std;
int main() {
// تعريف متغيرات لتخزين العمر والراتب
int age = 25;
double salary = 1500.75;
// حساب الضريبة بناءً على النسبة المحددة
const double TAX_RATE = 0.15;
double tax = salary * TAX_RATE;
// طباعة النتائج
cout << "Age: " << age << endl;
cout << "Salary: " << salary << endl;
cout << "Tax: " << tax << endl;
return 0;
}
🔮 مثال 2: تعطيل أجزاء من الكود
#include <iostream>
using namespace std;
int main() {
int x = 10;
int y = 20;
// cout << "x: " << x << endl; // تم تعطيل هذا السطر للتصحيح
cout << "y: " << y << endl;
return 0;
}
6. الخلاصة العامة لإستخدام التعليقات
• التعليقات تُستخدم لتوضيح الكود، تسهيل الصيانة، والمساعدة في عملية التصحيح.
• هناك نوعان من التعليقات في C++:
- تعليقات ذات سطر واحد (//)
- تعليقات متعددة الأسطر (/* ... */).
• كتابة تعليقات واضحة وموجزة يجعل الكود أكثر قابلية للقراءة والفهم.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_التاسع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
1. ما هو الكائن cin؟
• الكائن cin هو كائن الإدخال (Input Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لقراءة البيانات من المستخدم عبر لوحة المفاتيح (Standard Input).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cin
💎 الصيغة العامة:
• العامل << هو عامل الاستخراج (Extraction Operator) ويُستخدم لقراءة البيانات من cin وتخزينها في المتغير.
3. قراءة أنواع البيانات المختلفة باستخدام cin
🔸️ 1. قراءة الأعداد الصحيحة (int)
🔹️ 2. قراءة الأعداد العشرية (double)
🔸️ 3. قراءة الحروف (char)
🔹️ 4. قراءة النصوص (string)
4. قراءة عدة مدخلات في سطر واحد
يمكنك قراءة عدة مدخلات في سطر واحد باستخدام cin مع عامل الاستخراج >> عدة مرات.
🔮 مثال:
5. مشكلة cin مع النصوص التي تحتوي على مسافات
❌ المشكلة في cin :
مشكلة الكائن cin يتوقف عند أول مسافة، مما يعني أنه لا يمكنه قراءة النصوص التي تحتوي على مسافات.
🔮 مثال:
✅ الحل: استخدام getline
الدالة getline تستخدم لقراءة سطر كامل من النص، بما في ذلك المسافات.
🔮 مثال:
6. تنظيف (Buffer) بعد استخدام cin
❌ المشكلة:
بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) فيBuffer ، مما يؤثر على getline.
✅ الحل: استخدام cin.ignore()
الجملة cin.ignore() تُستخدم لتجاهل الأحرف المتبقية فيBuffer.
🔮 مثال:
7. أمثلة عملية لفهم الكائن cin
🔮 مثال 1: برنامج بسيط لحساب مجموع عددين
🔮 مثال 2: برنامج لقراءة وعرض بيانات المستخدم
• الكائن cin هو كائن الإدخال (Input Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لقراءة البيانات من المستخدم عبر لوحة المفاتيح (Standard Input).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cin
💎 الصيغة العامة:
cin >> متغير;
• العامل << هو عامل الاستخراج (Extraction Operator) ويُستخدم لقراءة البيانات من cin وتخزينها في المتغير.
3. قراءة أنواع البيانات المختلفة باستخدام cin
🔸️ 1. قراءة الأعداد الصحيحة (int)
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter your age: ";
cin >> age; // قراءة العمر من المستخدم
cout << "You are " << age << " years old." << endl;
return 0;
}
🔹️ 2. قراءة الأعداد العشرية (double)
#include <iostream>
using namespace std;
int main() {
double salary;
cout << "Enter your salary: ";
cin >> salary; // قراءة الراتب من المستخدم
cout << "Your salary is: " << salary << endl;
return 0;
}
🔸️ 3. قراءة الحروف (char)
#include <iostream>
using namespace std;
int main() {
char grade;
cout << "Enter your grade: ";
cin >> grade; // قراءة الحرف من المستخدم
cout << "Your grade is: " << grade << endl;
return 0;
}
🔹️ 4. قراءة النصوص (string)
#include <iostream>
using namespace std;
int main() {
string name;
cout << "Enter your name: ";
cin >> name; // قراءة الاسم من المستخدم
cout << "Hello, " << name << "!" << endl;
return 0;
}
4. قراءة عدة مدخلات في سطر واحد
يمكنك قراءة عدة مدخلات في سطر واحد باستخدام cin مع عامل الاستخراج >> عدة مرات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age;
double salary;
string name;
cout << "Enter your name, age, and salary: ";
cin >> name >> age >> salary; // قراءة الاسم، العمر، والراتب في سطر واحد
cout << "Name: " << name << ", Age: " << age << ", Salary: " << salary << endl;
return 0;
}
5. مشكلة cin مع النصوص التي تحتوي على مسافات
❌ المشكلة في cin :
مشكلة الكائن cin يتوقف عند أول مسافة، مما يعني أنه لا يمكنه قراءة النصوص التي تحتوي على مسافات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
string fullName;
cout << "Enter your full name: ";
cin >> fullName; // سيقرأ فقط الجزء الأول من الاسم
cout << "Your full name is: " << fullName << endl;
return 0;
}
✅ الحل: استخدام getline
الدالة getline تستخدم لقراءة سطر كامل من النص، بما في ذلك المسافات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
string fullName;
cout << "Enter your full name: ";
getline(cin, fullName); // قراءة الاسم الكامل
cout << "Your full name is: " << fullName << endl;
return 0;
}
6. تنظيف (Buffer) بعد استخدام cin
❌ المشكلة:
بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) فيBuffer ، مما يؤثر على getline.
✅ الحل: استخدام cin.ignore()
الجملة cin.ignore() تُستخدم لتجاهل الأحرف المتبقية فيBuffer.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age;
string name;
cout << "Enter your age: ";
cin >> age;
cin.ignore(); // تنظيف
cout << "Enter your name: ";
getline(cin, name);
cout << "Age: " << age << ", Name: " << name << endl;
return 0;
}
7. أمثلة عملية لفهم الكائن cin
🔮 مثال 1: برنامج بسيط لحساب مجموع عددين
#include <iostream>
using namespace std;
int main() {
int num1, num2;
cout << "Enter the first number: ";
cin >> num1;
cout << "Enter the second number: ";
cin >> num2;
int sum = num1 + num2;
cout << "Sum: " << sum << endl;
return 0;
}
🔮 مثال 2: برنامج لقراءة وعرض بيانات المستخدم
#include <iostream>
using namespace std;
int main() {
string name;
int age;
double height;
cout << "Enter your name: ";
getline(cin, name);
cout << "Enter your age: ";
cin >> age;
cout << "Enter your height (in meters): ";
cin >> height;
cout << "Name: " << name << ", Age: " << age << ", Height: " << height << " meters" << endl;
return 0;
}
🔥2
9. نصائح لاستخدام cin
🔰 استخدام endl أو n\ لإدخال سطر جديد:
▪︎ endl
يُفضل استخدامه لأنه يفرغ (Buffer) أيضًا.
▪︎ \n
أسرع ولكن لا يفرغ Buffer.
🔰 تجنب استخدام cin و getline معًا دون تنظيف buffer:
▪︎ بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) في buffer، مما يؤثر على getline.
🔸️ الحل:
▪︎ استخدام cin.ignore() لتنظيف Buffer
8. الخلاصة العامة لإستخدام الكائن cin
▪︎ الكائن cin يُستخدم لقراءة المدخلات من المستخدم.
▪︎ يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
▪︎ الدالة getline تُستخدم لقراءة النصوص الكاملة التي تحتوي على مسافات.
▪︎ الجملة cin.ignore() يُستخدم لتنظيف Buffer بعد استخدام cin.
▪︎ كتابة كود واضح ومنظم مع استخدام التعليقات يجعل البرنامج أكثر قابلية للقراءة والصيانة
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_العاشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔰 استخدام endl أو n\ لإدخال سطر جديد:
▪︎ endl
يُفضل استخدامه لأنه يفرغ (Buffer) أيضًا.
▪︎ \n
أسرع ولكن لا يفرغ Buffer.
🔰 تجنب استخدام cin و getline معًا دون تنظيف buffer:
▪︎ بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) في buffer، مما يؤثر على getline.
🔸️ الحل:
▪︎ استخدام cin.ignore() لتنظيف Buffer
8. الخلاصة العامة لإستخدام الكائن cin
▪︎ الكائن cin يُستخدم لقراءة المدخلات من المستخدم.
▪︎ يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
▪︎ الدالة getline تُستخدم لقراءة النصوص الكاملة التي تحتوي على مسافات.
▪︎ الجملة cin.ignore() يُستخدم لتنظيف Buffer بعد استخدام cin.
▪︎ كتابة كود واضح ومنظم مع استخدام التعليقات يجعل البرنامج أكثر قابلية للقراءة والصيانة
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_العاشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍3❤1
1. ما هو الكائن cout؟
• الكائن cout هو كائنالإخراج (Output Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لإرسال البيانات إلى الشاشة (Standard Output).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cout
💎 الصيغة العامة:
• العامل >> هو عامل الإرسال (Insertion Operator) ويُستخدم لإرسال البيانات إلى cout.
3. إخراج أنواع البيانات المختلفة باستخدام cout
🔸️ 1. إخراج الأعداد الصحيحة (int)
🔹️ 2. إخراج الأعداد العشرية (double)
🔸️ 3. إخراج الحروف (char)
🔹️ 4. إخراج النصوص (string)
4. إخراج عدة مدخلات في سطر واحد
يمكنك إخراج عدة بيانات في سطر واحد باستخدام cout مع عامل الإرسال >> عدة مرات.
🔮 مثال:
5. استخدام endl و n\ لإدخال سطر جديد
▪︎ endl
ال endl يُستخدم لإدخال سطر جديد (New Line) ويفرغ (Buffer) أيضًا.
🔮 مثال
▪︎\n
ال \n يُستخدم لإدخال سطر جديد دون تفريغ.
🔮 مثال
6. تنسيق الإخراج
🔹️ . تحديد عدد الأرقام العشرية
يمكنك استخدام fixed و setprecision من مكتبة <iomanip> لتحديد عدد الأرقام العشرية.
🔮 مثال:
🔹️ محاذاة النصوص
يمكنك استخدام setw من مكتبة <iomanip> لتحديد عرض الحقل.
🔮 مثال:
7. أمثلة عملية لفهم الكائن cout
🔮 مثال 1: برنامج بسيط لعرض معلومات الطالب
🔮 مثال 2: برنامج لحساب مساحة الدائرة
8. الخلاصة العامة لإستخدام الكائن cout
• الكائن cout يُستخدم لإخراج البيانات إلى الشاشة.
• يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
ال endl و n\ يُستخدمان لإدخال سطر جديد.
• يمكن تنسيق الإخراج باستخدام مكتبة <iomanip>.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الحادي_عشر_سي_بلس_بلس
#المستوى_الأول
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
• الكائن cout هو كائنالإخراج (Output Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لإرسال البيانات إلى الشاشة (Standard Output).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cout
💎 الصيغة العامة:
cout << بيانات_للإخراج;
• العامل >> هو عامل الإرسال (Insertion Operator) ويُستخدم لإرسال البيانات إلى cout.
3. إخراج أنواع البيانات المختلفة باستخدام cout
🔸️ 1. إخراج الأعداد الصحيحة (int)
#include <iostream>
using namespace std;
int main() {
int age = 25;
cout << "Age: " << age << endl; // طباعة العمر
return 0;
}
🔹️ 2. إخراج الأعداد العشرية (double)
#include <iostream>
using namespace std;
int main() {
double salary = 1500.75;
cout << "Salary: " << salary << endl; // طباعة الراتب
return 0;
}
🔸️ 3. إخراج الحروف (char)
#include <iostream>
using namespace std;
int main() {
char grade = 'A';
cout << "Grade: " << grade << endl; // طباعة الحرف
return 0;
}
🔹️ 4. إخراج النصوص (string)
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl; // طباعة جملة "Hello, World!"
return 0;
}
4. إخراج عدة مدخلات في سطر واحد
يمكنك إخراج عدة بيانات في سطر واحد باستخدام cout مع عامل الإرسال >> عدة مرات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age = 25;
double salary = 1500.75;
string name = "Ali";
cout << "Name: " << name << ", Age: " << age << ", Salary: " << salary << endl;
return 0;
}
5. استخدام endl و n\ لإدخال سطر جديد
▪︎ endl
ال endl يُستخدم لإدخال سطر جديد (New Line) ويفرغ (Buffer) أيضًا.
🔮 مثال
#include <iostream>
using namespace std;
int main() {
cout << "Line 1" << endl;
cout << "Line 2" << endl;
return 0;
}
▪︎\n
ال \n يُستخدم لإدخال سطر جديد دون تفريغ.
🔮 مثال
#include <iostream>
using namespace std;
int main() {
cout << "Line 1\n";
cout << "Line 2\n";
return 0;
}
6. تنسيق الإخراج
🔹️ . تحديد عدد الأرقام العشرية
يمكنك استخدام fixed و setprecision من مكتبة <iomanip> لتحديد عدد الأرقام العشرية.
🔮 مثال:
#include <iostream>
#include <iomanip> // لتضمين مكتبة التنسيق
using namespace std;
int main() {
double pi = 3.141592653589793;
cout << "Pi: " << fixed << setprecision(2) << pi << endl; // طباعة pi بدقة منزلتين عشريتين
return 0;
}
🔹️ محاذاة النصوص
يمكنك استخدام setw من مكتبة <iomanip> لتحديد عرض الحقل.
🔮 مثال:
#include <iostream>
#include <iomanip> // لتضمين مكتبة التنسيق
using namespace std;
int main() {
cout << setw(10) << "Name" << setw(10) << "Age" << endl;
cout << setw(10) << "Ali" << setw(10) << 25 << endl;
cout << setw(10) << "Ahmed" << setw(10) << 30 << endl;
return 0;
}
7. أمثلة عملية لفهم الكائن cout
🔮 مثال 1: برنامج بسيط لعرض معلومات الطالب
#include <iostream>
using namespace std;
int main() {
string name = "Ali";
int age = 20;
double gpa = 3.75;
cout << "Student Information:" << endl;
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "GPA: " << gpa << endl;
return 0;
}
🔮 مثال 2: برنامج لحساب مساحة الدائرة
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
const double PI = 3.14159;
double radius;
cout << "Enter the radius of the circle: ";
cin >> radius;
double area = PI * radius * radius;
cout << "Area of the circle: " << fixed << setprecision(2) << area << endl;
return 0;
}
8. الخلاصة العامة لإستخدام الكائن cout
• الكائن cout يُستخدم لإخراج البيانات إلى الشاشة.
• يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
ال endl و n\ يُستخدمان لإدخال سطر جديد.
• يمكن تنسيق الإخراج باستخدام مكتبة <iomanip>.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الحادي_عشر_سي_بلس_بلس
#المستوى_الأول
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
❤3👍1
1. ما هي std::string؟
• نعتبر std::string على أنها فئة (Class) في لغة C++ والتي تُستخدم لتمثيل النصوص والتعامل معها.
• تُعتبر بديلاً أكثر مرونة وأمانًا لمصفوفات الأحرف ([]char) التي تُستخدم في لغة C.
2. تضمين مكتبة std::string
لاستخدام std::string، يجب تضمين مكتبة <string> في البرنامج.
3. تعريف النصوص (Strings)
🔰 صيغة التعريف:
🔮 أمثلة:
4. العمليات الأساسية على النصوص
1️⃣ القراءة من المستخدم
يمكن استخدام cin أو getline لقراءة النصوص من المستخدم.
🔸️ مثال باستخدام cin:
🔸️ مثال باستخدام getline:
2️⃣ التخصيص (Assignment)
يمكن تعيين نص جديد للمتغير باستخدام عامل التخصيص =
3️⃣ التسلسل (Concatenation)
يمكن دمج نصوص باستخدام عامل الجمع +
4️⃣ المقارنة (Comparison)
يمكن مقارنة نصوص باستخدام العوامل العلائقية مثل ==, !=, <, >, إلخ.
5️⃣ الوصول إلى الأحرف (Accessing Characters)
يمكن الوصول إلى الأحرف الفردية في النص باستخدام الأقواس المربعة [].
6️⃣ طول النص (Length)
يمكن الحصول على طول النص باستخدام الدالة ()length أو ()size.
7️⃣ البحث في النص (Searching)
يمكن البحث عن نص فرعي (Substring) باستخدام الدالة ()find.
8️⃣ استبدال النص (Replacing)
يمكن استبدال جزء من النص باستخدام الدالة ()replace.
📟 النتيجة على الشاشة:
• نعتبر std::string على أنها فئة (Class) في لغة C++ والتي تُستخدم لتمثيل النصوص والتعامل معها.
• تُعتبر بديلاً أكثر مرونة وأمانًا لمصفوفات الأحرف ([]char) التي تُستخدم في لغة C.
2. تضمين مكتبة std::string
لاستخدام std::string، يجب تضمين مكتبة <string> في البرنامج.
#include <string>
3. تعريف النصوص (Strings)
🔰 صيغة التعريف:
std::string اسم_المتغير = "النص";
🔮 أمثلة:
#include <iostream>
#include <string> // تضمين مكتبة النصوص
using namespace std;
int main() {
string name = "Ali"; // تعريف نص
cout << "Name: " << name << endl;
return 0;
}
4. العمليات الأساسية على النصوص
1️⃣ القراءة من المستخدم
يمكن استخدام cin أو getline لقراءة النصوص من المستخدم.
🔸️ مثال باستخدام cin:
#include <iostream>
#include <string>
using namespace std;
int main() {
string name;
cout << "Enter your name: ";
cin >> name; // قراءة النص (يتوقف عند أول مسافة)
cout << "Hello, " << name << "!" << endl;
return 0;
}
🔸️ مثال باستخدام getline:
#include <iostream>
#include <string>
using namespace std;
int main() {
string fullName;
cout << "Enter your full name: ";
getline(cin, fullName); // قراءة النص الكامل (بما في ذلك المسافات)
cout << "Hello, " << fullName << "!" << endl;
return 0;
}
2️⃣ التخصيص (Assignment)
يمكن تعيين نص جديد للمتغير باستخدام عامل التخصيص =
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello";
cout << "Original Text: " << text << endl;
text = "World"; // تعيين نص جديد
cout << "Updated Text: " << text << endl;
return 0;
}
3️⃣ التسلسل (Concatenation)
يمكن دمج نصوص باستخدام عامل الجمع +
#include <iostream>
#include <string>
using namespace std;
int main() {
string firstName = "Ali";
string lastName = "Ahmed";
string fullName = firstName + " " + lastName; // دمج النصوص
cout << "Full Name: " << fullName << endl;
return 0;
}
4️⃣ المقارنة (Comparison)
يمكن مقارنة نصوص باستخدام العوامل العلائقية مثل ==, !=, <, >, إلخ.
#include <iostream>
#include <string>
using namespace std;
int main() {
string text1 = "apple";
string text2 = "banana";
if (text1 == text2) {
cout << "The texts are equal." << endl;
} else {
cout << "The texts are not equal." << endl;
}
return 0;
}
5️⃣ الوصول إلى الأحرف (Accessing Characters)
يمكن الوصول إلى الأحرف الفردية في النص باستخدام الأقواس المربعة [].
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello";
cout << "First character: " << text[0] << endl; // الوصول إلى الحرف الأول
cout << "Last character: " << text[text.length() - 1] << endl; // الوصول إلى الحرف الأخير
return 0;
}
6️⃣ طول النص (Length)
يمكن الحصول على طول النص باستخدام الدالة ()length أو ()size.
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
cout << "Length of text: " << text.length() << endl; // طول النص
cout << "Size of text: " << text.size() << endl; // نفس النتيجة
return 0;
}
7️⃣ البحث في النص (Searching)
يمكن البحث عن نص فرعي (Substring) باستخدام الدالة ()find.
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
size_t pos = text.find("World"); // البحث عن "World"
if (pos != string::npos) {
cout << "Found at position: " << pos << endl;
} else {
cout << "Not found." << endl;
}
return 0;
}
8️⃣ استبدال النص (Replacing)
يمكن استبدال جزء من النص باستخدام الدالة ()replace.
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
text.replace(7, 5, "C++"); // استبدال "World" بـ "C++"
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:
Updated Text: Hello, C++!
9️⃣ . استخراج النص الفرعي (Substring)
يمكن استخراج جزء من النص باستخدام الدالة ()substr.
📟 النتيجة على الشاشة:
5. أمثلة عملية
🔮 مثال 1: برنامج لتحويل النص إلى أحرف كبيرة (Uppercase)
🔮 مثال 2: برنامج لعكس النص (Reverse)
6. الخلاصة العامة لإستخدام string
• الكلاس std::string تُستخدم لتمثيل النصوص والتعامل معها في C++.
• تدعم العديد من العمليات مثل القراءة، الكتابة، التسلسل، المقارنة، الوصول إلى الأحرف، البحث، الاستبدال، واستخراج النصوص الفرعية.
• استخدام std::string يجعل التعامل مع النصوص أكثر مرونة وأمانًا مقارنة بمصفوفات الأحرف.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثاني_عشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
@artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
يمكن استخراج جزء من النص باستخدام الدالة ()substr.
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
string sub = text.substr(7, 5); // استخراج "World"
cout << "Substring: " << sub << endl;
return 0;
}
📟 النتيجة على الشاشة:
Substring: World
5. أمثلة عملية
🔮 مثال 1: برنامج لتحويل النص إلى أحرف كبيرة (Uppercase)
#include <iostream>
#include <string>
#include <algorithm> // لتضمين transform
using namespace std;
int main() {
string text = "hello, world!";
transform(text.begin(), text.end(), text.begin(), ::toupper); // تحويل النص إلى أحرف كبيرة
cout << "Uppercase Text: " << text << endl;
return 0;
}
🔮 مثال 2: برنامج لعكس النص (Reverse)
#include <iostream>
#include <string>
#include <algorithm> // لتضمين reverse
using namespace std;
int main() {
string text = "Hello, World!";
reverse(text.begin(), text.end()); // عكس النص
cout << "Reversed Text: " << text << endl;
return 0;
}
6. الخلاصة العامة لإستخدام string
• الكلاس std::string تُستخدم لتمثيل النصوص والتعامل معها في C++.
• تدعم العديد من العمليات مثل القراءة، الكتابة، التسلسل، المقارنة، الوصول إلى الأحرف، البحث، الاستبدال، واستخراج النصوص الفرعية.
• استخدام std::string يجعل التعامل مع النصوص أكثر مرونة وأمانًا مقارنة بمصفوفات الأحرف.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثاني_عشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
@artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
1. الدوال الشائعة للتعامل مع النصوص
🔰 الدالة ()length أو ()size
🔸️ الهدف: الحصول على طول النص (عدد الأحرف).
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()empty
🔸️ الهدف: التحقق مما إذا كان النص فارغًا.
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()clear
🔸️ الهدف: مسح محتوى النص.
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()append
🔸️ الهدف : إضافة نص إلى النهاية.
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰الدالة ()compare
🔸️ الهدف: مقارنة نصين.
🔹️ الصيغة:
▪︎النتيجة:
• قيمة صفر 0 إذا كان النصان متساويين.
• قيمة سالبة إذا كان text1 أصغر من text2.
• قيمة موجبة إذا كان text1 أكبر من text2
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()find
🔸️ الهدف : البحث عن نص فرعي (Substring) داخل النص.
🔹️ الصيغة:
▪︎ النتيجة: موقع النص الفرعي إذا تم العثور عليه، أو string::npos إذا لم يتم العثور عليه.
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()replace
🔸️ الهدف : استبدال جزء من النص بنص آخر.
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()substr
🔸️ الهدف : استخراج جزء من النص (Substring).
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()length أو ()size
🔸️ الهدف: الحصول على طول النص (عدد الأحرف).
🔹️ الصيغة:
int length = text.length();
int size = text.size();
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
cout << "Length: " << text.length() << endl; // 13
cout << "Size: " << text.size() << endl; // 13
return 0;
}
📟 النتيجة على الشاشة:👇
Length: 13
Size: 13
🔰 الدالة ()empty
🔸️ الهدف: التحقق مما إذا كان النص فارغًا.
🔹️ الصيغة:
bool isEmpty = text.empty();
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "";
if (text.empty()) {
cout << "The text is empty." << endl;
} else {
cout << "The text is not empty." << endl;
}
return 0;
}
📟 النتيجة على الشاشة:👇
The text is empty.
🔰 الدالة ()clear
🔸️ الهدف: مسح محتوى النص.
🔹️ الصيغة:
text.clear();
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
cout << "Before clear: " << text << endl;
text.clear();
cout << "After clear: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Before clear: Hello, World!
After clear:
🔰 الدالة ()append
🔸️ الهدف : إضافة نص إلى النهاية.
🔹️ الصيغة:
text.append("additional text");
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello";
text.append(", World!");
cout << "Appended Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Appended Text: Hello, World!
🔰الدالة ()compare
🔸️ الهدف: مقارنة نصين.
🔹️ الصيغة:
int result = text1.compare(text2);
▪︎النتيجة:
• قيمة صفر 0 إذا كان النصان متساويين.
• قيمة سالبة إذا كان text1 أصغر من text2.
• قيمة موجبة إذا كان text1 أكبر من text2
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text1 = "apple";
string text2 = "banana";
int result = text1.compare(text2);
if (result == 0) {
cout << "The texts are equal." << endl;
} else if (result < 0) {
cout << "text1 is less than text2." << endl;
} else {
cout << "text1 is greater than text2." << endl;
}
return 0;
}
📟 النتيجة على الشاشة:👇
text1 is less than text2.
🔰 الدالة ()find
🔸️ الهدف : البحث عن نص فرعي (Substring) داخل النص.
🔹️ الصيغة:
size_t pos = text.find("substring");
▪︎ النتيجة: موقع النص الفرعي إذا تم العثور عليه، أو string::npos إذا لم يتم العثور عليه.
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
size_t pos = text.find("World");
if (pos != string::npos) {
cout << "Found at position: " << pos << endl;
} else {
cout << "Not found." << endl;
}
return 0;
}
📟 النتيجة على الشاشة:👇
Found at position: 7
🔰 الدالة ()replace
🔸️ الهدف : استبدال جزء من النص بنص آخر.
🔹️ الصيغة:
text.replace(start, length, "new text");
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
text.replace(7, 5, "C++"); // استبدال "World" بـ "C++"
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Updated Text: Hello, C++!
🔰 الدالة ()substr
🔸️ الهدف : استخراج جزء من النص (Substring).
🔹️ الصيغة:
string sub = text.substr(start, length);
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
string sub = text.substr(7, 5); // استخراج "World"
cout << "Substring: " << sub << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Substring: World
👍1
🔰 الدالة ()insert
🔸️ الهدف : إدراج نص في موضع محدد.
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 الدالة ()erase
🔸️ الهدف : حذف جزء من النص.
🔹️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
2. أمثلة عملية لمختلف دوال النصوص
🔮 مثال 1: برنامج لتحويل النص إلى أحرف كبيرة (Uppercase)
📟 النتيجة على الشاشة:👇
🔮 مثال 2: برنامج لعكس النص (Reverse)
📟 النتيجة على الشاشة:👇
3. الخلاصة العامة لإستخدام دوال النصوص
▪︎ كلاس std::string توفر العديد من الدوال الشائعة للتعامل مع النصوص مثل length(), empty(), clear(), append(), compare(), find(), re٠place(), substr(), insert(), و erase().
▪︎ هذه الدوال تجعل التعامل مع النصوص أكثر مرونة وسهولة في C++.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثالث_عشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔸️ الهدف : إدراج نص في موضع محدد.
🔹️ الصيغة:
text.insert(position, "text to insert");
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, !";
text.insert(7, "World"); // إدراج "World" في الموضع 7
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Updated Text: Hello, World!
🔰 الدالة ()erase
🔸️ الهدف : حذف جزء من النص.
🔹️ الصيغة:
text.erase(start, length);
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
text.erase(7, 5); // حذف "World"
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Updated Text: Hello, !
2. أمثلة عملية لمختلف دوال النصوص
🔮 مثال 1: برنامج لتحويل النص إلى أحرف كبيرة (Uppercase)
#include <iostream>
#include <string>
#include <algorithm> // لتضمين transform
using namespace std;
int main() {
string text = "hello, world!";
transform(text.begin(), text.end(), text.begin(), ::toupper); // تحويل النص إلى أحرف كبيرة
cout << "Uppercase Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Uppercase Text: HELLO, WORLD!
🔮 مثال 2: برنامج لعكس النص (Reverse)
#include <iostream>
#include <string>
#include <algorithm> // لتضمين reverse
using namespace std;
int main() {
string text = "Hello, World!";
reverse(text.begin(), text.end()); // عكس النص
cout << "Reversed Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Reversed Text: !dlroW ,olleH
3. الخلاصة العامة لإستخدام دوال النصوص
▪︎ كلاس std::string توفر العديد من الدوال الشائعة للتعامل مع النصوص مثل length(), empty(), clear(), append(), compare(), find(), re٠place(), substr(), insert(), و erase().
▪︎ هذه الدوال تجعل التعامل مع النصوص أكثر مرونة وسهولة في C++.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثالث_عشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍1
🔰 مقارنة النصوص
1️⃣ استخدام عامل المقارنة (==, !=, <, >, <=, >=)
يمكن مقارنة نصوص باستخدام العوامل العلائقية مباشرة.
🔮 مثال:
📟 النتيجة على الشاشة:👇
2️⃣ استخدام الدالة ()compare
توفر كلاس std::string الدالة ()compare لمقارنة نصوص بدقة أكبر.
🔸️ الصيغة:
🔹️ النتيجة:
• القيمة 0 إذا كان النصان متساويين.
• قيمة سالبة إذا كان text1 أصغر من text2.
• قيمة موجبة إذا كان text1 أكبر من text2.
🔮 مثال:
📟 النتيجة على الشاشة:👇
🔰 تعديل النصوص
1️⃣ إضافة نص (append() أو +=)
يمكن إضافة نص إلى النهاية باستخدام append() أو عامل الإضافة +=.
🔮 مثال:
📟 النتيجة على الشاشة:👇
2️⃣ إدراج نص (()insert)
يمكن إدراج نص في موضع محدد باستخدام الدالة ()insert.
🔸️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
3️⃣ استبدال نص (()replace)
يمكن استبدال جزء من النص بنص آخر باستخدام الدالة ()replace.
🔸️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
4️⃣ حذف نص (()erase)
يمكن حذف جزء من النص باستخدام الدالة ()erase
🔸️ الصيغة:
🔮 مثال:
📟 النتيجة على الشاشة:👇
5️⃣ تحويل النص إلى أحرف كبيرة أو صغيرة
يمكن تحويل النص إلى أحرف كبيرة (Uppercase) أو صغيرة (Lowercase) باستخدام الدوال ()toupper و ()tolower من مكتبة <algorithm>.
🔮 مثال:
📟 النتيجة على الشاشة:👇
1️⃣ استخدام عامل المقارنة (==, !=, <, >, <=, >=)
يمكن مقارنة نصوص باستخدام العوامل العلائقية مباشرة.
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text1 = "apple";
string text2 = "banana";
if (text1 == text2) {
cout << "The texts are equal." << endl;
} else if (text1 < text2) {
cout << "text1 is less than text2." << endl;
} else {
cout << "text1 is greater than text2." << endl;
}
return 0;
}
📟 النتيجة على الشاشة:👇
text1 is less than text2.
2️⃣ استخدام الدالة ()compare
توفر كلاس std::string الدالة ()compare لمقارنة نصوص بدقة أكبر.
🔸️ الصيغة:
int result = text1.compare(text2);
🔹️ النتيجة:
• القيمة 0 إذا كان النصان متساويين.
• قيمة سالبة إذا كان text1 أصغر من text2.
• قيمة موجبة إذا كان text1 أكبر من text2.
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text1 = "apple";
string text2 = "banana";
int result = text1.compare(text2);
if (result == 0) {
cout << "The texts are equal." << endl;
} else if (result < 0) {
cout << "text1 is less than text2." << endl;
} else {
cout << "text1 is greater than text2." << endl;
}
return 0;
}
📟 النتيجة على الشاشة:👇
text1 is less than text2.
🔰 تعديل النصوص
1️⃣ إضافة نص (append() أو +=)
يمكن إضافة نص إلى النهاية باستخدام append() أو عامل الإضافة +=.
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello";
text.append(", World!"); // إضافة نص باستخدام append
text += " How are you?"; // إضافة نص باستخدام +=
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Updated Text: Hello, World! How are you?
2️⃣ إدراج نص (()insert)
يمكن إدراج نص في موضع محدد باستخدام الدالة ()insert.
🔸️ الصيغة:
text.insert(position, "text to insert");
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, !";
text.insert(7, "World"); // إدراج "World" في الموضع 7
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Updated Text: Hello, World!
3️⃣ استبدال نص (()replace)
يمكن استبدال جزء من النص بنص آخر باستخدام الدالة ()replace.
🔸️ الصيغة:
text.replace(start, length, "new text");
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
text.replace(7, 5, "C++"); // استبدال "World" بـ "C++"
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Updated Text: Hello, C++!
4️⃣ حذف نص (()erase)
يمكن حذف جزء من النص باستخدام الدالة ()erase
🔸️ الصيغة:
text.erase(start, length);
🔮 مثال:
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
text.erase(7, 5); // حذف "World"
cout << "Updated Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Updated Text: Hello, !
5️⃣ تحويل النص إلى أحرف كبيرة أو صغيرة
يمكن تحويل النص إلى أحرف كبيرة (Uppercase) أو صغيرة (Lowercase) باستخدام الدوال ()toupper و ()tolower من مكتبة <algorithm>.
🔮 مثال:
#include <iostream>
#include <string>
#include <algorithm> // لتضمين transform
using namespace std;
int main() {
string text = "Hello, World!";
// تحويل النص إلى أحرف كبيرة
transform(text.begin(), text.end(), text.begin(), ::toupper);
cout << "Uppercase Text: " << text << endl;
// تحويل النص إلى أحرف صغيرة
transform(text.begin(), text.end(), text.begin(), ::tolower);
cout << "Lowercase Text: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
Uppercase Text: HELLO, WORLD!
Lowercase Text: hello, world!
👍3
🔰 أمثلة عملية
🔮 مثال 1: برنامج لمقارنة نصوص وإظهار النتيجة
📟 النتيجة على الشاشة:👇
🔮 مثال 2: برنامج لتعديل نص (إضافة، إدراج، استبدال، حذف)
📟 النتيجة على الشاشة:👇
🔰 الخلاصة
▪︎ مقارنة النصوص: يمكن استخدام العوامل العلائقية (==, !=, <, >, <=, >=) أو الدالة ()compare.
▪︎ تعديل النصوص: يمكن إضافة (()append أو +=)، إدراج (()insert)، استبدال (()replace)، حذف (()erase)، وتحويل النص إلى أحرف كبيرة أو صغيرة (()transform).
▪︎ هذه العمليات تجعل التعامل مع النصوص في C++ أكثر مرونة وسهولة.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الرابع_عشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔮 مثال 1: برنامج لمقارنة نصوص وإظهار النتيجة
#include <iostream>
#include <string>
using namespace std;
int main() {
string text1, text2;
cout << "Enter the first text: ";
getline(cin, text1);
cout << "Enter the second text: ";
getline(cin, text2);
if (text1 == text2) {
cout << "The texts are equal." << endl;
} else if (text1 < text2) {
cout << "text1 is less than text2." << endl;
} else {
cout << "text1 is greater than text2." << endl;
}
return 0;
}
📟 النتيجة على الشاشة:👇
Enter the first text: pro3dev
Enter the second text: learn c++
text1 is greater than text2.
🔮 مثال 2: برنامج لتعديل نص (إضافة، إدراج، استبدال، حذف)
#include <iostream>
#include <string>
using namespace std;
int main() {
string text = "Hello, World!";
// إضافة نص
text.append(" How are you?");
cout << "After append: " << text << endl;
// إدراج نص
text.insert(7, "Beautiful ");
cout << "After insert: " << text << endl;
// استبدال نص
text.replace(7, 9, "Wonderful");
cout << "After replace: " << text << endl;
// حذف نص
text.erase(7, 9);
cout << "After erase: " << text << endl;
return 0;
}
📟 النتيجة على الشاشة:👇
After append: Hello, World! How are you?
After insert: Hello, Beautiful World! How are you?
After replace: Hello, Wonderful World! How are you?
After erase: Hello, World! How are you?
🔰 الخلاصة
▪︎ مقارنة النصوص: يمكن استخدام العوامل العلائقية (==, !=, <, >, <=, >=) أو الدالة ()compare.
▪︎ تعديل النصوص: يمكن إضافة (()append أو +=)، إدراج (()insert)، استبدال (()replace)، حذف (()erase)، وتحويل النص إلى أحرف كبيرة أو صغيرة (()transform).
▪︎ هذه العمليات تجعل التعامل مع النصوص في C++ أكثر مرونة وسهولة.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الرابع_عشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍4❤1