مركز تحميل الخليج

  1. إستبعاد الملاحظة

[دورة] تعلم لغة c++ من الصفر

الموضوع في 'منتدى الدورات العامة' بواسطة E.ALI, بتاريخ ‏يناير 23, 2013.

  1. E.ALI

    E.ALI زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    المخرجات 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

    [​IMG]

    لحل هذه المشكلة يجب ادراج الأمر الخاص بالتوجيه الى سطر جديد وهو 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" ;
    [​IMG]

    لاحظ , اذا اردت طباعة الرمز " في الشاشة , أول كود ستكتبه هو الآتي

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

    كود:
    cout << " I'm priting the symbol \" in cpp\n" ;
    [​IMG]
     
    عين الطيف و برووج السمآآء معجبون بهذا.
  2. MagicianMiDo32

    MagicianMiDo32 زيزوومي VIP

    إنضم إلينا في:
    ‏ابريل 29, 2012
    المشاركات:
    8,493
    الإعجابات المتلقاة:
    25,451
    نقاط الجائزة:
    1,220
    الجنس:
    ذكر
    الإقامة:
    عندي كهف ساكن فيه
    برامج الحماية:
    TrustPort
    نظام التشغيل:
    Linux
    فعلا اخي علي أنت مثال للعضو المبدع بحق
    لغة سي دبل بلس (كاختصار) سهلة جدا وبسيطة جا جدا
    وكانك تحدث أحد فقط كل ماعليك ان تحفظ بعض الرموز والغاية منها كمعالجة أو شيئ من هذا القبيل
    ثم تشغل عقلك
    معظمها يعتمد على الذكاء
     
    أعجب بهذه المشاركة عين الطيف
  3. MagicianMiDo32

    MagicianMiDo32 زيزوومي VIP

    إنضم إلينا في:
    ‏ابريل 29, 2012
    المشاركات:
    8,493
    الإعجابات المتلقاة:
    25,451
    نقاط الجائزة:
    1,220
    الجنس:
    ذكر
    الإقامة:
    عندي كهف ساكن فيه
    برامج الحماية:
    TrustPort
    نظام التشغيل:
    Linux
    شيئ مهم قبل بدء التعلم
    مذا تفعل أذا اردت اشعال شمعة ؟
    أجيب عود كبريت وأولعها :tongueclosed:
    كيف ؟
    ليس هذا المطلوب ولكن المطلوب كيف؟
    ==
    1 احضر الكبريت
    =
    1. اذهب الى الطاولة (لو عندك كبريت)
    2. أمسك العلبة بالشكل الصحيح باستخدام أصبعي الابهام والسبابة بحيث لا تسقط من يدي أو تسقط منها اعواد الكبريت
    3. أذهب الى المكان المطلوب
    4. أضع علبة الكبريت على الطاولة (بفرض أن هناك طاولة )
    =
    2 أحضر الشمعة
    =
    1. أذهب الى الدرج
    2. أحضر الشمعة
    لكن كيف أحضرت الشمعة ؟ نبدأ من جديد (كمثال على أن لاننسى اي خطوة ) (مهمة فاشلة)

    1. أذهب الى الدرج
    2. أفتح الدرج من المقبض
    3. أبحث عن شمعة في الدرج
    4. أمسك الشمعة بيدك اليسرى بأصبعي السبابة والأبهام بالشكل الصحيح بحيث لا تسقط منك على الأرض
    5. أغلق الدرج بيدك اليمنى
    6. تناول الشمعة بيدك اليمنى من يدك اليسرى وأمسكها بنفس الأصبعين
    7. أذهب الى المكان المطلوب
    8. ضع الشمعة على الطاولة
    =
    3 أشعال الشمعة
    =
    1. امسك الشمعة بالاصبعين السبابة والوسطى
    2. ضع الشمعة على ار ض مستوية بحيث تكون قاعدتها الى الأسفل والخيط الى الأعلى و ثبتها بشيئ لكي لا تسقط (حامل مثلا )
    3. احضر الكبريت باستخدام يدك اليمنى وأمسكه بطريقة جيدة بأصبعيك السبابة والأبهام بحيث لا تسقط على الأرض او تسقط منها أعواد الكبريت
    4. امسك العلبة بحيث يكون الملصق الى أعلى بيدك اليسرى بجميع أصابعك بحيث يكون الابهام في الأسفل وباقي الاصابع في الأعلى بطريقة جيدة وبحيث تظهر المنطقة الحمراء منها
    5. أفتح العلبة باستخدام اظفر السبابة في اليد اليمنى
    6. خذ عود كبريت من العلبة بأظفري أصبعي السبابة والأبهام بشكل جيد بحيث لا تسقط العلبة أو الأعواد على الأرض وان يكون الجزء الأحمر من عود الكبريت للأعلى بالنسبة لليد
    7. أغلق العلبة باستخدام عقلة الأصبع السبابة الاولى من جهة اليد مع مراعاة عدم سقوط العلبة أو الأعواد على الأرض (شاملا العود الذي في يدك )
    8. حك الجزء الأحمر من عود الكبريت مع الجزء الاحمر من العلبة حتى يشتعل العود
    9. لمس العود لطرف الشمعة مع مراعاة ألا يلمس اي شيئ ىخر غيرها (لا تضع العلبة لضمان ذلك)
    10. عندما تشتعل الشمعة أنفخ على العود حتى ينطفئ
    11. ضع العلبة على الطاولة بالشكل الصحيح مع مراعاة عدم سقوط العلبة أو الأعواد على الأرض (شاملا العود الذي في يدك )
    12. أذهب الى سلة القمامة
    13. الق العود فيها بالشكل الصحيح
    ========
    تم اشعال الشمعة بنجاح (مهمة ناجحة )
     
  4. SniPer-Dz

    SniPer-Dz عضو شرف نجم الشهر

    إنضم إلينا في:
    ‏ابريل 28, 2008
    المشاركات:
    5,439
    الإعجابات المتلقاة:
    8,648
    نقاط الجائزة:
    1,295
    الجنس:
    ذكر
    الإقامة:
    الجـــزائـــــر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    أخرى
  5. كمال احمد

    كمال احمد زيزوومي ماسي

    إنضم إلينا في:
    ‏نوفمبر 5, 2010
    المشاركات:
    2,085
    الإعجابات المتلقاة:
    6,200
    نقاط الجائزة:
    1,120
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows8.1
    هذا واحد من اروع المواضيع التي رايتها بالمنتدى
    اخي الفاضل هل لديك كتاب الكتروني ؟؟
     
    بيسووو ،عين الطيف و H.H.H معجبون بهذا.
  6. E.ALI

    E.ALI زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    للأسف لا أملك النسخة الالكترونية
     
    أعجب بهذه المشاركة عين الطيف
  7. wassmasster

    wassmasster زيزوومي جديد

    إنضم إلينا في:
    ‏سبتمبر 21, 2010
    المشاركات:
    27
    الإعجابات المتلقاة:
    4
    نقاط الجائزة:
    20
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows XP
    اخي بارك الله فيك
     
    أعجب بهذه المشاركة عين الطيف
  8. mojahid

    mojahid زيزوومي ذهبي

    إنضم إلينا في:
    ‏أكتوبر 24, 2010
    المشاركات:
    1,199
    الإعجابات المتلقاة:
    2,644
    نقاط الجائزة:
    970
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    بارك الله فيك أخي على هذه الدروس القيمة
     
    أعجب بهذه المشاركة عين الطيف
  9. E.ALI

    E.ALI زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    تم تعديل الدرس 4 بدمجه مع الجزء الثاني
     
    أعجب بهذه المشاركة عين الطيف
  10. .: OMAR :.

    .: OMAR :. عـضو شـرف

    إنضم إلينا في:
    ‏سبتمبر 14, 2012
    المشاركات:
    6,305
    الإعجابات المتلقاة:
    10,757
    نقاط الجائزة:
    1,220
    الجنس:
    ذكر
    الإقامة:
    Jordanië
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 7
    يعطيك العافية على الابداع اخوي ​
    وعند الانتهاء خبرني اقوم بصنع كتاب الكتروني عن دروسك ،، ​
    لمن يريد ان يحتفظ بها ​
    موفق​
     
  11. مفارق

    مفارق زيزوومي ذهبي

    إنضم إلينا في:
    ‏نوفمبر 27, 2011
    المشاركات:
    2,137
    الإعجابات المتلقاة:
    1,846
    نقاط الجائزة:
    970
    الجنس:
    ذكر
    الإقامة:
    منار الهدى
    برامج الحماية:
    Bitdefender
    نظام التشغيل:
    Windows8.1
    بارك الله فيك أستاذنا ..
    أغلى تحياتي
     
    أعجب بهذه المشاركة عين الطيف
  12. انس22

    انس22 زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 28, 2008
    المشاركات:
    94
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    110
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows XP
    بارك الله فيك
     
  13. E.ALI

    E.ALI زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    أنواع البيانات Data types
    الهدف من برنامج سي++ هو التعامل مع البيانات , البرامج المختلفة تتعامل مع بيانات مختلفة , على سبيل المثال , البرنامج المصمم لحساب راتب موظفين سيقوم باضافة , ضرب , قسمة و طرح أرقام , وبعض هذه الأرقام قد تمثل عدد الساعات , أو تمثل الراتب لكل ساعة. والبرنامج المصمم لترتيب أسماء الطلبة سيحتاج الى بيانات مثل الاسم الأول و اسم العائلة , لا يمكن اجراء عمليات حسابية على هذه البيانات ( لا يمكن طرح حرف "ع" من كلمة "علي" ليكون الناتج "لي" ) , اذن لا يمكن اجراء حسابات رياضية الا على البيانات الرقمية , في سي++ هناك مجموعة من البيانات تتعامل مع الأرقام بدون فواصل عشرية هي مجموعة Integral ومجموعة أخرى تتعامل مع الفواصل العشرية Floating-point , في هذا الرابط يوجد جدول يوضح هاتين المجموعتين http://msdn.microsoft.com/en-us/library/cc953fe1(v=VS.71).aspx , فمثلاً int , bool و char كلها Integral data types تتعمل مع الأرقام الصحيحة فقط , لكل نوع من البيانات مدى معين من الأرقام يمكنها التعامل معها , وهي موضحة في هذا الجدول http://msdn.microsoft.com/en-us/library/s3f49ktz(v=vs.71).aspx , مثلاً char يمكنها التعامل مع الأرقام من -128 الى 127 , اذا اعطيت هذا النوع من البيانات الرقم 128 فلن تقبله.​
    في البرمجة الحديثة , تُستخدم ثلاثة أنواع من integral data types وهي int , bool , char.​
    int : راجع الجدول لتعرف المدى , يمكنك كتابة ارقام صحيحة مثل 5098 , ولكن لا يمكنك استخدام فواصل مثل 59.0 وان كان الرقم يمثل 59 الا أنه ليس من نوع int , كما انه لا يمكنك استخدام الفواصل التي بهذا الشكل 808,9 لأن سي++ سيعتبره رقمين 808 و 9.​
    bool : المدى يمتان فقط , هما True و False , تستخدم هذا النوع من البيانات للتعامل مع العمليات المنطقية Logical operations.​
    char : تتعامل مع الأحرف " رقم واحد , رمز واحد , حرف واحد" مثل الرمز - أو = أو & أو رقم 5 أو حرف g , فقط شيء واحد , الرقم 55 مثلا غير صحيح لانه اكثر من رقم , الرمز )( غير صحيح لأنه اكثر من رمز , حتى المساحة الفارغة ' ' يعتبر رمز أي انه لا استخدام مساحة ثم رمز اخر.​
    المجموعة الثانية وهي Floating-Point data types , يمكنك هنا استخدام الفواصل العشرية.​
    float , double يمكنك فيهما كتابة الرقم 55.690 أو بدون فواصل مثل 943 , الفرق بينهما هو في المدى , راجع الرابط السابق.​
    العمليات الحسابية
    يمكنك اجراء الحسابات الرياضية على أنواع البيانات في المجموعتين , الجمع + الطرح - القسمة / و الضرب * وعملية اخرى وهي باقي القسمة % تجري فقط على Integrals​
    اجراء العمليات الحسابية تتم بقواعد , الضرب و القسمة و باقي القسمة تتم اولاً , ثم الطرح و الجمع​
    كود:
    5*6-10=20
    لكن اذا كنت تملك في العملية الحسابية الواحدة ضرب و قسمة فان الاولوية تكون من اليسار, مثلا:​
    كود:
    10/2*3+5 = 20
    وان تواجدت اقواس فان الأولوية تكون دائماً لها​
    كود:
    10/2*(3+50)=40
    البرنامج الآتي يقوم بتلخيص ما سبق​
    كود:
    #include<iostream>
     
    using namespace std;
     
    int main()
     
    {
        cout << 6 * 5 << endl; //output :  30
        cout << "5.0 + 3.5 = " << 5.0 + 3.5 << endl; //output : 5.0 + 3.5 = 8.5
        cout << "16.3 - 5.2 = " << 16.3 - 5.2 << endl; //output : 16.3 - 5.2 = 11.1
        cout << "1980 % 2 = " << 1980 % 2 << endl; //output : 1980 % 2 = 0
     
        system("PAUSE");
        return 0;
     
     
    }
    تحويل أنواع البيانات Converting data types
    اذا كتبت امر طباعة ناتج 5.0 + 3.5 فان المخرجات تكون 8.5 , يمكنك ان تأمر البرنامج بظهار 8 فقط بدون الفواصل العشرية , وذلك من خلال التحويل الى احد انواع بيانات integral التي تقبل هذا الرقم وهو int. مثلا لتحويل 7.6 الى عدد صحيح تستخدم هذا الكود​
    كود:
    static_cast<int>(7.6)
    لتحويل 900 الى double سيكون الناتج 900 بدون فواصل​
    كود:
    static_cast<double>(900) 
    كما يمكنك تحويل احد الرموز الى الرقم الذي يقابله , اذا اردت ان تعرف الرقم الخاص للرمز A, وهو 65​
    كود:
    static_cast<int>('A')
    والعكس صحيح , لتحويل 65 الى الرمز A​
    كود:
    static_cast<char>(65)
    النصوص String type
    النص عبارة عن تسلسل رموز, فالنص يمكنه أن يكون فارغ , يحتوي على رمز , رمزين , مئمة رمز... , String الذي يحتوي على فراغ " " يسمى بـnull or emprty كل رمز في النص له موقع يبدأ الترتيب من صفر , مثلا موقع حرف c في كلمة computer وهو صفر و حرف u هو 4.​
    البرنامج الآتي يلخص كل ماسبق.​
    كود:
    #include<iostream>
     
    using namespace std;
     
    int main()
     
    {
        cout << static_cast<int>((5.8 * 70) - 8 % 4 * (0-0.2)) << endl; //output : 406
        cout << static_cast<int>('_') << endl; //output: 95
        cout << static_cast<char>(68) << endl; //output : D
        cout << static_cast<int>('d') << endl; //output : 100
        cout << static_cast<double>(80) - static_cast<int>('&') << endl; //output 42 , the answer will be in integer
     
        system("PAUSE");
        return 0;
     
     
    }
     
  14. حسام كندش

    حسام كندش زيزوومي مميز

    إنضم إلينا في:
    ‏سبتمبر 20, 2011
    المشاركات:
    505
    الإعجابات المتلقاة:
    390
    نقاط الجائزة:
    570
    الجنس:
    ذكر
    الإقامة:
    اليمن
    برامج الحماية:
    Norton
    نظام التشغيل:
    Windows 7
    مشكور اخي
    E.ALI

    هذا ماكنت انتضره تعلم لغات البرمجه

    ارجوا ان اتعلم معك اخي
    E.ALI

    بارك الله فيك
     
    أعجب بهذه المشاركة عين الطيف
  15. E.ALI

    E.ALI زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    الثوابت , المتغيرات , المدخلات Constants - Variables - Inputs
    ذكرت سابقاً أن الهدف من برنامج سي++ هو التعامل مع البيانات , هذه البيانات يجب أن تستدعى في ذاكرة الحاسوب قبل استخدامها , في هذا السكشن ستتعلم كيفية استدعاء بيانات الى ذاكرة الحاسوب.​
    لتخزين البيانات تحتاج الى خطوتين :​
    1- تطلب من الكمبيوتر تخصيص أو حجز مكان في الذاكرة.​
    2- تدخل بيانات الى هذا المكان في الذاكرة.​
    الـثوابت
    عند تخصيص مكان في الذاكرة لتخزين البيانات (قيم) , يجب ذكر الاسم و النوع , أحياناً تحتاج الى استخدام القيمة أكثر من مرة , مثل قيمة الباي أو ثابت بلانك تحتاج الى استخدامه أكثر من مرة في البرنامج , هذه القيم لا تتغير بل تبقى ثابتة , ومثال اخر معامل التحويل من السنتيمتر الى البوصة يبقى ثابتاً.​
    عندما تقوم بتخزين هذه البيانات في الذاكرة يجب أن تذكر بأنها بيانات ثابتة لاتتغير وهذه تسمى Named constants, اذن Name constants عبارة عن قيمة ثابتة في الذاكرة غير مسموح بتغييره فترة تشغيل البرنامج.​
    لتخصيص مكان في الذاكرة نستخدم قواعد سي++ لعمل ذلك وهي كالآتي​
    كود:
    const DataType Name = value;
    حيث DataType يمثل نوع البيانات أو القيمة , Name أي اسم تجده مناسب ولكن هناك شروط لهذه الأسماء تجدها (هــنا) , و Value تعني القيمة المدخلة بحيث يجب ان تتناسب مع نوع البيانات.​
    مثال , معامل تحويل الانتش الى سنتيمتر​
    كود:
    const double convert = 2.54;
    النوع يجب ان يكون double لان القيمة عبارة عن ارقام عشرية , لكن اذا كتبت int سيتخلص البرنامج تلقائيا من الأرقام ما بعد الفاصلة فتكون القيمة 2.​
    امثلة اخرى على الثوابت​
    كود:
    const int NO_OF_STUDENTS = 20;
    const char blank = ' ';
    تذكر أن هذه ثوابت لا تتغير فترة تشغيل البرنامج.

    المتغيرات

    أحياناً تحتاج الى تغيير قيمة احد البيانات عند فترة تشغيل البرنامج , على سبيل المثال , بعد كل امتحان تتغير قيمة متوسط درجات الطلاب , هذه الأنواع من البيانات يجب أن تخزن في الذاكرة على أنها متغيرات , أي يمكن تغييرها فترة تشغيل البرنامج و تسمى الثوابت Variables.

    طريقة تخصيص مكان للمتغيرات في الذاكرة تشبه الثوابت لكن بدون كلمة const

    كود:
    DataType Name = value;
    أحياناً قد تكون القيمة غير معرفة بالتالي لا داعي لكتابة القيمة تكتفي فقط بالاسم و النوع

    كود:
    double AVG_STUDENTS_SCORE;
    و أحياناً أخرى تحتاج الى انشاء اكثر من متغير ولكن من نفس النوع

    كود:
    int AVG_TEST1 , AVG_TEST2 , AVG_TEST3;
    المتغيرات و الثوابت من نوع string

    حتى تستطتيع التعامل مع المتغيرات و الثوابت من نوع String تحتاج الى استدعاء ملف string الى البرنامج

    كود:
    #include<string>
    ثم تعرفها كأي متغير أو ثابت اخر.

    المدخلات

    المدخلات في سي++ عبارة عن ادخال قيم للمتغيرات عند فترة تشغيل البرنامج , لادخال قيم الى المتغيرات تتبع القاعدة الاتية

    كود:
    cin >> variable1 >> variable2 >> variable3 ;
    ويجب ان تقوم باستدعاء الملف iostream

    المثال الآتي يوضح ذلك

    كود:
    #include<iostream>
    #include<string>
     
    using namespace std;
     
    int main()
     
    {
        const int NO_TESTS = 3;
        double avgTest1 , avgTest2 , avgTest3 , AVG;
        string message = "Thank you\n";
        cout << "Enter the average of students score in test1 and test2 and test3" << endl;
        cout << "AVG in test1 : ";
        cin >> avgTest1;
        cout << "AVG in test2 : ";
        cin >> avgTest2;
        cout << "AVG in test3 : ";
        cin >> avgTest3;
     
        AVG = (avgTest1 + avgTest2 + avgTest3) / NO_TESTS;
        cout << "The average score is : " << AVG << endl << message;
     
        system("PAUSE");
        return 0;
     
     
    }
    كل امر cin يعني ان المترجم سيوقف البرنامج حتى يقوم المستخدم بادخال قيمة من الكيبورد الى المتغير , هذه القيمة لا يمكن ان تكون فارغة , لو تستمى بالضغط على Enter أو space الى الابد فالبرنامج لن يفعل شيء حتى تدخل قيمة للمتغير.
     
    أعجب بهذه المشاركة برووج السمآآء
  16. toufik888

    toufik888 زيزوومي مبدع

    إنضم إلينا في:
    ‏مارس 6, 2009
    المشاركات:
    443
    الإعجابات المتلقاة:
    1,038
    نقاط الجائزة:
    670
    الجنس:
    ذكر
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows8.1
    الابداع لاينتهي هنا جعل الله عملك خير الخواتم ويدا بيد لرفع مستوى العالم العربي
     
    أعجب بهذه المشاركة عين الطيف
  17. E.ALI

    E.ALI زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    حياكم الله اخواني
    اعلم انها ليست بلغة سهلة لكن مع التدريب ستصبح من اسهل اللغات
    ارى ان التفاعل ضعيف جدا في الموضوع , الموضوع غير مخصص فقط لطرح الدروس
    من يملك اسئلة في نطاق الدروس ليتفضل بطرحها
     
  18. .:: MiDo NaBiL ::.

    .:: MiDo NaBiL ::. زيزوومي محترف

    إنضم إلينا في:
    ‏نوفمبر 28, 2012
    المشاركات:
    1,404
    الإعجابات المتلقاة:
    1,315
    نقاط الجائزة:
    820
    الجنس:
    ذكر
    الإقامة:
    ^ EgYpT ^
    برامج الحماية:
    ESET
    نظام التشغيل:
    Linux
    (y)
    :grin:
    متابع .... :whistle:
     
    MagicianMiDo32 ،عين الطيف و الكابتن معجبون بهذا.
  19. he ḾasteЯ₮

    he ḾasteЯ₮ زيزوومي متألق

    إنضم إلينا في:
    ‏سبتمبر 17, 2010
    المشاركات:
    304
    الإعجابات المتلقاة:
    78
    نقاط الجائزة:
    410
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 7
    السلام عليكم ورحمة الله وبركاته . .
    في جميع الأحوال الكل مستفيدْ , ولـ نقل إنني منذ زمن لم أرَ مُقدما لـ دروس برمجية بهذا الرونق والتنظيم والترتيب والمراعاة لـ كافة الأنواع لمتابعي الدروس من مبتدئ إلى محترف ؛ وأكثر ما شدني بعد الأسلوب المُتبع وطرح الأمثلة بالتتابع مع الإنتباه إلى التفاصيل الصغيرة التي تكون مشكلة المُبتدئ في جميع دورات البرمجة هو أنك أخترت لغة ++C . . لنقل إنني كُنت أكره أن يأتيني مبرمج هذه اللغة ومحترفها ويتفلسف علي نصف ساعة لأنني ببساطة لم اتعلم اللغة بينما هو "ما شاء الله" أتقنها ! ! وعندما بدأت بالبحث عن دورة جيدة لهذه اللغة الرائعة والجميلة كُنت دائما ما أصلُ لنفس النتيجة ( لا يُوجد دورة واحدة أفهم منها هذه اللغة ) مع الأسف .
    الآن أجد نفسي معك أخي الفاضل "جُزيت خيراً" في تقدم وشيئاً فشيئا بدأت أدرك المعيار المُناسب لـ إستخدام هذه اللغة المعقدة . . بكل تأكيد وجدت بعض الصعوبة وسأجد ، لكن مع التطبيق ورؤية النتائج سأجد أن اللغة أسهل من السابق وهكذا حتى تصبح هذه اللغة "سهلة" و كغير اللغات التي تعلمتها ، وإن شاء الله سـ أستمر معك في هذه الدورة . .
    لدي سؤال واحد فقط :-

    أريد أن أعرف شيء اللغة التي نتعلمها هل هي C++.NET ؟ أم أنها ++C ؟
    الله يعطيكـ العافية .
     
  20. E.ALI

    E.ALI زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    حياكم الله
    اشرح لغة سي++ , الاختلاف يكمن في استخدام dot net framework
    في سي++ دوت نت يمكنك استخدام مكتبة الفريم الوورك في برنامجك
    لكن لن اتطرق اليه في هذه الدورة , بل لن اتطرق الى الواجهات الرسومية باستخدام سي++ بل سأستخدم لغة اخرى من لغات الدوت نت
     
    برووج السمآآء و MagicianMiDo32 معجبون بهذا.

مشاركة هذه الصفحة

جاري تحميل الصفحة...