ماذا أحتاج لأصنع برنامجي الأول؟ بداية متواضعة مع C++

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

تحيّة عطرة للجميع.

حالياً أُجيد أستخدام fstream ، do, while, if, swich, functions ، أعرف المفهوم العام للمصفوفات -لست متمكن منه-، وأيضاً المفهوم العام للمؤشرات -لا أجيدة-.

كثير من الأحيان أشعر بالملل، ولكني اشعر بسعادة حين اكمال تمرين معيّن لتظهر لي شاشة الدوز وأتفاعل معها :)

كل ما اتعلم شيء، يظهر لي شيء آخر، لا يبدوا انها تنتهي.

هل هناك أشياء أساسية يجب تعلمها بعد حتّى أقوم بتطوير اول برنامج لي؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

تعلم البرمجة ببساطة لا ينتهي ابداً ..

مهما كان مستواك متقدماً او وصلت لمرحله متقدمه للغاية في البرمجه ..

ستضطر لتعلم اشياء جديدة عاجلاً ام آجلاً لذلك لا تيأس ..

وأعلم انه كلما تعلمت أكثر ورفعت من رصيدك البرمجي كنت أفضل وبالطبع ستنتج برامج أكثر جودة ..

بالإجابة على سؤالك ماذا تحتاج لصناعة أول برنامجك ..

ستجيبه بنفسك انت .. بعد ان تعلمت الأساسيات والأمور البديهيه من اللغه ..

ما الذي تريد أن تصنعه ؟ حدد فكرتك .. بعدها ابحث عن كيفيه تطبيقها وهكذا ..

انا مبرمج مبتدئ للغايه لذلك .. هذا مجرد رأيي أن تتعلم من خلال التطبيق و هذه طريقة تعلمي ، قد لا تناسبك ..

بالتوفيق ..

فقط تحتاج لفكرة البرنامج ، تضعها على الورق ثم تنفذها بلغتك البرمجية

اصنع آلة حاسبة

4 + 3

Hي رقم ثم مسافة ثم اشارة العملية المطلوبة ثم رقم واستخدم switch للتخيّر بين العمليات واستخدم الـ functions لانجازها ثم تعيد لك قيمة العملية وانت تطبعها من داخل الـ main

ثم تطبق الناتج في سطر جديد


ان فعلته يمكنني مساعدتك بقراءة كودك وأدلك على بعض النواحي لتحسينها، انا متوسط في c++

-1

حسنا ال C++ تعتمد بالاساس على المكتبات الاضافية , لتتعلمها بشكل صحيح حاول تنفيد اي مشروع او فكرة خاصة بكل (مثلا مراقبة البيانات المارة عبر كربت الشبكة ) . C++القياسية اعتقد لا تقوم بمثل هذه الامور لوحدها ستحتاج لمكتبة تختصل بالتعمل مع كروت الشبكة كان تجلب قائمة بالكروت الموصولة بالجهاز و المنفد و عنوان الذاكرة الخاص بكل كرت .

على كل حال هذا ليس كل شيء فمثلا المثال السابق يمكنك تنفيده باقل مجهود عبر C# او C++ .Net بسبب وجود مكتبات تتعامل مع بيئة نضام التشغيل نيابة عنك و كما هو الحال مع +COM في السابق و .Net Frame work حالياً .

أنت لم تبرمج سي++ من قبل، أليس كذلك؟ لا أحد عدا من يبرمج التعريف الخاص بكارت الشبكة يعبء بعنوانه في الذاكرة.

وأنت لا تحتاج لكتابة تعريف (driver) لكل نوع من كروت الشبكة للتنصت على البيانات. وكبرنامج عادي لا ترى هذه العناوين أصلا لأنها في نطاق عنونة مختلف.

البرمجة بالسي أو السي++ لا تعني أنك تبرمج جزء من نظام التشغيل كلما أردت تطبيق شيء.

على لينكس يكفيك فتح raw socket لتلتقط كل ما يحدث على ال interface.

على ويندوز يمكنك أن تسجل بروتوكول جديد (تعريف) يعالج كل البيانات. winpcap تفعل ذلك.

مكتبة pcap تعمل عبر عدة منصات وتستخدم إحدى الطريقتين بالأعلى على حسب النظام المستخدم. استخدامها من دخل برنامج سي++ أو سي# لا يختلف إلا في ال syntax وإدارة الموارد.