C++أمر الطباعة cout >>
- أمر الطباعة
cout
- طباعة عدة أشياء دفعة واحدة بواسطة الأمر
cout
في C++ - عرض المحتوى على سطر جديد C++
- أهمية الكلمة
using
في C++ - النزول على سطر جديد بواسطة الرمز
\n
في C++ - وضع عدة مسافات فارغة بواسطة الرمز
\t
في C++ - إصدار صوت تنبيه بواسطة الرمز
\a
في C++ - المسافات الفارغة و ترتيب الكود في C++
أمر الطباعة cout
بشكل عام, نستخدم الأمر cout
لطباعة أي شيء نريد في الكونسول.
عند إستخدام الأمر cout
يجب أن تضع العامل <<
قبل أي شيء تريد تمريره له حتى يتم طباعته.
مثال
int main() { std::cout << "Harmash.com"; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Harmash.com
شرح الكود
- الأمر
الموجود في السطر الأول يقوم بتضمين الحزمة
iostream
التي تحتوي على الأوامر الأساسية التي نحتاجها في التطبيقات التي تعتبر Console Application و التي سنستخدمها في أغلب البرامج مثل أمر الطباعةcout
و غيره من الأوامر و الدوال الجاهزة التي ستمر معك لاحقاً في الدورة. - سبب وضع
std::
قبلcout
هو أن الأمرcout
موجود فيه. - الدالة
main()
التي قمنا بتعريفها ابتداءاً من السطر الثالث يجب أن يكون نوعهاint
لأنها تمثل نقطة البداية في البرنامج. - وضع
return 0;
في السطر السادس و كآخر أمر في الدالةmain()
هو أمر متعارف عليه, و فكرته إرسال الرقم 0 لنظام التشغيل عند انتهاء أو إغلاق البرنامج بشكل طبيعي. هكذا سيتمكن نظام التشغيل من التفريق بين الإنهاء الطبيعي للبرنامج والإنهاء المفاجئ ( Crash ) الذي يحدث نتيجة خطأ ما.
مبادئ الطباعة الأساسية
عليك مراعاة المبادئ التالية عند استخدام الأمر cout
.
- لعرض رقم, ضعه كما هو.
- لعرض قيمة متغير, ضعه كما هو.
- لعرض حرف يجب وضعه بين
' '
. - لعرض كلمة أو نص, يجب وضعه بين
" "
.
طباعة عدة أشياء دفعة واحدة بواسطة الأمر cout
في C++
لدمج عدة أشياء مختلفة و عرضها باستخدام الأمر cout
نضع الرمز <<
بين كل شيئين نريد طباعتهما.
في المثال التالي, قمنا بإنشاء برنامج يحتوي على متغيرين name
و year
.
بعدها قمنا بعرضهما كجملة واحدة.
مثال
int main() { char *name = "Ali"; int year = 1996; std::cout << "Hello my name is " << name << ", I born in " << year; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Hello my name is Ali, I born in 1996
عرض المحتوى على سطر جديد C++
عند عرض المحتوى بواسطة الأمر cout
يمكنك تحديد نهاية السطر من خلال وضع العامل endl
و عندها سيظهر أي شيء تطبعه بعده على سطر جديد.
معلومة: endl
إختصار لجملة End Line.
مثال
int main() { std::cout << "Harmash.com" << std::endl << "C++ course"; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Harmash.com C++ course
سبب وضع std::
قبل العامل endl
هو أن العامل endl
موجود فيه.
أهمية الكلمة using
في C++
في البداية, سنشرح الكلملة using
بتفصيل ممل في درس لاحق نظراً لأهميتها في المشاريع.
الآن, إذا أردت أن تكتب الأمرين cout
و endl
بشكل مباشر بدون الحاجة لأن تكتب قبلهما std::
, قم بتضيمن النطاق std
مرة واحدة في الملف و عندها تصبح قادر على استخدام أي شيء موجود فيه بشكل مباشر.
لتضمين النطاق std
في الملف main.cpp
نكتب using namespace std;
فوق الدالة main()
.
الآن, سنعيد نفس المثال السابق مع تضمين النطاق std
بشكل مباشر.
مثال
using namespace std; // std هنا قمنا بتضيمن النطاق int main() { cout << "Harmash.com" << endl << "C++ course"; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Harmash.com C++ course
النزول على سطر جديد بواسطة الرمز \n
في C++
إذا أردت النزول على سطر جديد بدون الحاجة لكتابة << endl
فيمكنك تمرير \n
كنص.
ملاحظة: أغلب المبرمجين يفضلون تمرير \n
بدل كتابة << endl
لأنها مختصرة أكثر.
معلومة: \n
إختصار لجملة New Line.
في المثال التالي قمنا بتمرير \n
كنص للأمر cout
من أجل النزول على سطر جديد.
مثال
using namespace std; int main() { cout << "Harmash.com\nC++ course"; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Harmash.com C++ course
هنا قمنا بإعادة المثال السابق تماماً مع كتابة أمرين cout
هذه المرة.
ملاحظة: هذا الأسلوب أسهل من ناحية القراءة و التعديل و لهذا ننصح باعتماده بدلاً من الأسلوب السابق.
مثال
using namespace std; int main() { cout << "Harmash.com\n"; cout << "C++ course"; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Harmash.com C++ course
وضع عدة مسافات فارغة بواسطة الرمز \t
في C++
إذا أردت وضع عدة مسافات فارغة دفعة واحدة و بشكل مرتب فالأفضل أن تستخدم الرمز \t
بدل وضع المسافات بنفسك.
من الأشياء التي قد تجعلك تستخدم \t
هي أنه عند طباعة عدة أسطر تجده يحاول عرضهم لك بشكل متناسق لإظهار المحتوى بشكل أسهل للقراءة.
معلومة: \t
إختصار لجملة Tab Space.
في المثال التالي قمنا بوضع الرمز \t
بين الكلمات من أجل وضع مسافة تلقائية بينهم بشكل مرتب.
مثال
using namespace std; int main() { cout << "Name:\tAli Rabeei\n"; cout << "Job:\tProgrammer"; return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Name: Ali Rabeei Job: Programmer
إصدار صوت تنبيه بواسطة الرمز \a
في C++
إذا أردت إصدار صوت تنبيه لجعل المستخدم ينتبه للكونسول, يمكنك ذلك بكل سهولة من خلال تمرير الرمز \a
كنص للأمر cout
.
معلومة: \a
إختصار لكلمة Alert.
في المثال التالي قمنا باستخدام الرمز \a
لتشغيل صوت تنبيه في جهاز المستخدم.
مثال
using namespace std; int main() { cout << "Yes, you hear the alert :)\a"; return 0; }
لا تنسى رفع صوت الحاسوب حتى تسمع صوت التنبيه عند التشغيل و سيظهر لك النص التالي أيضاً.
Yes, you hear the alert :)
المسافات الفارغة و ترتيب الكود في C++
لغة C++ لا تتأثر بالمساحات البيضاء ( White Spaces ) مثل المسافات والأسطر الفارغة حتى انه يمكن كتابة بعض البرامج بالكامل في سطر واحد و لكن لا ننصح ابداً بذلك و يفضل ترك مسافات و أسطر فارغة حتى تكون قادر على مراجعة و استيعاب الكود بسهولة تامة عند الرجوع إليه.
في المثال التالي قمنا بكتابة نفس المثال السابق على سطر واحد.
تنبيه: رغم أن الأسلوب التالي لا يوجد فيه أي مشكلة برمجياً, إلاّ أننا ننصحك بعدم إعتماد هذا الأسلوب إطلاقاً عند كتابة الكود.
مثال
using namespace std; int main() {cout << "Harmash.com"<<endl<<"C++ course";return 0;}
سنحصل على النتيجة التالية عند التشغيل.
Harmash.com C++ course