المخرجات Outputs
ذكرت أنه في سي++ حتى تستطيع استخدام الدوال الجاهزة تحتاج الى استدعاء الملف الذي يحتوي على هذه الدوال , هناك دالة خاصة للمخرجات , ونقصد بالمخرجات اظهار نص على شاشة الكونسول , هذا النص قد يكون حروف , أرقام , ارموز , أو عمليات حسابية , في النتيجة ستكون عبارة عن نصوص تظهر على الشاشة.
الأمر الخاص بكتابة نص هو cout , تقوم بكتابة هذا الأمر دالة الدالة الرئيسية main
كود:
int main()
{
std::cout << "hello" ;
system("PAUSE");
return 0;
}
ولكن اذا جرت تشغيل البرنامج ستظهر رسالة خطأ , لأنك لم تقم باستدعاء الملف الخاص بالأمر cin ( ملاحظة : هذه الملفات التي توجد بها الدوال و الاوامر الجاهزة تسمى header files), كيف تقوم باستدعاء هذا الملف؟
كود:
#include <header file name>
اذا اردت مثلا استدعاء ملف اسمه Robots تكتب
كود:
#include <Robots>
الملف الخاص بالأمر cin هو iostream , اختصار لـ input - output stream , يجب استدعاء هذا الملف اذا أردت استخدام أوامر الاخراج و الادخال.
كود:
#include <iostream>
استدعاء ملفات header تتم في بداية البرنامج أي قبل كتابة أي كود يجب استدعاء الملفات اللازمة , الشكل العام لبرنامج يقوم باظهار نص hello تكون كالآتي
كود:
#include <iostream>
int main()
{
std::cout << "hello" ;
system("PAUSE");
return 0;
}
قم بتشغيل البرنامج , سيظهر النص hello و لكن مشكلة هذا النص أنه ملتص بالنص الافتراضي الذي يظهر دائما في سي++ Press any key to continue

لحل هذه المشكلة يجب ادراج الأمر الخاص بالتوجيه الى سطر جديد وهو endl , اختصار end line كالآتي
كود:
std::cout << "hello" << std::endl ;
اذا قمت بتشغيل البرنامج ستجد الجملة في سطر جديد , وهذا أمر جيد.
لكن مهلاً , ما قصة std::n؟ في الحقيقة هذا الكود هو كود سي و ليس سي++ (سي++ تطوير للغة سي , لغة سي أقدم من سي++) , كلما اردت استخدام اوامر الادخال و الاخراج يجب ادخال std:: ولكن الأمر متعب بعض الشيء , في سي++ يمكن القضاء على std:: من خلال ارداج الكود الاتي قبل الدالة الرئيسية
كود:
using namespace std;
سيكون الكود العام كالآتي , طبعاً يمكنك الان التخلص من std::
كود:
#include <iostream>
using namespace std;
int main()
{
cout << "hello" << endl ;
system("PAUSE");
return 0;
}
اذا أردت كتابة جملة اخرى في سطر جديد , يمكنك استخدام الأمر cout مرة أخرى , أو يمكنك ان تكتبها بعد أمر نهاية السطر endl
كود:
cout << "hello" << endl << "welcome to c++" ;
النص سيكون ملصق بـالجملة press any key to continue , ماذا تفعل؟ تستخدم الأمر endl.
استخدمت الامر endl للتوجه الى سطر جديد , يمكن استخدام أمر اخر للتوجه الى سطر جديد وهو n\ , تكتبه كما لو تقوم بكتابة نص عادي كالآتي
كود:
cout << "hello \nwelcome to c++\n" ;
عليك أن تنتبه الى انك اذا وصعت مسافة بعد حرف n فان الحرف الذي يليها ستكتب في سطر جديد ولكن بعد مسافة واحدة , واذا كانت مسافتين تكتب بعد مسافتين وهكذا..
الامر الاخر هو امر طباعة مسافة كبيرة Tab "تقريبا 5 مساحات فارخة" بين حرفين, تستخدم t\
كود:
cout << "hello \twelcome to c++\n" ;

لاحظ , اذا اردت طباعة الرمز " في الشاشة , أول كود ستكتبه هو الآتي
كود:
cout << " I'm priting the symbol " in cpp" ;
هذا الكود غير صحيح , لو حاولت تشغيل البرنامج ستظهر لك رسالة خطأ , والسبب أن الرمز " في سي++ تعني بداية أو نهاية نص , المرة الأولى التي كتبت فيها الرمز " تعني بداية نص و في المرة الثانية تعني نهاية نص , أي ان النص الذي سيطبع هو فقط I'm priting the symbol , و لكن in cpp لن يكون من ضمن النص المطبوع لأنه لم تسبقها الرمز " , بينما ; سيعتبر نص لأن سبقه الرمز " , لهذا ان أردت اظهار الرمز " في الشاشة عليك استخدام \ ثم كتابة الرمز , كالآتي
كود:
cout << " I'm priting the symbol \" in cpp\n" ;

