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

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

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

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

  1. كاسر

    كاسر مطرود

    إنضم إلينا في:
    ‏أغسطس 23, 2007
    المشاركات:
    1,217
    الإعجابات المتلقاة:
    311
    نقاط الجائزة:
    670
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows XP
    الله يعطيك العافية وبارك الله فيك وأكثر من امثالك الذين ينشرون العلم​
    بالتوفيق لك دائما​
     
    أعجب بهذه المشاركة عين الطيف
  2. الكابتن

    الكابتن زيزوومي محترف

    إنضم إلينا في:
    ‏مايو 24, 2008
    المشاركات:
    1,212
    الإعجابات المتلقاة:
    1,456
    نقاط الجائزة:
    820
    الجنس:
    ذكر
    الإقامة:
    فلسطين الحرة
    برامج الحماية:
    Bitdefender
    نظام التشغيل:
    Windows8.1
    مبدعين اخوانا الزيزوووميين ... الله يعطيك العافية اخي الحبيب ويجزيك الخير طرح مميز من شخص مميز الى الامام ...

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

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

    إنضم إلينا في:
    ‏يناير 23, 2013
    المشاركات:
    18
    الإعجابات المتلقاة:
    64
    نقاط الجائزة:
    40
    الجنس:
    ذكر
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7
    المدخلات Inputs part 2
    اذا كتبت البرنامج الآتي​
    كود:
    #include<iostream>
     
    using namespace std;
     
    int main()
     
    {
        int a, b;
        double z;
        char ch1, ch2;
        cin >> z >> ch1 >> a;
     
        system("PAUSE");
        return 0;
     
     
    }

    وقام المستخدم بادخال هذه القيمة 36.78b34 عند طلب البرنامج منه ذلك ( بمجرد تشغيل البرنامج سيطلب منه ادخال قيم ) السؤال المطروح ماذا ستكون قيمة كل متغير من المتغيرات التي عرفناها سابقا؟

    أولاً توجه الى الكود cin >> z >> ch1 >> a تجد أن أول متغير للمدخلات هو z , و هذا المتغير نوعه double . اذن , البرنامج سوف يخزن قيمة double داخل هذا المتغير , أي رقم سواء كان بفواصل عشرية أو لا (كما شُرح سابقا) , أي أن قيمتها في المثال السابق تساوي 36.78 فالبرنامج سيقوم بادخال هذه القيمة الى المتغير z , ما أن يصل البرنامج الى حرف b سيتنقل الى المتغير الآخر لان المتغير z لايقبل هذه القيمة.

    المتغير الذي يليه هو ch1 وهو عبارة عن char بمعنى أنه سيخزن قيمة واحدة , في هذه الحالة الحرف b , ثم ينتقل البرنامج الى المتغير التالي وهو a الذي هو عبارة عن int أي يخزن رقم صحيح فقط وهو 34 , لو كانت المدخلات 36.78b3N فان الحرف N لن يتم تخزينه في البرنامج وكأنه غير موجود.

    افترض انك كنت تملك نفس الكود ولكن المدخلات كانت 36.78 وضغطت على Enter , البرنامج سيقوم بتخزين هذه القيمة في المتغير الأول z , ثم سيطلب منك ادخال قيمة للمتغير التالي مثلاً كانت القيمة A سيتم تخزينها في ch1 وثم سيطلب منك ادخال قيمة للمتغير a مثلاً كتبت 0.45 , سيقوم البرنامج أولاً بتحويله الى int ثم تخزينه بالقيمة 0 , وللتأكد من ذلك اكتب الكود الذي يقوم بطباعة قيمة كل متغير.

    كود:
    #include<iostream>
     
    using namespace std;
     
    int main()
     
    {
        int a, b;
        double z;
        char ch1, ch2;
        cin >> z >> ch1 >> a;
        cout << "********************" << endl;
        cout << "z = " << z << endl;
        cout << "ch1 = " << ch1 << endl;
        cout << "a = " << a << endl;
     
        system("PAUSE");
        return 0;
     
     
    }
    [​IMG]
    حتى الآن يقوم البرنامج بتخطي المسافات و الأسطر الجديدة كما هو موضح في المثال السابق , أي أن البرنامج لن يعتبر المسافة قيمة حتى يقوم بتخزينها في المتغير المناسب , أحيانا تحتاج الى أن تطلب من البرنامج أن يقوم بقراءة المسافات.​
    لتوضيح أكثر قم بتعريف هذه المتغيرات مع امر ادخال القيم اليها​
    كود:
    char ch1,ch2;
    int num;
     
    cin >> ch1 >> ch2 >> num;
    افترض أن المدخلات كانت كالآتي
    A 25
    سيقوم البرنامج أولاً بادخال قيمة الى ch1 وهو A , ثم ينتظر ادخال قيمة الى ch2 , عندما يقوم المستخدم بادخال المسافة لن يقوم البرنامج بالتعامل معه بل سيتجاهله وسيتمر في طلب قيمة الى المتغير , ثم يدخل المستخدم القيمة 25 ويضغط على Enter , سيقوم البرنامج بادخال القيمة 2 الى المتغير ch2 و القيمة 5 الى المتغير num.

    كيف تطلب من البرنامج قراءة المسافات و الأسطر الجديدة على انها قيم؟
    تقوم باستخدام الدالة cin.get(char variable)n المتغير الموجود داخل القوس يجب أن يكون من النوع char لأن المسافة سيتم تخزينها على اساس انها رمز.

    الان في هذا الكود ستكون المدخلات كما هي
    A 25

    كود:
        cin >> ch1;
        cin.get(ch2);
        cin >> num;
    يمكنك الكتابة بشكل اخر

    كود:
        cin >> ch1 ;
        cin.get(ch2) >> num;
    ماهي قيمة كل متغير ؟ أولاً سيقوم البرنامج بادخال قيمة الى ch1 وهو A ثم سيطلب منك ادخال قيمة الى ch2 وفي نفس البرنامج سيعتبر ادخال مسافة عبارة عن قيمة يقوم بتخزينها الى المتغير , وأخيراً يطلب قيمة الى num , يمكنك التأكد من قيمة كل دالة عن طريق امر الطباعة.

    كود:
    cout << "ch1 = " << ch1 << endl;
        cout << "ch2 = " << ch2 << endl;
        cout << "num = " << num << endl;
    هناك دالة اخرى وهي cin.ignore(intEXP , charEXP)n هذه الدالة تقوم بتجاهل كل المدخلات intEXp مرة (يجب ان يكون عدد صحيح طبعا) حتى يقوم المستخدم بادخال قيمة تشبه charEXP (عبارة عن أي رمز سواء رقم او حرف او رمز اخر) , وعندما يقوم المستخدم بادخال هذه القيمة سيقوم البرنامج يتنفيذ السطر التالي من الكود.

    مثلا cin.ignore(100 , 'A')n سيقوم البرنامج بتجاهل كل المدخلات 100 حتى يقوم بادخال القيمة A , وبعد ادخال هذه القيمة سينفذ الكود الذي يليه.

    هذا المثال يوضح ذلك

    كود:
    int num1 , num2;
        cin >> num1;
        cin.ignore(100 , '5');
        cin >> num2;
    افترض ان المدخلات كانت كالآتي
    كود:
    3 6 8 9 5 6
    سيقوم البرنامج أولاً بادخال قيمة الى num1 وهي 3 , ثم في السطر التالي سيقوم بتجاهل كل القيم 100 مرة الا القيمة 5 , يعني 6 سيتجاهلها , 8 كذلك و 9 أيضاً , ما أن يصل الى 5 سيقوم بتنفيذ الكود التالي وهو ادخال قيمة الى المتغيرnum2.

    من المهم ان تعرف ان cin.ignore(100 , '5'); n لايعني انه لو قام المستخدم بادخال الرقم 57 فان البرنامج سيتجاهله. ان وظيفة هذه الدالة قراءة الرموز فقط , و الرقم 5 عبارة عن رمز , اذن سيقوم البرنامج بتنفيذ الكود التالي بمجرد الوصول الى الرقم 5.
     
  4. G u i t a r

    G u i t a r زيزوومي جديد

    إنضم إلينا في:
    ‏يناير 10, 2012
    المشاركات:
    13
    الإعجابات المتلقاة:
    8
    نقاط الجائزة:
    20
    الجنس:
    ذكر
    الإقامة:
    saudi arabia
    برامج الحماية:
    ESET
    نظام التشغيل:
    Windows 7
    السلام عليكم ، لغة البرمجة مهمة ويفتقر المحتوى العربي لدورات لغات البرمجة المميزة ، الله يجزاك خير متابع لك
    بالتوفيق ، واصل
     
    أعجب بهذه المشاركة عين الطيف
  5. E.ALI

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

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

    ----------
    سيتم طرح 3 دروس كل اسبوع لكن دروس طويلة
    الا توجد طريقة في المنتدى لكتابة مشاركة ثم حفظه كمسودة؟
     
  6. yones7x

    yones7x عضو شرف نجم المنتدى

    إنضم إلينا في:
    ‏سبتمبر 18, 2010
    المشاركات:
    10,474
    الإعجابات المتلقاة:
    3,944
    نقاط الجائزة:
    1,220
    الجنس:
    ذكر
    الإقامة:
    الإمارات - دبي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    انشئ موضوع في هذا المنتدى:
    وسمِّ الموضوع (مسودة خاصة بدورة c++)
    وضع مشاركاتك فيه، ولا يمكن للأعضاء الإطلاع عليها، وعند الإنتهاء منها انسخها إلى هنا
     
  7. MagicianMiDo32

    MagicianMiDo32 زيزوومي VIP

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

    ARBIA39 زيزوومي VIP

    إنضم إلينا في:
    ‏مايو 7, 2008
    المشاركات:
    16,501
    الإعجابات المتلقاة:
    11,172
    نقاط الجائزة:
    1,220
    الجنس:
    ذكر
    الإقامة:
    algerie
    برامج الحماية:
    ESET
    نظام التشغيل:
    Windows 10
    بارك الله فيك
     
    أعجب بهذه المشاركة عين الطيف
  9. ARBIA39

    ARBIA39 زيزوومي VIP

    إنضم إلينا في:
    ‏مايو 7, 2008
    المشاركات:
    16,501
    الإعجابات المتلقاة:
    11,172
    نقاط الجائزة:
    1,220
    الجنس:
    ذكر
    الإقامة:
    algerie
    برامج الحماية:
    ESET
    نظام التشغيل:
    Windows 10
    بارك الله فيك
     
    أعجب بهذه المشاركة عين الطيف
  10. alssa7ir

    alssa7ir زيزوومي نشيط

    إنضم إلينا في:
    ‏يوليو 7, 2012
    المشاركات:
    108
    الإعجابات المتلقاة:
    13
    نقاط الجائزة:
    130
    برامج الحماية:
    avast
    نظام التشغيل:
    Windows XP
    ي أخوان ماذا نستفيد من هذه اللغة
     
    أعجب بهذه المشاركة عين الطيف
  11. Axx

    Axx زيزوومي VIP

    إنضم إلينا في:
    ‏يناير 3, 2013
    المشاركات:
    6,168
    الإعجابات المتلقاة:
    13,096
    نقاط الجائزة:
    1,220
    برامج الحماية:
    اخرى
    نظام التشغيل:
    أخرى
    بارك الله بيك:::شرح رائع(y)
     
    أعجب بهذه المشاركة عين الطيف
  12. بيسووو

    بيسووو زيزوومي نشيط

    إنضم إلينا في:
    ‏يونيو 9, 2008
    المشاركات:
    115
    الإعجابات المتلقاة:
    22
    نقاط الجائزة:
    130
    الإقامة:
    بيتنا
    برامج الحماية:
    GData
    نظام التشغيل:
    Windows 7
    شكرا على الدورة التي جائت في وقتها

    نتمنى ان يتم اصدارها بشكل كتاب لتسهل اقتنائها

    ونتمنى ايضا ان يكون هناك مشروع لبناء مشروع كامل حتى نتسطيع فهم اللغة على اكمل وجه
    وشكرا لك جزيلا
     
    أعجب بهذه المشاركة عين الطيف
  13. بيسووو

    بيسووو زيزوومي نشيط

    إنضم إلينا في:
    ‏يونيو 9, 2008
    المشاركات:
    115
    الإعجابات المتلقاة:
    22
    نقاط الجائزة:
    130
    الإقامة:
    بيتنا
    برامج الحماية:
    GData
    نظام التشغيل:
    Windows 7
    في بناء البرامج والالعاب وتطوير الادوات وحتى انظمة التشغيل
    فنظام اللينوكس تم بناؤه من هذه اللغة .
     
  14. blakhole

    blakhole زيزوومي محترف

    إنضم إلينا في:
    ‏سبتمبر 18, 2009
    المشاركات:
    2,408
    الإعجابات المتلقاة:
    66
    نقاط الجائزة:
    740
    الجنس:
    ذكر
    الإقامة:
    ليبيا
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    بارك الله فيك
     
    أعجب بهذه المشاركة عين الطيف
  15. ben cppl

    ben cppl زيزوومي فعال

    إنضم إلينا في:
    ‏نوفمبر 30, 2012
    المشاركات:
    188
    الإعجابات المتلقاة:
    114
    نقاط الجائزة:
    260
    الجنس:
    ذكر
    الإقامة:
    اليمن
    برامج الحماية:
    avast
    نظام التشغيل:
    Windows XP
    [​IMG]
    فعلا حقيقي موضوع جميل وممتع وقد استفدنا منه في عدة مجالات والله ما يحرمنا من مواضيعك الجميله والله يعطيك العافية والصحة .
     
    أعجب بهذه المشاركة عين الطيف
  16. GOOUUZ

    GOOUUZ زيزوومي فضي

    إنضم إلينا في:
    ‏أكتوبر 3, 2010
    المشاركات:
    1,459
    الإعجابات المتلقاة:
    2,158
    نقاط الجائزة:
    920
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 8
    بارك الله فيك
     
    أعجب بهذه المشاركة عين الطيف
  17. E.ALI

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

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

    برووج السمآآء زيزوومي ذهبي

    إنضم إلينا في:
    ‏مايو 16, 2013
    المشاركات:
    1,666
    الإعجابات المتلقاة:
    9,741
    نقاط الجائزة:
    1,070
    الجنس:
    أنثى
    الإقامة:
    في قلووب آحبتي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 7

    بععد كل هآإلردوود تسسآإل :smirk:
    يب آإكييد الكل لديهه الررغبهه في المتآآبععه
    وآإصل آإستآإذنآآ جزآآك الله خيير
     
    MagicianMiDo32 ،عين الطيف و H.H.H معجبون بهذا.
  19. تعلب

    تعلب زيزوومي جديد

    إنضم إلينا في:
    ‏نوفمبر 13, 2013
    المشاركات:
    77
    الإعجابات المتلقاة:
    47
    نقاط الجائزة:
    90
    الجنس:
    ذكر
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 7
    متابع وجارى تجربة البرنامج وان شاء الله كلنا نستفيد
    جزاكم الله كل خير
     
    أعجب بهذه المشاركة عين الطيف
  20. عين الطيف

    عين الطيف زيزوومي فضي

    إنضم إلينا في:
    ‏يونيو 26, 2014
    المشاركات:
    2,274
    الإعجابات المتلقاة:
    4,744
    نقاط الجائزة:
    900
    الجنس:
    أنثى
    برامج الحماية:
    اخرى
    نظام التشغيل:
    أخرى

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