مشاهدة النتائج 1 الى 10 من 10
  1. #1

    دورة تعلم أساسيات لغة سي++ : الدرس الخامس عشر

    السلام عليكم و رحمة الله و بركاته
    بسم الله الرحمن الرحيم و الصلاة و السلام على الرسول اﻷمين و على آله و صحبه المنتجبين

    attachment

    الدرس الخامس عشر

    بعنوان : بنية البيانات و نتعلم في هذا الدرس ما يلي :

    1. معنى بنية البيانات.
    2. أعضاء بنية البيانات.
    3. تداخل بنى البيانات.
    4. المؤشّرات لبنية بيانات.

    attachment

    بإمكانكم تحميل الدرس هنا

    ﻻ تترددوا باﻻستفسار gooood
    تحياتي
    روح سامية
    الصور المرفقة الصور المرفقة


  2. ...

  3. #2
    كل الشكر والتقدير على درس هذا الأسبوع أحس أنّا بدينا نتعمق في لغة سي++ الله يقويك ويعينك على الشروحات القادمةgooood

    و جزاك الله خير الجزاء ورحم والديك .... أتمنى لك التوفيق

    و دمت بود

  4. #3
    إقتباس الرسالة الأصلية كتبت بواسطة axzablog مشاهدة المشاركة
    كل الشكر والتقدير على درس هذا الأسبوع أحس أنّا بدينا نتعمق في لغة سي++ الله يقويك ويعينك على الشروحات القادمةgooood

    و جزاك الله خير الجزاء ورحم والديك .... أتمنى لك التوفيق

    و دمت بود
    مرحبا بكم أخي العزيز و يسعدنا ردكم redface
    أسعدنا وجودكم الدائم و إن شاء الله نتمكن من الإفادة بشكل أكبر في الدروس القادمة

    تحياتي
    روح سامية

  5. #4
    وعليكم السلام ورحمة الله وبركاته

    ما شاء الله تبارك الله،

    درس آخر رائع مقدم من بسوم،

    بارك الله فيك أخي العزيز ^_^

    لم أتابع جميع الدروس لضيق الوقت سامحني على ذلك

    بالمرفقات برنامج بسيط يحوي العديد من تقنيات لغة c++

    أحببت المشاركة ولو بالقليل سامحني على القصور

    مشكور مرة أخرى

    تحياتي
    الملفات المرفقة الملفات المرفقة
    • نوع الملف » zip main.zip (1.5 كيلو بايت, 47 زيارة)
    attachment

    شكراً The Lord of Dark على الهدية الجميلة embarrassed e306


    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت، أستغفرك ربي وأتوب إليك

  6. #5
    إقتباس الرسالة الأصلية كتبت بواسطة Diamond mas مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته

    ما شاء الله تبارك الله،

    درس آخر رائع مقدم من بسوم،

    بارك الله فيك أخي العزيز ^_^

    لم أتابع جميع الدروس لضيق الوقت سامحني على ذلك

    بالمرفقات برنامج بسيط يحوي العديد من تقنيات لغة c++

    أحببت المشاركة ولو بالقليل سامحني على القصور

    مشكور مرة أخرى

    تحياتي
    مرحبا بكم أخي العزيز

    برنامج مرعب ذاك الذي رفعته
    لاحظت أنك تتفادى الأخطاء بمهارة حتى لو لم تكن هذه الأخطاء ممكنة الحدوث و هذا تصرف المحترف cool

    جربت البرنامج <بعد بعض التعديلات> و عمل بشكل مذهل... لكن هناك بالطبع ملاحظات

    أولا : استخدمت الدالة exit ، في الحقيقة كان خطأ مني أن لا أذكر أن عليك أن تكتب في بداية البرنامج
    كود:
    #include <cstdlib>
    على أية حال كان عليك أن تكتبها حيث أن البرنامج لم يعمل معي ، بعض المصرفات تلزمك بكتابتها و بعضها قد لا يلزم
    ثانيا : استخدمت system ، الدالة system تعتمد بشكل أساسي على النظام الذي تعمل فيه ، أنا أستخدم نظام لينوكس و لمسح الشاشة و غير ذلك نستخدم :
    كود:
    system("clear");
    و ليس CLS كما في الويندوز
    في برنامج الدرس الرابع عشر استخدمت دالة لمسح الشاشة لا تعتمد على النظام ، كان بإمكانك استخدامها
    بالنسبة لإيقاف الشاشة فكان بإمكانك استخدام getline أو cin و هناك طرق تستطيع من خلالها إيقاف الشاشة باستخدامها
    ثالثا : استخدمت تقنيات لم ندرسها بعد و إذا قرأ دارس للغة سي++ هذا البرنامج سيشعر بالرعب dead
    رابعا : كتبت دوالا في بنية بيانات ، لا أدري إن كان هذا الأمر معتادا أم لا لكن ألم يكن الأفضل أن تستخدم فئة <class> ؟ وجهة نظر لا أكثر
    خامسا : الدالة الرئيسية شاغرة النوع ، مرة أخرى بعض المصرفات تسمح بهذا و بعضها <كما هو الحال معي> لا تسمح بهذا ، عادة يكون نوع الدالة الرئيسية عددا صحيحا أي أن نكتب int main و ليس void main

    أخيرا على قلة التعليقات لكنها معبرة gooood ، في الحقيقة لربما لم أفهم البرنامج لو لم تكن هناك تعليقات

    أتمنى أن أكون قد أفدت smile

    تحياتي
    روح سامية
    اخر تعديل كان بواسطة » روح سامية في يوم » 24-05-2011 عند الساعة » 08:18

  7. #6
    إقتباس الرسالة الأصلية كتبت بواسطة TheBSOM مشاهدة المشاركة
    مرحبا بكم أخي العزيز

    برنامج مرعب ذاك الذي رفعته
    لاحظت أنك تتفادى الأخطاء بمهارة حتى لو لم تكن هذه الأخطاء ممكنة الحدوث و هذا تصرف المحترف cool

    جربت البرنامج <بعد بعض التعديلات> و عمل بشكل مذهل... لكن هناك بالطبع ملاحظات
    أهلاً بسوم ^_^
    شكراً على الإطراء redface

    بصراحة كان إهمالاً مني عدم مراعاة بيئات العمل والتشغيل المختلفة nervous
    السبب أني لم أطور قط برنامجاً ليعمل تحت لينوكس dead
    فدائما ما أستخدم الـ Visual Studio لتطوير برامج سي++

    حسناً، التنويه الذي كان يجب أن أذكره في مشاركتي السابقة:

    تمت كتابة وبناء البرنامج السابق خلال الـ Visual studio لنظام التشغيل ويندوز.

    بصراحة لم أظن أن كل هذه الفوارق <التي استدعت هذه التعديلات> موجودة بين بيئات العمل nervous




    أولا : استخدمت الدالة exit ، في الحقيقة كان خطأ مني أن لا أذكر أن عليك أن تكتب في بداية البرنامج
    كود:
    #include <cstdlib>
    على أية حال كان عليك أن تكتبها حيث أن البرنامج لم يعمل معي ، بعض المصرفات تلزمك بكتابتها و بعضها قد لا يلزم
    السبب هو اختلاف بيئات العمل لأنه يعمل جيداً بدونها devious >> في الحقيقة لم اتعامل مع الـ (cstdlib) يوماً


    ثانيا : استخدمت system ، الدالة system تعتمد بشكل أساسي على النظام الذي تعمل فيه ، أنا أستخدم نظام لينوكس و لمسح الشاشة و غير ذلك نستخدم :
    كود:
    system("clear");
    و ليس CLS كما في الويندوز
    في برنامج الدرس الرابع عشر استخدمت دالة لمسح الشاشة لا تعتمد على النظام ، كان بإمكانك استخدامها
    بالنسبة لإيقاف الشاشة فكان بإمكانك استخدام getline أو cin و هناك طرق تستطيع من خلالها إيقاف الشاشة باستخدامها
    في الحقيقة توقعت أن تقول ذلك عن الدالة system cheeky
    أما مسح الشاشة فقد جربتُ طريقتك للتو ولم تفلح معي، ربما لإختلاف بيئة العمل
    أما getline و cin فهي لا تلبي حاجتي هنا لأنها تشترط أن تدخل قيمة معينة ثم تضغط Enter

    مرة أخرى... خطأي أني لم أراعي هذه الفروق بين البيئات nervous


    ثالثا : استخدمت تقنيات لم ندرسها بعد و إذا قرأ دارس للغة سي++ هذا البرنامج سيشعر بالرعب dead
    ليس إلى هذا الحد tongue

    حسناً، حسناً سأعترف nervous

    لقد استخدمتُ التقنيات المحرمة بَسُّومِيَّا التالية:

    - الاستثناءات >> مع العلم أنه لا قيمة لها في هذا المقام وأردتُ إزالتها لكني نسيت cry

    - أعضاء دوال (member functions) بما فيها المُنشئ (constructor) >> يبدو أني انجرفت قليلاً bored

    - الـ operator overloading (في الواقع لا أعرف ترجمتها) يمكن الاستغناء عنها أيضاً لكن ذلك سيسبب المشاكل.


    رابعا : كتبت دوالا في بنية بيانات ، لا أدري إن كان هذا الأمر معتادا أم لا لكن ألم يكن الأفضل أن تستخدم فئة <class> ؟ وجهة نظر لا أكثر
    هل تقصد المنشئ (Constructor)؟ لأني لم أستخدم غيره،

    فقد استخدمت فئة <class> عندما أردت استخدام دوالاً في بنية بيانات

    بالنسبة للأفضلية لا فضل لأحدهما على الآخر cool




    خامسا : الدالة الرئيسية شاغرة النوع ، مرة أخرى بعض المصرفات تسمح بهذا و بعضها <كما هو الحال معي> لا تسمح بهذا ، عادة يكون نوع الدالة الرئيسية عددا صحيحا أي أن نكتب int main و ليس void main
    نفس السبب اختلاف بيئات العمل cry


    أخيرا على قلة التعليقات لكنها معبرة gooood ، في الحقيقة لربما لم أفهم البرنامج لو لم تكن هناك تعليقات

    أتمنى أن أكون قد أفدت smile
    هذه الأخرى نسيت أمرها eek

    في العادة أكتبها أثناء مراجعة البرنامج لكني لم أقم بمراجعته هذه المرة bored

    شكراً على مجهودك الجميل في المراجعة والملاحظات gooood

    على فكرة، ما زالت هناك بعض الأخطاء التي لم تذكرها wink
    إبحث عنها إذا أردت tongue

    لقد قمت بالتعديل... بالمرفقات النسخة المعدلة لتعمل خصيصاُ على الـ shell
    هذه النسخة غير صحية إطلاقاً dead لكنها مطابقة للمواصفات والمقاييس البَسُّومِيَّة biggrin

    تحياتي
    الملفات المرفقة الملفات المرفقة

  8. #7
    إقتباس الرسالة الأصلية كتبت بواسطة Diamond mas مشاهدة المشاركة


    أهلاً بسوم ^_^
    شكراً على الإطراء redface

    بصراحة كان إهمالاً مني عدم مراعاة بيئات العمل والتشغيل المختلفة nervous
    السبب أني لم أطور قط برنامجاً ليعمل تحت لينوكس dead
    فدائما ما أستخدم الـ Visual Studio لتطوير برامج سي++

    حسناً، التنويه الذي كان يجب أن أذكره في مشاركتي السابقة:

    تمت كتابة وبناء البرنامج السابق خلال الـ Visual studio لنظام التشغيل ويندوز.

    بصراحة لم أظن أن كل هذه الفوارق <التي استدعت هذه التعديلات> موجودة بين بيئات العمل nervous



    ملاحظة جيدة ، أول مرة أسمع عن garbage in data out


    السبب هو اختلاف بيئات العمل لأنه يعمل جيداً بدونها devious >> في الحقيقة لم اتعامل مع الـ (cstdlib) يوماً

    cstdlib تعتبر مكتبة قياسية و عادة ما تضاف في بداية البرنامج و لأنها كذلك بعض المصرفات تضيفها حتى لو لم يضفها المبرمج فعليا

    في الحقيقة توقعت أن تقول ذلك عن الدالة system cheeky
    أما مسح الشاشة فقد جربتُ طريقتك للتو ولم تفلح معي، ربما لإختلاف بيئة العمل
    أما getline و cin فهي لا تلبي حاجتي هنا لأنها تشترط أن تدخل قيمة معينة ثم تضغط Enter

    getline لا تنتظر مدخلا بل تنتظر ضغط مفتاح الإدخال فقط ، بالنسبة لـ cin فكما ذكرت هناك طرق للحصول على تأثير مشابه و إن كنت لم أجربها من قبل nervous

    مرة أخرى... خطأي أني لم أراعي هذه الفروق بين البيئات nervous


    ليس إلى هذا الحد tongue

    حسناً، حسناً سأعترف nervous

    لقد استخدمتُ التقنيات المحرمة بَسُّومِيَّا التالية:

    - الاستثناءات >> مع العلم أنه لا قيمة لها في هذا المقام وأردتُ إزالتها لكني نسيت cry << هذا رعب كاف للإخوة dead

    - أعضاء دوال (member functions) بما فيها المُنشئ (constructor) >> يبدو أني انجرفت قليلاً bored

    - الـ operator overloading (في الواقع لا أعرف ترجمتها) يمكن الاستغناء عنها أيضاً لكن ذلك سيسبب المشاكل.


    هل تقصد المنشئ (Constructor)؟ لأني لم أستخدم غيره، << بالضبط

    فقد استخدمت فئة <class> عندما أردت استخدام دوالاً في بنية بيانات << لا مشكلة في هذا

    بالنسبة للأفضلية لا فضل لأحدهما على الآخر cool



    كل ما في الأمر أن في لغة سي لا توجد فئة بل توجد فقط بنية بيانات و لا يمكن أن تكتب دالة فيها لذلك تخيلت أن هذا هو الطابع العام لاستخدام بنية البيانات حتى في سي++
    قرأت قواعد بعض المبرمجين و كانوا يتبعون قواعد صارمة في البرمجة لكي يسهل فهم البرنامج ، لو حاولت أن أضع قاعدة مشابهة لقواعدهم في مثل هذا فسأقول "لحفظ بيانات بدون دوال استخدم بنية بيانات حتى إذا قرأ ذلك المبرمج فأول ما يتبادر إلى ذهنه أن هذا القسم يحوي بيانات فقط دون أن يتمكن من التحكم بها أو تعديلها من داخل البنية ، استخدام بنية البيانات يعتبر إشارة إلى عدم القدرة على التحكم بالبيانات"


    نفس السبب اختلاف بيئات العمل cry

    الصيغة القياسية هي int main حتى يستطيع النظام معرفة الأخطاء ، و لأنها كذلك فكل المصرفات تقبلها بينما بعض المصرفات تقبل void main

    هذه الأخرى نسيت أمرها eek

    في العادة أكتبها أثناء مراجعة البرنامج لكني لم أقم بمراجعته هذه المرة bored

    شكراً على مجهودك الجميل في المراجعة والملاحظات gooood

    على فكرة، ما زالت هناك بعض الأخطاء التي لم تذكرها wink
    إبحث عنها إذا أردت tongue

    لقد قمت بالتعديل... بالمرفقات النسخة المعدلة لتعمل خصيصاُ على الـ shell
    هذه النسخة غير صحية إطلاقاً dead لكنها مطابقة للمواصفات والمقاييس البَسُّومِيَّة biggrin

    تحياتي
    على أية حال من الجيد أن تكون للمبرمج مقاييس ، كما ذكرت فحين أقرأ مقاييس بعض المبرمجين فلديهم قواعد يتشددون فيها و إن لم تكن ضرورية فقط لكي يسهل على الآخرين قراءة البرنامج حتى بدون تعليقات

    و في النهاية ما شاء الله عليك شغال

    تحياتي
    روح سامية

  9. #8
    مرحبا مرة أخرى

    ذكرت أن رموز مسح الشاشة التي اقترحتها عليك لم تعمل معك ، هي حقا لم تعمل في الويندوز و قد قمت بالبحث عن هذا و وجدت :

    2J is an ANSI-terminal *only* escape code. Try again with ANSI.SYS
    extensions enabled in DOS
    يبدو أن طرفية الويندوز لا تتبع مقاييس آنسي و يبدو أن هذا يسبب الكثير من المشاكل
    الله يساعدني لأعدل في الدرس السابق tongue

    شكرا على الملاحظة
    تحياتي
    روح سامية

  10. #9
    إقتباس الرسالة الأصلية كتبت بواسطة TheBSOM مشاهدة المشاركة

    cstdlib تعتبر مكتبة قياسية و عادة ما تضاف في بداية البرنامج و لأنها كذلك بعض المصرفات تضيفها حتى لو لم يضفها المبرمج فعليا

    getline لا تنتظر مدخلا بل تنتظر ضغط مفتاح الإدخال فقط ، بالنسبة لـ cin فكما ذكرت هناك طرق للحصول على تأثير مشابه و إن كنت لم أجربها من قبل

    الصيغة القياسية هي int main حتى يستطيع النظام معرفة الأخطاء ، و لأنها كذلك فكل المصرفات تقبلها بينما بعض المصرفات تقبل void main
    معلومات جديدة،

    getline تعمل جيداً ^_^

    شكراً على الإضافة gooood


    قرأت قواعد بعض المبرمجين و كانوا يتبعون قواعد صارمة في البرمجة لكي يسهل فهم البرنامج ، لو حاولت أن أضع قاعدة مشابهة لقواعدهم في مثل هذا فسأقول "لحفظ بيانات بدون دوال استخدم بنية بيانات حتى إذا قرأ ذلك المبرمج فأول ما يتبادر إلى ذهنه أن هذا القسم يحوي بيانات فقط دون أن يتمكن من التحكم بها أو تعديلها من داخل البنية ، استخدام بنية البيانات يعتبر إشارة إلى عدم القدرة على التحكم بالبيانات"
    بالفعل قواعد المبرمجين (coding convention) أمر لا بد من استعماله لاقتراح نوع من القياسية

    المشكلة أن هذه القواعد تختلف باختلاف لغة البرمجة

    القاعدة التي ذكرت ذات نفع كبير gooood


    على أية حال من الجيد أن تكون للمبرمج مقاييس ، كما ذكرت فحين أقرأ مقاييس بعض المبرمجين فلديهم قواعد يتشددون فيها و إن لم تكن ضرورية فقط لكي يسهل على الآخرين قراءة البرنامج حتى بدون تعليقات
    في المرة القادمة سآخذ هذا الكلام بعين الاعتبار بإذن الله
    مشكور على جهودك

    تحياتي

  11. #10
    إقتباس الرسالة الأصلية كتبت بواسطة TheBSOM مشاهدة المشاركة
    مرحبا مرة أخرى

    ذكرت أن رموز مسح الشاشة التي اقترحتها عليك لم تعمل معك ، هي حقا لم تعمل في الويندوز و قد قمت بالبحث عن هذا و وجدت :

    يبدو أن طرفية الويندوز لا تتبع مقاييس آنسي و يبدو أن هذا يسبب الكثير من المشاكل
    الله يساعدني لأعدل في الدرس السابق tongue

    شكرا على الملاحظة
    تحياتي
    روح سامية
    أهلا بسوم

    بحثت عن طريقة تعمل على جميع الأنظمة،لكن لم يكن الأمر مبشراً nervous
    أعانك الله ^_^

    تحياتي

بيانات عن الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

عدد زوار الموضوع الآن 1 . (0 عضو و 1 ضيف)

المفضلات

collapse_40b قوانين المشاركة

  • غير مصرّح لك بنشر موضوع جديد
  • غير مصرّح بالرد على المواضيع
  • غير مصرّح لك بإرفاق ملفات
  • غير مصرّح لك بتعديل مشاركاتك
  •  

مكسات على ايفون  مكسات على اندرويد  Rss  Facebook  Twitter