انجمن برنامه نویس

آموزش سی / سی پلاس پلاس

شروع موضوع توسط برنامه نویس ‏14/7/14 در انجمن برنامه نویسی c و ++c

گنجینه های
برنامه نویسی
فیلم های آموزشی
زبان های برنامه نویسی
فیلم های آموزشی
پروژه محور C#
فیلم های آموزشی
برنامه نویسی اندروید
فیلم های آموزشی
طراحی سایت
فیلم های آموزشی
برنامه نویسی پایه
گنجینه برنامه نویسی C# آموزش برنامه نویسی C سیستم مدیریت بانک آموزش اندروید - مقدماتی آموزش زبان HTML اصول و مبانی برنامه نویسی
گنجینه آموزش ASP .Net آموزش برنامه نویسی C++‎ پیاده سازی مدیریت آتلیه آموزش اندروید - تکمیلی آموزش زبان CSS آموزش الگوریتم و فلوچارت
گنجینه برنامه نویسی PHP آموزش برنامه نویسی C# پیاده سازی سیستم هتلداری آموزش اندروید - پیشرفته آموزش زبان Java Script آموزش تبدیل فلوچارت به کد
گنجینه آموزش طراحی وب آموزش برنامه نویسی جاوا شبیه سازی دستگاه عابربانک آموزش ساخت لیست ایمیل آموزش زبان jQury برنامه نویسی اسمال بیسیک
گنجینه برنامه نویسی متلب آموزش برنامه نویسی PHP پیاده سازی مدیریت آموزشگاه آموزش ساخت گالری تصاویر آموزش زبان XML آموزش برنامه نویسی اسمبلی
گنجینه برنامه نویسی اندروید آموزش برنامه نویسی پایتون پیاده سازی سیستم صدور بلیت آموزش کنترل ربات با اندروید آموزش طراحی Responsive طراحی سایت ویژه کودکان
گنجینه برنامه نویسی VB .Net آموزش برنامه نویسی اندروید پیاده سازی سیستم نوبت دهی آموزش ارتباط با دیتابیس سرور ساخت سایت خبری کدنویسی سریع با Emmet
گنجینه زبان های برنامه نویسی آموزش برنامه نویسی زبان R سیستم حسابداری و انبارداری زبان بیسیک فور اندروید (B4A) ساخت سایت فروشگاه آموزش کار با پایگاه داده
  1. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    سلام دوستان عزیز

    قصد دارم آموزش کامل سی و سی پلاس پلاس رو در این تاپیک قرار بدم.

    دوستان عزیز لطفا در این تاپیک سوال نفرمائید.
     
    elahi از این پست تشکر کرده است.
  2. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    مقدمه آموزش سی / سی پلاس پلاس

    زبان c يک زبان همه منظوره است. دستورالعمل هاي اين زبان بسيار شبيه عبارات جبري و نحو آن شبيه جملات انگليسي مي باشد.
    اين امر سبب مي شود که c يک زبان سطح بالا باشد که برنامه نويسي در آن آسان است
    ++c که از نسل c است، تمام ويژگي هاي c را به ارث برده است. اما برتري فني ديگري هم دارد: C++ اکنون «شي گرا» است.
    مي توان با استفاده از اين خاصيت، برنامه هاي شي گرا توليد نمود. برنامه هاي شي گرا منظم و ساخت يافته اند، قابل روزآمد کردن اند، به سهولت تغيير و بهبود مي يابند و قابليت اطمينان و پايداري بيشتري دارند.
     
    elahi از این پست تشکر کرده است.
  3. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    مباحث آموزشی سی / سی پلاس پلاس

    فصل اول: «مقدمات برنامه نويسي با c++»
    فصل دوم: «انواع اصلي»
    فصل سوم: «انتخاب»
    فصل چهارم: ‹‹تكرار»
    فصل پنجم: «توابع»
    فصل ششم: « آرايه ها»
    فصل هفتم: «اشاره گرها و ارجاع ها»
    فصل هشتم: «رشته هاي كاراكتري و فايل ها در ++cاستاندارد»
    فصل نهم: «شيئ گرايي»
    فصل دهم: «سربارگذاري عملگرها»
    فصل يازدهم: «تركيب و وراثت»
     
    elahi از این پست تشکر کرده است.
  4. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : مقدمات برنامه*نويسي با c++

    آنچه در اين فصل مي خوانيد:

    1- چرا C++ ؟
    2- تاريخچۀ C++
    3- آماده*سازي مقدمات
    4- شروع کار با C++
    5- عملگر خروجي
    6- ليترال*ها و کاراکترها
    7- متغيرها و تعريف آن*ها
    8- مقداردهي اوليه به متغيرها
    9- ثابت*ها
    10- عملگر ورودي

    هدف کلي:
    آشنايي با تاريخچه و مزاياي زبان برنامه*نويسي C++ و بيان مفاهيم بنيادي شي*گرايي و عناصر مهم برنامه*هاي C++


    مقدمه
    در دهه 1970 در آزمايشگاه*هاي بل زباني به نام C ايجاد شد. انحصار اين زبان در اختيار شرکت بل بود تا اين که در سال 1978 توسط Kernighan و Richie شرح کاملي از اين زبان منتشر شد و به سرعت نظر برنامه*نويسان حرفه*اي را جلب نمود.
    هنگامي که بحث شي*گرايي و مزاياي آن در جهان نرم*افزار رونق يافت، زبان C که قابليت شي*گرايي نداشت ناقص به نظر مي*رسيد تا اين که در اوايل دهۀ 1980 دوباره شرکت بل دست به کار شد و Bjarne Stroustrup زبان C++ را طراحي نمود

    C++ ترکيبي از دو زبان C و Simula بود و قابليت*هاي شي*گرايي نيز داشت. از آن زمان به بعد شرکت*هاي زيادي کامپايلرهايي براي C++ طراحي کردند. اين امر سبب شد تفاوت*هايي بين نسخه*هاي مختلف اين زبان به وجود بيايد و از قابليت سازگاري و انتقال آن کاسته شود.
    به همين دليل در سال 1998 زبان C++ توسط موسسۀ استانداردهاي ملي آمريکا (ANSI) به شکل استاندارد و يک*پارچه در*آمد.
     
    elahi از این پست تشکر کرده است.
  5. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : چرا c++ ؟

    • زبان c يک زبان همه منظوره است
    • در اين زبان عملگر هايي تعبيه شده که برنامه نويسي سطح پايين و به زبان ماشين را نيز امکان پذير مي سازد
    • چون c عملگرهاي فراواني دارد، کد منبع برنامه ها در اين زبان بسيار کوتاه است
    • - زبان c براي اجراي بسياري از دستوراتش از توابع کتابخانه اي استفاده مي کند و بيشتر خصوصيات وابسته به سخت افزار را به اين توابع واگذار مي نمايد.
    • برنامۀ مقصدي که توسط کامپايلرهاي c ساخته مي شود بسيار فشرده تر و کم حجم تر از برنامه هاي مشابه در ساير زبان ها است.
    • c++ که از نسل c است، تمام ويژگي هاي جذاب c را به ارث برده است .
    • و سرانجام آخرين دليل استفاده از c++ ورود به دنياي c# است.
     
    elahi از این پست تشکر کرده است.
  6. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : تاريخچۀ c++

    در دهه 1970 در آزمايشگاه هاي بل زباني به نام C ايجاد شد. انحصار اين زبان در اختيار شرکت بل بود تا اين که در سال 1978 توسط Kernighan و Richie شرح کاملي از اين زبان منتشر شد و به سرعت نظر برنامه نويسان حرفه اي را جلب نمود. هنگامي که بحث شي گرايي و مزاياي آن در جهان نرم افزار رونق يافت، زبان C که قابليت شي گرايي نداشت ناقص به نظر مي رسيد تا اين که در اوايل دهۀ 1980 دوباره شرکت بل دست به کار شد و Bjarne Stroustrup زبان C++ را طراحي نمود.
    C++ ترکيبي از دو زبان C و Simula بود و قابليت هاي شي گرايي نيز داشت از آن زمان به بعد شرکت هاي زيادي کامپايلرهايي براي C++ طراحي کردند. اين امر سبب شد تفاوت هايي بين نسخه هاي مختلف اين زبان به وجود بيايد و از قابليت سازگاري و انتقال آن کاسته شود. به همين دليل در سال 1998 زبان C++ توسط موسسۀ استانداردهاي ملي آمريکا (ANSI) به شکل استاندارد و يک پارچه در آمد. کامپايلرهاي کنوني به اين استاندارد پايبندند. کتاب حاضر نيز بر مبناي همين استاندارد نگارش يافته است.
     
    elahi از این پست تشکر کرده است.
  7. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : آماده سازي مقدمات

    • يک «برنامه» دستورالعمل هاي متوالي است که مي تواند توسط يک رايانه اجرا شود. براي نوشتن و اجراي هر برنامه به يک «ويرايش گر متن» و يک «کامپايلر» احتياج داريم.
    • بستۀ Visual C++ محصول شرکت ميکروسافت و بستۀ C++ Builder محصول شرکت بورلند نمونه هاي جالبي از محيط مجتمع توليد براي زبان C++ به شمار مي روند.
     
    elahi از این پست تشکر کرده است.
  8. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : شروع کار با c++

    C++ نسبت به حروف «حساس به حالت» است يعني A و a را يکي نمي داند

    مثال : اولين برنامه
    اولين برنامه اي که مي نويسيم به محض تولد، به شما سلام مي کند و عبارت "Hello, my programmer!" را نمايش مي دهد:

    کد:
    Sorry, you need to register or login to see this BBcode !

    اولين خط از کد بالا يک «راهنماي پيش پردازنده» است. راهنماي پيش پردازنده شامل اجزاي زير است:

    1- کاراکتر # که نشان مي دهد اين خط، يک راهنماي پيش پردازنده است. اين کاراکتر بايد در ابتداي همۀ خطوط راهنماي پيش پردازنده باشد.
    2- عبارت include
    3- نام يک «فايل کتابخانه اي» که ميان دو علامت <> محصور شده است.

    خط دوم برنامه نيز بايد در همه برنامه هاي C++ وجود داشته باشد.

    اين خط به کامپايلر مي گويد که «بدنۀ اصلي برنامه» از کجا شروع مي شود. اين خط داراي اجزاي زير است:

    1 – عبارت int که يک نوع عددي در C++ است.
    2 – عبارت main که به آن «تابع اصلي» در C++ مي گويند.
    3 – دو پرانتز () که نشان مي دهد عبارت main يک «تابع» است.
    هر برنامه فقط بايد يک تابع main() داشته باشد .

    سه خط آخر برنامه، «بدنۀ اصلي برنامه» را تشکيل مي دهند.

    دستورات برنامه از خط سوم شروع شده است.

    دستور خط سوم با علامت سميکولن ; پايان يافته است.


    توضيح :
    توضيح، متني است که به منظور راهنمايي و درک بهتر به برنامه اضافه مي شود و تاثيري در اجراي برنامه ندارد. . کامپايلر توضيحات برنامه را قبل از اجرا حذف مي کند.
    استفاده از توضيح سبب مي شود که ساير افراد کد برنامۀ شما را راحت*تر درک کنند.

    به دو صورت مي توانيم به برنامه هاي C++ توضيحات اضافه کنيم:
    1 – با استفاده از دو علامت اسلش // : هر متني که بعد از دو علامت اسلش بيايد تا پايان همان سطر يک توضيح تلقي مي شود .
    2 – با استفاده از حالت C : هر متني که با علامت /* شروع شود و با علامت */ پايان يابد يک توضيح تلقي مي شود.


     
    elahi از این پست تشکر کرده است.
  9. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : عملگر خروجي

    علامت << عملگر خروجي در C++ نام دارد (به آن عملگر درج نيز مي گويند).

    يک «عملگر» چيزي است که عملياتي را روي يک يا چند شي انجام مي دهد. عملگر خروجي، مقادير موجود در سمت راستش را به خروجي سمت چپش مي فرستد.


    به اين ترتيب دستور
    کد:
    Sorry, you need to register or login to see this BBcode !

    مقدار 66 را به خروجي cout مي فرستد که cout معمولا به صفحه نمايش اشاره دارد. در نتيجه مقدار 66 روي صفحه نمايش درج مي شود.
     
    elahi از این پست تشکر کرده است.
  10. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : ليترال ها و کاراکترها

    يک «ليترال» رشته اي از حروف، ارقام يا علايم چاپي است که ميان دو علامت نقل قول " " محصور شده باشد.
    يک «کاراکتر» يک حرف، رقم يا علامت قابل چاپ است که ميان دونشانۀ ' ' محصور شده باشد. پس 'w' و '!' و '1' هر کدام يک کاراکتر است.
    به تفاوت سه موجوديت «عدد» و «کاراکتر» و «ليترال رشته اي» دقت کنيد: 6 يک عدد است، '6' يک کاراکتر است و "6" يک ليترال رشته اي است.
     
    elahi از این پست تشکر کرده است.
  11. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : متغيرها و تعريف آن ها

    «متغير» مکاني در حافظه است که چهار مشخصه دارد: نام، نوع، مقدار، آدرس. وقتي متغيري را تعريف مي کنيم، ابتدا با توجه به نوع متغير، آدرسي از حافظه در نظر گرفته مي شود، سپس به آن آدرس يک نام تعلق مي گيرد.

    در C++ قبل از اين که بتوانيم از متغيري استفاده کنيم، بايد آن را اعلان نماييم.

    نحو اعلان يک متغير

    کد:
    Sorry, you need to register or login to see this BBcode !


    عبارت type نوع متغير را مشخص مي کند. نوع متغير به کامپايلر اطلاع مي دهد که اين متغير چه مقاديري مي تواند داشته باشد و چه اعمالي مي توان روي آن انجام داد.

    کد:
    Sorry, you need to register or login to see this BBcode !

    عبارت name نام متغير را نشان مي دهد. اين نام حداکثر مي تواند 31 کاراکتر باشد، نبايد با عدد شروع شود، علايم رياضي نداشته باشد و همچنين «کلمۀ کليدي» نيز نباشد.

    مقداردهي اوليه

    عبارت initializer عبارت «مقداردهي اوليه» نام دارد. با استفاده از اين عبارت مي توان مقدار اوليه اي در متغير مورد نظر قرار داد.

    دستور زير تعريف يک متغير صحيح را نشان مي دهد:
    کد:
    Sorry, you need to register or login to see this BBcode !

     
  12. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : مقداردهي اوليه به متغيرها

    در بسياري از موارد بهتر است متغيرها را در همان محلي که اعلان مي شوند مقداردهي کنيم. استفاده از متغيرهاي مقداردهي نشده ممکن است باعث ايجاد دردسرهايي شود.

    دردسر متغيرهاي مقداردهي نشده وقتي بزرگ تر مي شود که سعي کنيم متغير مقداردهي نشده را در يک محاسبه به کار ببريم. مثلا اگر x را که مقداردهي نشده در عبارت y = x + 5; به کار ببريم، حاصل y غير قابل پيش بيني خواهد بود. براي اجتناب از چنين مشکلاتي عاقلانه است که متغيرها را هميشه هنگام تعريف، مقداردهي کنيم.


    مثال:

    کد:
    Sorry, you need to register or login to see this BBcode !

     
  13. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : ثابت ها

    در بعضي از برنامه ها از متغيري استفاده مي کنيم که فقط يک بار لازم است آن را مقداردهي کنيم و سپس مقدار آن متغير در سراسر برنامه بدون تغيير باقي مي ماند. مثلا در يک برنامۀ محاسبات رياضي، متغيري به نام PI تعريف مي کنيم و آن را با 3.14 مقداردهي مي کنيم و مي خواهيم که مقدار اين متغير در سراسر برنامه ثابت بماند. در چنين حالاتي از «ثابت ها» استفاده مي کنيم.


    يک ثابت، يک نوع متغير است که فقط يک بار مقداردهي مي شود و سپس تغيير دادن مقدار آن در ادامۀ برنامه ممکن نيست.

    تعريف ثابت ها مانند تعريف متغيرهاست با اين تفاوت که کلمه کليدي const به ابتداي تعريف اضافه مي شود.


    مثال تعريف ثابت ها:

    کد:
    Sorry, you need to register or login to see this BBcode !

    برنامه فوق خروجي ندارد.
     
  14. برنامه نویس

    تاریخ عضویت:
    ‏27/7/13
    ارسال ها:
    267
    تشکر شده:
    54
    امتیاز دستاورد:
    32
    فصل اول : عملگر ورودي

    براي اين که بتوانيم هنگام اجراي برنامه مقاديري را وارد کنيم از عملگر ورودي >> استفاده مي کنيم.

    استفاده از دستور ورودي به شکل زير است:

    کد:
    Sorry, you need to register or login to see this BBcode !

    variable نام يک متغير است.

    مثال 10 – 1 استفاده از عملگر ورودي

    برنامۀ زير يک عدد از کاربر گرفته و همان عدد را دوباره در خروجي نمايش مي دهد:

    کد:
    Sorry, you need to register or login to see this BBcode !

    خروجی :

    کد:
    Sorry, you need to register or login to see this BBcode !


    عملگر ورودي نيز مانند عملگر خروجي به شکل جرياني رفتار مي کند. يعني همان طور که در عملگر خروجي مي توانستيم چند عبارت را با استفاده از چند عملگر << به صورت پشت سر هم چاپ کنيم، در عملگر ورودي نيز مي توانيم با استفاده از چند عملگر >> چند مقدار را به صورت پشت سر هم دريافت کنيم. مثلا با استفاده از دستور:

    کد:
    Sorry, you need to register or login to see this BBcode !

    سه مقدار x و y و z به ترتيب از ورودي دريافت مي شوند. براي اين کار بايد بين هر ورودي يک فضاي خالي (space) بگذاريد و پس از تايپ کردن همۀ ورودي ها، کليد enter را بفشاريد. آخرين مثال جلسه، اين موضوع را بهتر نشان مي دهد.


    مثال 11 – 1 چند ورودي روي يک خط

    برنامۀ زير مانند مثال 10 – 2 است با اين تفاوت که سه عدد را از ورودي گرفته و همان اعداد را دوباره در خروجي نمايش مي دهد:
    کد:
    Sorry, you need to register or login to see this BBcode !

    خروجی :
    کد:
    Sorry, you need to register or login to see this BBcode !

    پایان فصل 1

     
  15. mohsen.j
    karbar Rank

    تاریخ عضویت:
    ‏15/12/14
    ارسال ها:
    1
    تشکر شده:
    0
    امتیاز دستاورد:
    0
    پاسخ : آموزش سی / سی پلاس پلاس

    برنامه ایی بنویسید که ستاره ایی در وسط صفحه چاپ کند و با زدن هر یک از کلید های جهت دارجا به جا شود...
    خواهش میکنم اگر کسی بلده حتما جوابشو بنویسه...خیلی برام مهمه...
     
  16. elahi
    admin Rank

    تاریخ عضویت:
    ‏18/3/13
    ارسال ها:
    1,884
    تشکر شده:
    151
    امتیاز دستاورد:
    10,000
    جنسیت:
    مرد
    شغل:
    برنامه نویس
    محل سکونت:
    بجنورد
    پاسخ : آموزش سی / سی پلاس پلاس

    سلام دوست عزیز
    لطفا تاپیکی جدید ایجاد نمائید.
     
  17. سایت ساز کاریک
    karbar Rank

    تاریخ عضویت:
    ‏2/1/18
    ارسال ها:
    2
    تشکر شده:
    0
    امتیاز دستاورد:
    5
    ممنون از زحمات بی دریغ شما
    پیروز و پایدار باشید.
     
  18. سایت ساز کاریک
    karbar Rank

    تاریخ عضویت:
    ‏2/1/18
    ارسال ها:
    2
    تشکر شده:
    0
    امتیاز دستاورد:
    5
    ممنون از زحمات بی دریغ شما
    پیروز و پایدار باشید.
     
  19. snapplole
    karbar Rank

    تاریخ عضویت:
    ‏9/9/18
    ارسال ها:
    3
    تشکر شده:
    0
    امتیاز دستاورد:
    5
    جنسیت:
    مرد
  20. bahramnikbin
    karbar Rank

    تاریخ عضویت:
    ‏26/9/18
    ارسال ها:
    1
    تشکر شده:
    0
    امتیاز دستاورد:
    5
    جنسیت:
    مرد
    ممنون بات وقتی که می ذارید !