Home برمجة سي/سي++

سي/سي++

الــ Stacks في لغة C

السلام عليكم و رحمة العلام و بركاته   كنا قد تحدثنا في الجزء الأول من هذه السلسلة عن القوائم المتصلة البسيطة و تحدثنا في الجزء الثاني عن القوائم المزدوجة و يسرني أن أبدأ معكم في شرح الجزء الثالث و الذي يتعلق بالمكدسات (Stacks).   الفهرس تعريف المحاكاة باستخدام المصفوفات المحاكاة باستخدام القوائم البسيطة المحاكاة باستخدام […]

القوائم المزدوجة في لغة C

السلام عليكم ورحمة الله و بركاته   كنا قد تحدثنا في الحلقة الأولى من هذه السلسلة عن القوائم المتصلة البسيطة و يسرني أن أبدأ معكم في شرح الجزء الثاني و الذي يتعلق بالقوائم المزدوجة (Doubly Linked List).   الفهرس تعريف ͏الإعلان عن القائمة تهيئة القائمة (إنشاء أول عقدة) إضافة عقدة جديدة. حذف عقدة معينة. حساب […]

القوائم المتصلة في لغة C

السلام عليكم و رحمة الله و بركاته   هذه هي الحلقة الأولى من سلسلة هياكل البيانات المتقدمة في لغة C حيث سنتطرق للمواضيع التالية تباعا : Singly Linked List Doubly Linked List Stacks Queues و إذا وجدتُ متسعا من الوقت سأكتب عن : Trees Binary Trees Hash tables Graphs هذه هي المقالة الأولى من هذه […]

توليد الأرقام العشوائية

السلام عليكم و رحمة الله و بركاته   في هذه المقالة سنتعرف على النقاط التالية: ما هو العدد العشوائي ؟ وهل هو موجود ؟ لماذا نحتاج لتوليد الأرقام العشوائية ؟ كيف يمكننا توليد أرقام عشوائية (باستخدام الدوال الجاهزة) ؟ كيف ننشئ دالة عشوائية ؟ مثال عملي   1 – ما هو العدد العشوائي ؟ وهل […]

الاستخدامات المتقدمة للدالة system

السلام عليكم و رحمة الله و بركاته   رابط النسخة الفرنسية من المقالة على موقعي الخاص في منتديات developpez : Apprendre à utiliser la fonction system   سنتعرف في هذه المقالة على كيفية استخدام الدالة system في سي++. لتوضيح أهمية هذه الدالة سنقدم عدداً من الأمثلة التي تعمل في بيئة الويندوز مثل التعامل مع حسابات […]

أساسيات البرمجه في نظام الويندوز

بســم الله الـرحمــن الرحيــم [starlist][/starlist] فهم البنية التحتية لأنظمه الويندوز مطلب ضروري لأي مبرمج يريد بناء برامج تعمل بكفائه عالية على نظام ويندوز ، وفي هذه السلسله من الدروس سوف نتناول أساسيات البرمجه تحت نظام الويندوز والتي تعطيك الأساس الصحيح لانشاء واستخدام الProcess/Thread وMemory Management والتعامل مع ال DLL وال SEH . سوف تبدأ المقالة […]

تعرَّف على أشهر مكتبات الــ GUI في سي++

السلام عليكم و رحمة الله و بركاته   لا يزال السؤال الذي يدور في أذهان الكثير من عشاق ++C : مالسبيل إلى برمجة الواجهات الرسومية !؟ في هذه المقالة سأحاول أن أجيب على هذا السؤال من خلال التطرق لأشهر مكتبات الــ GUI في السي++.   الفهرس هل توجد مكتبات GUI لـــ ++C ؟ Microsoft Visual […]

هل تستطيع طباعه السورس الكود كمخرج للبرنامج ؟

أكثر برامج يعشقها برمجي لغه السي ، هي تلك البرامج التي لا يفهمها أي أحد ، حتى هم أنفسهم ، وعاده تطلق عليها برامج “مشوشه” Obfuscated وهناك بعض المسابقات تقام ، لأكثر برنامج “مشوش” ، وقد تكلمنا عن برامج الـ Obfuscated في هذا الموضوع . برامج الـ Quines (في بعض الأحيان تسمى Self-Reproducing program ) […]

الكود الأكثر صعوبه Obfuscated Code

مقالنا اليوم يتكلم حول طرق سيئه “للغايه” لكتابه الكود بحيث لن يفهم هذا الكود الا القليل ، وهناك بعض الأسباب لعمل مثل هذه البرامج منها مثلا التسليه Fun ، التحدي ، حمايه كود البرنامج ، الفوز بمسابقه ما (هناك مسابقه عالميه تقام كل سنه حول هذا النوع من البرامج International Obfuscated C Code Contest ) […]

اجعل المترجم يساعدك في أكتشاف الأخطاء باستخدام const

في المقال السابق ( لماذا عليك أن تقلل من الأعتماد على Preprocessor ؟)  تحدثنا عن ضروره التقليل من استخدام الـ Preprocessor وخاصه عند تعريف الثوابت ، وذكرنا البديل الأفضل وهو أستخدام const .. مقالنا الليله يدعوك الى استخدام الqualifier المسمى const في أي مكان واي زمان لأنك هكذا ستكون في الـ Safe Side وستتعامل بشكل […]

لماذا عليك أن تقلل من الأعتماد على Preprocessor ؟

موضوعنا الليله يتحدث حول التقليل من استخدام الـ Preprocessor في سي++ وأستخدام طرق أخرى للوصول الى الهدف ، وخاصه الـ #define والتي كما سنرى بعد قليل مساوئها أكثر من ميزاتها .. وبشكل عام دائما حاول الأعتماد على الCompiler وليس الـ Preprocessor ، أي ( Prefer Compiler Than Preprocessor ) في البدايه قبل أن نذكر لماذا علينا […]

Function Object Adapter

في عالم البرمجة بشكل عام عندما يتم ذكر المصطلح Adapter فهذا يعني أن لدينا implementation ما ونريد التعديل قليلا على هذا الimplementation سواء بمنع مجموعه من الدوال أو باضافه دوال جديدة ، وهنا سنقدم للمستخدم كلاس جديد Wrapper Class بمجموعه من الدوال والمستخدم لن يعلم شيئا عن الUnderlying implementation ، وهنا تكمن الفائده في أمكانية […]

ارسال واستقبال البيانات عبر HTTP في Qt

هذه الفترة احتجت ان ارسل HTTP Post Request باستخدام Qt واقوم بارسال ملفات للسيرفر (عباره عن شهاده رقمية Certificate للكلاينت بالاضافه الى بعض الملفات الأخرى) ، وايضاً احتجت ان اقوم بعمل Get Request من السيرفر وارسل ID ومن خلاله سوف احصل على هذه الملفات التي قمت برفعها في JSON،، وأحببت وضع هذه التدوينه لعلها تفيد من […]