صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 52

نام تاپیک: معرفی و آموزش C++‎‎‎‎‎ به صورت گام به گام

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    Post معرفی و آموزش C++‎‎‎‎‎ به صورت گام به گام


    از امروز طبق تعاریف و لیست بندی ذکر شده در ادامه توضیحات آموزش هایی رو برای برنامه نویسی با زبان C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎ و بخصوص ویرایش 11 این زبان قدرتمند به صورت استاندارد و جامع بپردازم.

    البته اشاره کنم هدف نوشتن یک کتاب هست که در انجمن ها فقط یک خلاصه ای از نوشته های اصلی در کتاب خودم ارائه خواهم داد تا حدی که مفید باشه و انشاالله بعد از اتمام کتاب اقدام به انتشار آن خواهم نمود از اساتید و کاربران هم خواهشمندم در رابطه با بهتر شدن سطح آموزشی نظرات و پیشنهادات خود را پیام خصوصی نمایند تا در کتاب اصلی به بهترین صورت ممکن آموزش های لازم رو ارائه کنم.

    اگر شما به دنبال محتوای به روز و مدرنی از این آموزش‌ها هستید این بخش را دنبال کنید.


    در این آموزش من قصد دارم علاوه بر توضیحات در رابطه با C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎ استاندارد به معرفی ویژگی ها و بررسی C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎11 هم بپردازیم که خود جناب Bjarne Stroustrup خودش گفته که ویژگی های خاصی در این نسخه از C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ اضافه شده که بسیار کار آمد هستند و همچنین بهتره در نظر داشته باشید در حال حاضر به فکر توسعه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ به نسخه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ 17 در سال 2017 هستش که همینک نتیجه خوبی از نسخه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ 14 گرفته شده است.

    یه اسانسی هم از معرفی C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎ 11 ببینید که خود سازنده محترم توضیحات مختصری رو در معرفی داده که در دانشگاه A&M واقع در تگزاس برگزار شده : https://www.youtube.com/watch?v=86xWVb4XIyE

    ما هدفمون اینه هم پایه پیشرفته روز به روز این زبان بریم جولو و آخرین تغییرات رو در نظر بگیریم و من خودم شخصا عاشق به روز بودن هستم اصلا حال و حوصله اینو ندارم به سبک قدیم کار کنم شاید این یه حسنی باشه که باعث شده تصمیم بگیرم به شیوه نوین این آموزش رو به آخر برسونم.

    که در رابطه با برخی از ویژگی های جدید در نسخه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎ 11 و 14 به صورت زیر هستش که بهشون می پردازیم.

    • auto
    • nullptr
    • Range-based for loops
    • Override and final
    • Strongly-typed enums
    • Smart pointers
    • Lambdas
    • non-member begin() and end()
    • static_assert and type traits
    • Move semantics


    اهداف C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ 11 چیست ؟ هدف از ارتقاء C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ استاندارد به نسخه 11 چه بوده ؟

    • مهمترین هدف بهتر شدن زبان پایه یعنی C
    • پشتیبانی از تجرید داده ها و توسعه آن
    • پشتیبانی از برنامه نویسی شی گرا و توسعه آن
    • برنامه نویسی عمومی و توسعه آن


    انواع کامپایلرهایی که به صورت استاندارد برای نسخه 11 مشخص شده اند و تایید شده اند کدامند؟

    انواع کامپایلر ها که از طرف شرکت های سازنده و توسعه دهنده ارائه شده به صورت زیر اومده و نسخه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ فقط روی کامپایلر های زیر قابل اجرا است.

    MSVC-2012,2013
    Gcc 4.8
    Clang 3.3
    Intel 13.0

    کتابخانه های استاندارد C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ 11 چگونه در دسترس خواهند بود ؟

    روش جدیدی جناب بی‌یارن در نظر گرفته که کتابخانه های استاندارد C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ علاوه بر اینکه توسط خود کامپایلر ها در دسترس و قابل استفاده هستش بلکه توسط کتابخانه Boost نیز میتوان دسترسی به مجموع عظیمی از کتابخانه ها دسترسی داشته باشیم.

    هدف از این آموزش ها تعریف و آشنایی با زبان C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ هستش هرچند در رابطه با این زبان آموزش های مختلفی وجود دارد ولی من شخصا آموزش های پیچیده و سطح بالا یا بررسی موارد ریزو درشت رو نیافتم برای همینم مایل شدم این آموزش رو شروع کنم که از مرحله مقدماتی , تعریف , آموزش ها بر اساس فصل بندی و ... توضیح خواهم داد.

    درضمن در نظر دارم به ساده ترین حالت آموزش ها رو ارائه بدم و در هر فصل نسخه PDF این آموزش رو در اختیار شما قرار بدم و در نهایت یه کتاب درست حسابی و ترو تمیز آماده خواهم کرد و در اختیار همه دوستان خواهم گذاشت.


    در ابتدا لیست بندی و سرفصل هارو مشخص میکنم تا عناوین کلی مشخص بشه به صورت زیر :

    فصل اول

    1. مقدمه برنامه نویسی C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. ساده ترین برنامه توسط این زبان
    3. معرفی عملگر خروجی
    4. معرفی کاراکترها و الفاظ رشته ای
    5. معرفی طول رشته
    6. معرفی نحوه توضیحات نویسی در کد ها
    7. معرفی انواع متغیر ها و اشیاء
    8. معرفی انواع واژه های کلیدی و شناسه های C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    9. معرفی نسبت دادن مقادیر و ارزش در زمان اعلان
    10. معرفی انتساب های زنجیره ای / درونی
    11. معرفی کاراکتر خاتمه دهنده (نقطه , ویرگول و سیمیکالون)
    12. معرفی سبک و روش برنامه نویسی در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    13. معرفی انواع اعداد صحیح (Integer)
    14. معرفی عملگر ها (عملگرهای حسابی اولیه و ساده)
    15. معرفی حق تقدم در عملگرها
    16. معرفی عملگرهای افزایش دهنده و کاهش دهنده
    17. معرفی عبارات انتساب مرکب
    18. معرفی انواع حالت های سرریز و پاریز شدن در اعداد صحیح
    19. معرفی نوع کاراکتر (char)


    فصل دوم

    1. معرفی دستورات شرطی و انواع اعداد صحیح در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی دستور شرطی if
    3. معرفی دستور شرطی if else
    4. معرفی عملگرهای رابطه ای
    5. معرفی رشته ای از دستورات مرکب
    6. معرفی واژگان خاص در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    7. معرفی شرایط خاص
    8. معرفی عبارت های بولی
    9. معرفی دستورات شرطی تو در تو
    10. معرفی دستور switch
    11. معرفی عملگر عبارات شرطی
    12. معرفی دامنه یا همان حوزه عملیاتی
    13. معرفی تبدیل های نوع صحیح integer


    فصل سوم

    1. معرفی تکرار و انواع ممیز های شناور
    2. معرفی دستور while
    3. معرفی دستور do...while
    4. معرفی دستور for
    5. معرفی دستور break
    6. معرفی دستور continue
    7. معرفی دستور goto
    8. معرفی انواع اعداد حقیقی
    9. معرفی تبدیل نوع
    10. معرفی دقت در خطای گرد کردن برشی
    11. معرفی قالب E برای مقادیر ممیز شناور
    12. معرفی ثوابت , متغیر ها و اشیاء
    13. معرفی تولید اعداد شبه تصادفی


    فصل چهارم

    1. معرفی توابع در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی توابع کتابخانه های استاندارد C
    3. معرفی توابع تعریف شده توسط برنامه نویس (کاربر)
    4. معرفی راه انداز های آزمایشی
    5. معرفی اعلان و تعریف توابع
    6. معرفی کامپایل کردن جداگانه
    7. معرفی متغیر های محلی و توابع
    8. معرفی توابع خالی (void)
    9. معرفی توابع بولی
    10. معرفی توابع ورودی و خروجی
    11. معرفی ارسال به وسیله مرجع (آدرس)
    12. معرفی ارسال به وسیله مرجع ثابت
    13. معرفی توابع درونی
    14. معرفی دامنه توابع
    15. معرفی بارگزاری اضافی
    16. معرفی توابع معروف main و exit
    17. معرفی آرگومان های پیشفرض
    18. معرفی توابع درونی



    فصل پنجم

    1. معرفی آرایه ها در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی پردازش آرایه ها
    3. معرفی مقدار دهی اولیه به یک آرایه
    4. معرفی و بررسی بازه ایندکس در آرایه توسط C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    5. معرفی الگوریتم جستجوی خطی
    6. معرفی الگوریتم مرتب سازی حبابی
    7. معرفی الگوریتم جستجوی دودویی
    8. معرفی و بکار گیری آرایه ها با انواع شمارشی
    9. معرفی تعاریف نوع
    10. معرفی آرایه های چند بعدی


    فصل ششم

    1. معرفی اشاره گر ها و مراجع در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی مراجع
    3. معرفی اشاره گر ها
    4. معرفی انواع مشتق شده
    5. معرفی اشیاء و مقادیر چپ
    6. معرفی بازگشت یک مرجع
    7. معرفی آرایه و اشاره گر ها
    8. معرفی عملگر new
    9. معرفی عملگر delete
    10. معرفی آرایه های پویا (داینامیکی)
    11. معرفی و استفاده از const با استفاده از اشاره گر ها
    12. معرفی آرایه هایی از اشاره گر و بر عکس
    13. معرفی اشاره گرهایی به توابع
    14. معرفی NULL , NUL و void



    فصل هفتم

    1. معرفی رشته ها در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی مروری بر اشاره گر ها
    3. معرفی رشته ها
    4. معرفی ورودی و خروجی ها در رشته
    5. معرفی برخی از توابع عضو cin
    6. معرفی توابع و کاراکتری معرفی شده در <ctype.h>
    7. معرفی آرایه های از رشته ها
    8. معرفی کتابخانه های رشته در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎


    فصل هشتم

    1. معرفی کلاس ها در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی اعلان در کلاس ها
    3. معرفی سازنده ها
    4. معرفی سیستم های مقدار دهی اولیه در سازنده ها
    5. معرفی توابع دستیابی
    6. معرفی توابع عضو اختصاصی
    7. معرفی سازنده کپی
    8. معرفی ویرانگر کلاس ها
    9. معرفی اشیاء ثابت
    10. معرفی ساختمان ها
    11. معرفی اشاره گرهایی به اشیاء
    12. معرفی اعضاء داده ای ایستا
    13. معرفی اعضای تابعی static


    فصل نهم

    1. معرفی بارگزاری اضافی عملگر ها
    2. معرفی اشاره گر this
    3. معرفی بارگزاری اضافی عملگر های حسابی
    4. معرفی بارگزاری اضافی عملگر های انتساب حسابی
    5. معرفی بارگزاری اضافی عملگر های رابطه ای
    6. معرفی بارگزاری اضافی عملگر های ورودی و خروجی
    7. معرفی عملگر های تبدیل
    8. معرفی بارگزاری اضافی عملگر های افزایش و کاهش یک واحد
    9. معرفی بارگزاری اضافی عملگر زیر نویس


    فصل دهم

    1. معرفی کلاس رشته / String
    2. معرفی رابط کلاس رشته String
    3. معرفی سازنده کپی
    4. معرفی عملگر انتساب
    5. معرفی عملگر جمع
    6. معرفی عملگر الحاق / افزایشی
    7. معرفی توابع دستیابی
    8. معرفی عملگر مقایسه ای
    9. معرفی عملگرهای مجرا



    فصل یازدهم

    1. معرفی ترکیب ها و وراثت ها
    2. معرفی ترکیب
    3. معرفی وراثت
    4. معرفی اعضای protected در کلاس
    5. معرفی لغو کردن و تسلط داشتن براعضای موروثی
    6. معرفی دستیابی private در برابر دستیابی protected
    7. معرفی توابع مجازی / virtual و چند شکلی
    8. معرفی ویرانگر های مجازی
    9. معرفی برنامه نویسی شیئ گرا / موضوعی


    فصل دوازدهم

    1. معرفی مجاری های ورودی و خروجی در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی کلاس ios
    3. معرفی پرچم های قالب بندی در ios
    4. معرفی متغیر های حالت در ios
    5. معرفی کلاس های iostream و ostream
    6. معرفی توابع ورودی قالب بندی نشده (بدون قالب)
    7. معرفی توابع خروجی قالب بندی نشده / بی قالب
    8. معرفی دستکاری کننده های مجرا


    فصل سیزدهم

    1. معرفی الگوها و تکرار کننده ها در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی الگوهای توابع
    3. معرفی الگوهای کلاس ها
    4. معرفی کلاس های ظرف
    5. معرفی الگوهای زیر کلاس
    6. معرفی ارسال کلاس های الگو به پارامتر های الگو
    7. معرفی الگوی کلاس برای لیست های پیوندی
    8. معرفی کلاس های تکرار کننده


    فصل چهاردهم

    1. معرفی کتابخانه ها در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎
    2. معرفی واژه های کلیدی
    3. معرفی عملگر های C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎
    4. معرفی انواع موجود در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎
    5. معرفی توابع از پیش تعریف شده در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎
    6. معرفی اعداد بر مبنای 16


    فصل پانزدهم

    1. معرفی آخرین تغییرات در C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎
    2. معرفی انواع کامپایلرهای استاندارد بر روی C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎
    3. معرفی بهترین و جدیدترین کتابخانه های C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎


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

    نکته بسیار مهم : لطفا اسپم نزنید تو این آموزش در صورت داشتن نظرات و پیشنهادات پیام خصوصی ارسال کنید حتما بررسی خواهم کرد.
    پیام خصوصی برای حل و فصل موارد به جز نظرات و پیشنهادات ندین چون واقعا وقت نخواهم کرد جواب بدم.

    در رابطه با بهتر شدن آموزش ها کلی ایده دارم که همشو پیاده خواهم کرد فقط باید در نظر داشته باشید عجله ای در کار نباشه چون منم باید زندگی کنم ... کار و پروژه ووو درسو مشقمون برای همینم سعی خواهم کرد در هر فرصت مناسب پست هارو ادامه بدم تا به آخر برسه.

    یه نکته دیگه که بعضی از دوستان پیام خصوصی دادن و گفتن که این کتاب رو از کجا گیر آوردی بده ماهم استفاده کنیم ! باید بگم که خوشبختانه این کتاب نویسندش خودم هستم و این مطالبی هم که پست میکنم بعد از نوشتن خود کتاب چکیده ای از صفحات رو اینجا با کمی تغییرات ارسال میکنم یعنی هر بار هر صفحه از کتاب رو که تموم میکنم یه پستی اینجا ارسال مینم که امیدوارم مفید باشه . و در ضمن در نظر دارم در رابطه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ و در فروم های Qt در رابطه با نحوه استفاده از کتابخانه های Qt توضیحاتی بدم و در نهایت همین مطالب یه کتاب و مرجع درست حسابی بشه برای افرادی که نیاز دارن به یک منبع فارسی و جامع.
    آخرین ویرایش به وسیله کامبیز اسدزاده : شنبه 16 فروردین 1399 در 23:58 عصر دلیل: بروز رسانی 22-02-1393

  2. #2

    نقل قول: معرفی و آموزش C++‎‎‎‎‎ به صورت گام به گام

    فصل اول : مقدمه برنامه نویسی C++‎‎‎‎‎‎‎‎

    برنامه چیست و وظیفه زبان برنامه نویسی در این میان چیست؟

    به طور کلی برنامه به چه چیزی گفته می شود و زبان های برنامه نویسی چه وظیفه ای در تولید یک برنامه دارند برای این سوال باید اینگونه توضیح دهیم که به مجموعه دستوراتی که برای اجرا در اختیار کامپیوتر گذاشته می شود یک برنامه می گویند حال خود برنامه با زبان برنامه نویسی نوشته می شود که در این میان ما به تعریف و توضیح در رابطه با قدرتمند ترین زبان برنامه نویسی یعنی C++‎‎ می پردازیم.

    • عنوان و آوای این زبان : زبان برنامه نویسی C++‎‎ با آوای (سی پلاس پلاس) یکی از جدیدترین و قدرتمند ترین زبان های برنامه نویسی ساخت بشر تا به امروز می باشد که هدف نوشتن برنامه کارا و ساخت یافته و همچنین موضوعی یا (شیء گرا) را برای برنامه نویسان فراهم می کند.
    • برخی از قابلیت ها : این زبان دارای قابلیت‌های انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمه شده با پشتیبانی از برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شیءگرا، برنامه‌نویسی جنریک است. ++C به همراه جد خود C از پرطرفدارترین زبان‌های برنامه‌نویسی تجاری هستند.
    • سطح این زبان : زبان ++C یک زبان سطح میانی در نظر گرفته می‌شود. این زبان دارای قابلیت زبان‌های سطح بالا و پایین به‌صورت هم‌زمان است. زبان ++C توسط بی‌یارنه استراس‌تروپ دانمارکی در سال ۱۹۷۹ درآزمایشگاه‌های بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را “C با کلاس” (C With Classes) نام‌گذاری نمودند. در سال ۱۹۸۳ به ++c تغییر نام داد. توسعه با اضافه نمودن کلاس‌ها و ویژگی‌های دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثنا انجام شد. این زبان برنامه‌نویسی در سال ۱۹۹۸ تحت نام ISO/IEC ۱۴۸۸۲:۱۹۹۸ استاندارد شد.
    • ساختار برنامه در این زبان چگونه است ؟ هر برنامه معمولاً از تعداد زیادی فایل تشکیل می‌شود که به هم الحاق می‌گردند (با دستور include) و به این فایل‌های الحاقی سرآیند (Header) می‌گوییم. فایل‌های الحاقی حاوی کدها یا نسخه‌های اجرایی کلاس‌ها (مجموعه متغیرها و توابع) می‌باشند که در بدنه اصلی برنامه از آنها استفاده می‌شود.معمولاً هر کلاس (که تعریف یک نوع داده‌ای با متدهای مربوط به آن است) را در یک سرآیند می‌نویسند. هر سرآیند که معمولاً تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل‌های پیاده سازی به زبان ++C یا پیاده سازی‌های کامپایل شده (به صورت فایل اشیا مانند dll یا so یا … ) می‌تواند به کار برده شود. به مجموعه‌های یکپارچه‌ای از کلاس‌های پیاده سازی شده (به صورت فایل‌های سرآیند با پیاده سازی‌های کد یا اشیای زبان ماشین) که برای برنامه نویسی به کار می‌روند، یک کتابخانه ++C گفته می‌شود و قدرت اصلی این زبان در امکان به کارگیری کتابخانه‌های آماده می‌باشد.
    • کتابخانه ها در این زبان چگونه است ؟ کتابخانه‌های بزرگ ++C مانند STL ، MFC ، Qt ، wxWidgets ، Boost و … مجموعه قدرتمندی برای تولید برنامه در این زبان ایجاد کرده‌اند.
    • فرق بين سي C با ++C چيست؟ زبان C زبان برنامه نویسی Structured (ساخت یافته) است اما ++‍C زبان برنامه نویسی Object Oriented ( شی ء گرا ) می باشد و از لحاظ دستوری فرق زیادی با هم ندارند، اماتفاوت عمده این است که ++C از شی گرایی پشتیبانی می کند که سی C این قابلیت رو ندارد…
      امروزه دیگر بدون شی گرایی اصلا نمي توان نرم افزار های بزرگ نوشت.
    آخرین ویرایش به وسیله کامبیز اسدزاده : یک شنبه 21 تیر 1394 در 09:06 صبح

  3. #3

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : مقدمه برنامه نویسی C++‎‎‎‎‎‎‎‎‎‎‎‎‎ / تعریف ساختار برنامه های نوشته شده توسط C++‎‎‎‎‎‎

    در رابطه با ساختار برنامه های نوشته شده توسط C++‎‎‎‎‎‎ باید یه توضیحاتی بدم منظور از ساختار در اینجا انواع فایل های موجود در زبان C++‎‎‎‎‎‎ است.
    در این رابطه باید اینگونه اشاره کنیم که در این زبان ما می توانیم از فایل های زیر برای برنامه نویسی استفاده کنیم.

    فایل با پسوند (c.) در این زبان : این فایل منبعی برای کد هایی از نوع زبان C هستند.
    فایل با پسوند (cpp.) در این زبان : این فایل منبعی برای کد هایی از نوع زبان C و C++‎‎‎‎‎‎ هستند یعنی در هر دو نیز قابل استفاده می باشند.
    فایل با پسوند (cxx.) در این زبان : این فایل منبعی برای کد هایی از نوع زبان C و C++‎‎‎‎‎‎ هستند یعنی در هر دو نیز قابل استفاده می باشند.

    فایل با پسوند (hpp.) در این زبان : این نوع فایل ها معمولا فایل با عنوان (هدر / سر صفحه) یاد می شوند و و معمولا فقط حاوی اعلان ها می باشند.
    فایل با پسوند (h.) در این زبان : این نوع فایل ها معمولا فایل با عنوان (هدر / سر صفحه) یاد می شوند و و معمولا فقط حاوی اعلان ها می باشند.
    فایل با پسوند (hxx.) در این زبان : این نوع فایل ها معمولا فایل با عنوان (هدر / سر صفحه) یاد می شوند و و معمولا فقط حاوی اعلان ها می باشند.
    فایل با پسوند (hh.) در این زبان : این نوع فایل ها معمولا فایل با عنوان (هدر / سر صفحه) یاد می شوند و و معمولا فقط حاوی اعلان ها می باشند.
    فایل با پسوند (++h.) در این زبان : این نوع فایل ها معمولا فایل با عنوان (هدر / سر صفحه) یاد می شوند و و معمولا فقط حاوی اعلان ها می باشند.

    انواع فایل هایی که به آنها اشاره شد بسیار است ولی متناسب با محبویت و پشتیبانی کامپایلر ها از این فایل ها در این زبان برای انتخاب آنها مهم است بنا بر این در طی آموزش و تمامی مراحل ما فقط از فایل های h. برای هدر و فایل های cpp. برای منابع استفاده خواهیم کرد.

    چرا و چه زمانی باید از فایل های h. و چه زمانی از فایل های cpp. استفاده کنیم ؟ برای پاسخ اینگونه توضیح می دهیم در زبان C++‎‎‎‎‎‎ برای راحتی کار به خاطر پیچیده بودن کد نویسی امکان این وجود دارد که ما توابع ، کلاس ها و تعاریف رو در فایل جدا گانه ای مثل هدر فایل یا همان .h بنویسیم و برای اجرا عملیات و صدا زدن از فایل های cpp.استفاده کنیم البته این اجبار نیست ! شما می توانید در فایل h. و یا فایل cpp.به تنهایی برنامه رو اجرا کنید که معمولا در مثال های کوچک و کوتاه از یک نوع فایل استفاده می شود ولی بسته به نیاز و پیچیدپی در پروژه بهتر است استفاده از امکاناتی که این زبان در اختیار ما می گذارد به حد اکثر برسانیم.
    آخرین ویرایش به وسیله کامبیز اسدزاده : دوشنبه 07 بهمن 1392 در 09:54 صبح

  4. #4

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : ساده ترین برنامه توسط این زبان

    همانطور که می دانید در هر زبان برنامه نویسی می توان ساده ترین برنامه را در چند خط کوتاه ایجاد و نتیجه رو نمایش داد برای اینکه بهتر و از مراحل ابتدائی ساختار تولید برنامه در C++‎‎‎‎‎‎‎ رو مشاهده کنیم به صورت زیر ساده ترین کد نویسی به زبان C++‎‎‎‎‎‎‎ و البته در نسخه 11 رو توضیح می دهم.

    به صورت زیر :


    و کد زیر :


    //Author : Kambiz Asadzadeh


    #include <iostream>

    // This program prints Welcome to C++‎‎‎‎ 11 Programming language!

    using namespace std;

    int main()
    {

    std::cout << "Welcome to C++‎‎‎‎ 11 Programming language!\n";

    return 0;
    }


    این یک برنامه ساده که فقط عمل نمایش یک متن را در خروجی نمایش داده است که به صورت زیر به تجزیه و تحلیل خط به خط آن می پردازیم.

    در ابتدای کد اصولا توضیحاتی در رابطه با فایل ، پروژه ، کد و یا قوانین کپی رایت و ... رو توسط کاراکتر های // می دهند.

    دستور include در سطر اول برای برنامه هایی که دارای خروجی هستند ضروری است که در این کد این دستور یک فایل خارجی به نام iostream را که خودش یک هدر به صورت iostream.h می باشد وارد کرده که حاوی اطلاعاتی در مورد شیء cout می باشد.

    شکل کلی include به صورت زیر است البته دقت کنید در C++‎‎‎‎‎‎‎ 11 نیازی به نوشتن پسوند فایل برای کتابخانه و فایل های اصلی نیست و پارانتز ای زاویه ای <> بخشی از نام فایل نمی باشند و تنها وظیفه آنها این است که مشخص میکند این فایل کتابخانه استاندارد C++‎‎‎‎‎‎‎ است.


    #include <نام فایل>


    در سطر دوم توضیحی در رابطه با خروجی دادیم که توسط کاراکتر های // مشخص شده و معمولا برای آگاهی بیشتر برنامه نویس و یا توسعه دهندگان در دفعات بعدی برای درک و یاد آوری دوباره می توان استفاده کرد.


    // This program prints Welcome to C++‎‎‎‎‎‎‎ 11 Programming language!


    در این مکان استفاده از namespace یعنی فضای نام برای برخی از کلاس ها و توابع از پیش تعریف شده مهم است برای مثال در نسخه های جدید C++‎‎‎‎‎‎ این مهم است که برای هرچه بهتر عمل کردن انواع کتابخانه ها مانند Boost و std که در بعضی از کامپایلر ها بدون تعریف فضای نام امکان دسترسی به جزئیات و اشاء موجود در کلاس ها موجود نیست بنابر این با تعریف به صورت زیر ما میتوانیم از شیئ cout بدون فراخوانی std استفاده کنیم.


    cout << "Welcome to C++‎‎‎‎‎‎ 11 Programming language!\n";


    در صورتی که اگر از فضای نام استفاده نکرده اید باید در کد خود به صورت زیر شیئ cout رو صدا بزنید مانند نمونه مثال زیر :


    std::cout << "Welcome to C++‎‎‎‎‎‎ 11 Programming language!\n";


    در سطر سوم سر آمد تابع اصلی یعنی main قرار گرفته و تنها تابعی در C++‎‎‎‎‎‎‎ است که مکان شروع برنامه را به کامپایلر اطلاع می دهد. و همچنین حضور () پرانتز ها در مقابل تابع ضروری می باشد.


    int main()


    حال در سطر بعدی نماد های { و } وجود دارد که این نماد ها بدنه تابع main را دربر میگیرند و در تمامی برنامه های C++‎‎‎‎‎‎‎ بکار گرفته می شود.

    در رابطه با داخل بدنه تابع دستور زیر قرار دارد :


    cout << "Welcome to C++‎‎‎‎‎‎‎ 11 Programming language!\n";


    این دستور به سیستم اطلاع می دهد که پیام Welcome to C++‎‎‎‎‎‎‎ 11 Programming language! را به شیء cout به آوای (سی - اُوت) ارسال نماید.

    نام cout برگرفته شده از Console output می باشد.

    و همچنین عملگر >> عملگر درج نام دارد و وظیفه آن درج پیام در مجرای خروجی می باشد و در نهایت آن نماد های نقطه ویرگول ; به آن دستور خاتمه میدهد و همچنین باید در نظر داشته باشید در C++‎‎‎‎‎‎‎ تمام دستورات توسط این نماد خاتمه میابند.

    مجرای خروجی cout دقیقا مثل یک گذرگاه عمل میکند که خروجی را به صورت بایت به بایت از برنامه به صفحه نمایش یا سایر وسایل خروجی انتقال می دهد.

    نماد n\ معرف کاراکتر newline همان سطر جدید می باشد که متشکل از کاراکتر n و \ است در صورتی که شما در آخر رشته این نماد را وارد نمایید به سیستم اعلام میکند که بعد از رسیدن به این خط یک سطر جدیدی را آغاز کند و این به معنی این است که این سطر به پایان رسیده است ! در غیر این صورت اگر شما موارد دیگری را چاپ کنید پشت سر هم چاپ خواهند شد به صورت زیر ...


    Welcome to C++‎‎‎‎‎‎‎ 11 Programming language!Welcome to C++‎‎‎‎‎‎‎ 11 Programming language!


    ولی در صورت استفاده از نماد n\ این مشکل رفع می شود.

    که در نهایت خروجی برنامه به صورت زیر خواهد بود :


    Welcome to C++‎‎‎‎‎‎‎ 11 Programming language!


    و در نهایت دستور return 0 برنامه را خاتمه داده و کنترل را به سیستم عاملی که روی سیستم کامپیوتری موجود است انتقال میدهد که در اینجا عدد 0 به منظور پایان موفقیت آمیز برنامه مشخص شده است.

    پس در نتیجه بعد از این عمل برنامه خروجی را نمایش و خارج خواهد شد.

    در کل کوتاه ترین برنامه در C++‎‎‎‎‎‎‎ به صورت زیر است :


    int main(){}


    که شامل نام تابع و نوع تابع و در نهایت بدنه تابع می باشد که هیچ عملیاتی را انجام نمیدهد ولی به سادگی خود پیکر اصلی برنامه های C++‎‎‎‎‎‎‎ را تشکیل می دهد.
    آخرین ویرایش به وسیله کامبیز اسدزاده : یک شنبه 06 بهمن 1392 در 19:57 عصر

  5. #5

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : معرفی عملگر خروجی

    در C++‎‎‎‎‎‎‎‎‎‎‎‎ برای چاب لازم است توسط عملگر >> که عملگر درج یا خروجی نام دارد اشاء را به مجرای خروجی درج کنیم که به عنوان مثال شیئ cout یک مجرای خروجی است و برای هدایت موارد لازم برای این مجرا باید از علامت >> را استفاده کنیم تا اشیاء را یه سمت چپ خود ارسال کند به عنوان مثال در سمت راست این علامت اشاء مورد نظر برای چاپ قرار میگیرند که آن ها را دریافت از سمت چپ خود به شیء مجرا یعنی cout وارد میکند تا شیء cout خروجی را به صفحه نمایش هدایت کنند.

    در ضمن مجرای cout که وظیفه انتقال اشیاء برای نمایش دادن در صفحه خروجی را دارد قابلیت دریافت چندگانه اشایء رو نیز دارد مثلا در صورتی که چندین بار از علامت خروجی یا درج استفاده کنید آنگاه به ترتیب تمام اشیاء به cout وارد شده و در نهایت چاپ می شوند.

    برای درک بیشتر این موضوع به مثال های زیر توجه کنید :


    بنابراین اگر ما عدد 100 رو به این مجرا ارسال کنیم در نمایشگر یا سیستم خروجی عدد 100 نمایش داده خواهد شد.


    //Author : Kambiz Asadzadeh


    #include <iostream>

    using namespace std;

    int main()
    {

    cout << "Hello ," << " world." << "\n";

    return 0;
    }


    به این کد توجه کنید یکجا من متن رو نوشتم و در نهایت چاپ می شود به صورت زیر :


    cout << "Hello , world.\n";


    حالا به این کد توجه کنید در این قسمت من برای هر بخش یک بار از جدا کننده استفاده کردم و ترتیب وارد کردن شی ء که در اینجا رشته هست به ترتیب وارد cout شده و در نهایت همانند کد بالا نتیجه رو نمایش خواهد داد.


    cout << "Hello ," << " world." << "\n";


    در اینجا من چون نخواستم به صورت یکجا توسط یک درج کننده رشته Hello , world. رو به cout وارد کنم از نماد مجدد برای درج استفاده کردم ولی باید دقت کنید که قوانین جدا کننده رو نیز رعایت کنید.

    و همچنین باید دقت کنید اولویت بندی در این حالت به سه قسمت تقسیم شده که شامل Hello و world و n\ هستش و به ترتیب به اولویت چپ به راست یعنی اول Hello بعد world. و در نهایت سطر جدید توسط n\ مشخص و به خروجی ارسال می شود که نتیجه در خروجی به صورت زیر خواهد بود :


    .Hello , world


    شکل کلی مجرای خروجی cout به صورت زیر خواهد بود و منظور از expression همان عبارت و یا بیانیه می باشد.


    cout << expression << expression << expression << ...... << expression;
    آخرین ویرایش به وسیله کامبیز اسدزاده : یک شنبه 06 بهمن 1392 در 21:12 عصر

  6. #6

    نقل قول: معرفی و آموزش C++‎‎‎‎‎ به صورت گام به گام

    ادامه فصل اول : معرفی کاراکتر ها و الفاظ رشته ای

    در رابطه با literal یا همان الفاظ رشته ای توضیح به صورت زیر است :

    برای مثل همان کلمه Hello که در اینجا توسط علامت های نقل قول از هر دو طرف محدود شده است به صورت زیر :

    "Hello"

    در رابطه با کاراکتر باید بگوییم یک کاراکتر عضوی است از مجموعه ای از کاراکتر ها یا یکی از حروف الفبا که کامپیوتر کاراکتر ها را به صورت کاراکتر های اسکی ASCII استفاده می کند.
    حال برای مثال کاراکتر 'n/' یک کاراکتر غیر قابل چاپ است که متشکل از حرف n و \ بک اسلش می باشد کاراکتر های زیادی در C++‎‎‎‎‎ وجود دارند که به این شیوه ساخته شده اند مانند 't/' که وظیفه ستون بندی را دارد.

    پس به طور واضح بخوام بگم تمامی کاراکتر هایی که ما بین دو علامت '....' کوتیشن قرار می گیرند به عنوان کاراکتر های غیر قابل چاپ شمای می آیند ولی در صورت استفاده از علامت "...." دابل کوتیشن مقدار موجود در آن را از نوع الفاظ رشته ای در نظر گرفته ایم.

    یعنی بهترین روش برای استفاده از کاراکتر های غیر قابل چاپ که وظیفه آنها انجام عملی است بهتر است از کوتیشن '....' استفاده کنیم مانند 'n/' که وظیفه آن خاتمه دادن به سطر جاری و ارسال به سطر جدید است.

    به عنوان مثال به کد زیر توجه کنید :


    cout << "Hello, " << 'w' << 'o' << 'r' << "l" << 'd' << '.' << "\n";


    این دستور مشخص است که هفت شیء را به مجرای cout ارسال می کند که دو تای آن ها از نوع لفظ رشته ای یعنی Hello و l هستند و 5 تای دیگر از نوع کاراکتر های ثابت یعنی 'w' , 'o' , 'r' , '.' و 'n/' هستند.

    و یا میتوان دستور بالا را با دستور زیر جایگزین کرد :


    cout << "Hello, " << "w" << "o" << "r" << "l" << "d" << "." << "\n";


    در این دستور 7 رشته لفظی به cout ارسال می شود.
    آخرین ویرایش به وسیله کامبیز اسدزاده : یک شنبه 06 بهمن 1392 در 20:49 عصر

  7. #7

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : طول رشته

    همانطور که می دانید طول یک رشته را بر اساس تعداد کاراکتر های موجود در آن مشخص می کنند برای مثال طول حرف (لفظ) رشته "HELLO" دقیقا 5 می باشد.
    حالا برای مشخص کردن طول رشته در C++‎‎ تابعی از پیش تعریف شده داریم به نام strlen() که میتوان از آن برای تعیین طول رشته استفاده کرد به صورت زیر :


    //Author : Kambiz Asadzadeh


    #include <iostream>

    using namespace std;

    int main()
    {
    cout << strlen("Hello, world.") << "\n";

    return 0;
    }


    اینجا یک مورد جالبی هستش که باید ریز بین باشید تا اینجور موارد رو تشخیص بدهید.
    در این خط :


    cout << strlen("Hello, world.") << "\n";

    من چرا از n\ در ادامه همان world. استفاده نکردم و ترجیح دادم خارج از بدنه strlen توسط یک عملگر درج جداگانه آن را ارسال کنم ؟! دلیلش این هستش که در داخل strlen خود n/ شامل کاراکتر ها می باشد و به جای طول رشته 13 طول رشته 14 را نمایش می داد.

    حالا کد زیر را مشاهده نمایید آیا خالی بودن هم به عنوان داشتن مقدار و طول رشته محسوب می شود ؟


    cout << strlen("") << "\n";


    در جواب باید بگیم خیر ! خروجی 0 را نمایش خواهد داد زیرا رشته تهی (خالی) همیشه صفر (0) است.

    لازم بذکر است تابع از پیش تعریف شده strlen در فایل جدا گانه ای به نام string.h تعریف شده است که در ویرایش های قبلی C++‎‎ باید این هدر رو فراخوانی نمایید ولی در نسخه 11 چنین نیازی نیست که برای فراخوانی توابع از پیش تعریف شده C++‎‎ مجددا اقدام به وارد کردن ان نمایید.

  8. #8

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : معرفی نحوه توضیحات نویسی در کد ها

    در برنامه نویسی C دو نوع توضیح وجود داره که یک روش توضیح استاندارد هستش و با (اسلش / ستاره) */ آغاز میشه و با نماد (ستاره / اسلش) /* خاتمه میابه و هر چیزی که در بین این تو نماد نوشته می شود توسط کامپایلر نادیده گرفته می شود مانند مثال زیر :


    1. /*This is C standard comment*/


    و همچنین در روش دوم استاندارد C++‎‎‎‎ هستش که با دوبار اسلش // آغاز شده و تا پایان سطر ادامه داره همانند توضیح زیر :


    2. //This is C++‎‎‎‎ standard comment line 2
    3. //This is C++‎‎‎‎ standard comment line 3


    در رابطه با استفاده از دو روش توضیح نویسی در برنامه نویسی اجباری در انتخاب و یا استفاده از آنها نیست ولی در رابطه با چگونه و چه زمانی استفاده کردن از این دو روش به صورت زیر براتون مثال میزنم :



    /************************************************\
    * This is a free program *
    * Write by : Kambiz Asadzadeh *
    * Create date : 2014 – 01 - 27 *
    * Version : 1.0 *
    \************************************************/

    #include <iostream> // We need this library to use cout

    // This print message: “Hello, world.”



    و یا به صورت زیر :


    1. //------------------------------------------------------------------------------------------------------------------------------
    2. // This is a free program
    3. // Write by : Kambiz Asadzadeh
    4. // Create date : 2014 – 01 - 27
    5. // Version : 1.0
    6. //------------------------------------------------------------------------------------------------------------------------------
    7. #include <iostream> // We need this library to use cout
    8. // This print message: “Hello, world.”



    استفاده از هر دو حالت امکان هستش حالا این وسط برنامه نویس انتخاب میکنه که از چه روشی برای توضیح نوشتن استفاده کنه.
    آخرین ویرایش به وسیله کامبیز اسدزاده : سه شنبه 08 بهمن 1392 در 16:15 عصر

  9. #9

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : متغیر ها و اشیاء و معرفی آن ها

    برای شروع برنامه نویسی مهمترین و ابتدائی ترین قسمتی که یک برنامه نویس باید با اون آشنایی کامل داشته باشه متغیر ها و اشیاء و همچنین نحوه تعریف اینهاست ؛ همانطور که مشخص است در برنامه نویسی برای استفاده از حافظه کامپیوتر و ذخیره اطلاعات و مقادیر لازم در آن باید قبل از هرچیزی نوع و نام آن را مشخص نماییم تا بر اساس آن مکانی برای متغیر ما در نظر گرفته شود و در کل مکانی را که برای اطلاعات در آن ذخیره میشود متغیر میگوییم.

    در برنامه نویسی قوانین و اصول خاصی وجود دارد که باید بر اساس آن متغیر را تعریف کرد که متداول ترین نوع تعریف متغیر شیوه انتساب می باشد به صورت زیر :
    یعنی در اینجا type یکی از انواع داده ها در C++‎ است و variable عبارتی است که ما به عنوان نوع تعریف شده در نظر خواهیم گرفت.

    type variable;

    variable = value;



    این شکل در ابتدا بخش expression را ارزیابی نموده و سپس مقدار آن را به variable نسبت می دهد به این معنی که مقدار expression هر چیزی باشد از نوع variable تعیین شده خواهد بود.

  10. #10

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : متغیر ها و اشیاء و معرفی آن ها

    در اینجا بر اساس type برای کامپایلر مشخص می کنیم که نوع آن از چه نوعی خواهد بود و عنوان متغیر چه چیزی خواهد بود ؛ برای مثال در سطر اول متغیر زیر با نام X از نوع int تعریف شده است و در سطر دوم مقدار 65 برای متغیر از نوع صحیح داده شده است که بازه آن بین 32,768- تا 32,767 است.


    int X;
    X = 65;

  11. #11

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : متغیر ها و اشیاء و معرفی آن ها


    زبان برنامه نویسی C++‎‎‎‎‎‎‎ یک زبان قدرتمند از نوع موضوعی یا شیئ گرا است به این صورت که می توان توسط این زبان هر گونه سیستمی را شبیه سازی کرد زیرا شما می توانید با در نظر گرفتن هر قسمت از محصول را در آن تعریف و به صورت انتساب مقادیر و انواع را مشخص کنید.
    حال بررسی خواهیم کرد که چگونه میتوان متغیر را در C++‎‎‎‎‎‎‎ تعریف کنیم.
    در این مثال خواهیم دید که میتوان متغیر را در یک خط از دستور در چندین حالت و عناوین مختلف تعریف کرد ما متغیر های x و y را از نوع int عدد صحیح در نظر میگیریم به صورت زیر :

    int x , y;

    این یعنی بدون دوباره نویسی دستور type (نوع متغیر) می توانیم تعداد دلخواه متغیر را از نوع مورد نظر در نظر بگیریم به طور کلی شکل آن به صورت زیر است :


    type var1, var2, var3, …, varN;
    آخرین ویرایش به وسیله کامبیز اسدزاده : سه شنبه 23 اردیبهشت 1393 در 10:06 صبح

  12. #12

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : متغیر ها و اشیاء و معرفی آن ها

    به طور کلی متغیر ها بعد از نوع خود یعنی (type) قرار میگیرند و با استفاده از جدا کننده کاما (,) از هم جدا می شوند در مثال زیر چندین متغیر در حالت ها مختلف تعریف شده است.


    //Author: Kambiz Asadzadeh

    #include <iostream>

    using namespace std;

    int main()

    {

    int x, y;
    int total;
    x = 128; y = 128;

    total = x + y;

    cout << "Total is:" << total << "\n";

    return 0;

    }




    خروجی برنامه زیر در نهایت به صورت زیر نمایش داده خواهد شد :
    Total is: 256

    همانطور که مشاهده می کنید در سطر 11 و 12 متغیر ها را از نوع صحیح تعریف کردیم و در خط 13 مقداری را برای هر کدام به صورت جدا گانه مشخص نمودیم حال در سطر 15 در متغیر از قبل تعریف شده مجموع مقادیر موجود در x و y را وارد میکنیم و در نهایت با ارسال مقدار به مجرای خروجی آن را نمایش می دهیم.

  13. #13

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : معرفی انواع واژه های کلیدی و شناسه های C++‎‎‎‎‎‎‎

    واژه های کلیدی چیست ؟ واژه کلیدی واژه حفاضت شده نیز نامیده می شود ؛ این واژه ها قبلا توسط زبان برنامه نویسی برای اهداف ویژه و خاصی حفاظت شده اند و برنامه نویس هرگز نمی تواند آنها را به عنوان متغیر یا اهداف دیگری استفاده نمایند.

    همچنین به طور کلی می توان گفت : شناسه رشته ای از کاراکتر های الفبایی , عددی است که با کاراکتر های الفبایی آغاز می شود که تعداد آن ها 53 تا می باشد که یکی از آنها کاراکتر زیر خطی ( _ ) و بقیه آنها حروف الفبا می باشند و کاراکتر های الفبایی عددی افزون بر 53 کاراکتر الفبایی , 10 کاراکتر رقمی (0 , 1 , 2 , … , 9) را نیز دربر دارند. بنابراین main() , int , x , cout و endl و حتی واژه هایی چون Stack , x1,y1 , FirstName و یا the_lord_of_programmers شناسه می باشند همچنین باید توجه کنید در C++‎‎‎ نسبت به حروف کوچک و بزرگ کاملا حساس است و آنها را از هم به صورت جدا تشخیص می دهد بنابر این شناسه memory با شناسه Memory شناسه های متفاوتی هستند.
    همچنین باید توجه داشته باشید شناسه ها برای نام گذاری متغیر ها , توابع , کلاس ها و نام گذاری ساختار بکار می رود و باید توجه داشته باشید شناسه های مانند endl نوعی شناسه ثابت هستند و شناس های int یک نوع واژگان کلیدی در C++‎‎‎ می باشد و درواقع بخشی از خود زبان برنامه نویسی هستند.
    آخرین ویرایش به وسیله کامبیز اسدزاده : یک شنبه 04 خرداد 1393 در 10:25 صبح

  14. #14

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی انواع واژه های کلیدی و شناسه های C++‎‎‎‎

    در برنامه نویسی شکل آن را میتوان گفت از مجموعه ای نشانه ها ساخته شده است برای مثال اسامی متغیر ها , ثوابت , واژه های کلیدی , عملگر ها و علائم نقطه گذاری و ... همگی نشانه هستند.

    برای مثال :


    //Author: Kambiz Asadzadeh
    #include <iostream>

    using namespace std;

    int main()
    {

    int x = 65;

    cout << x << endl;

    return 0;
    }




    در کد نمونه ما 15 نشانه داریم ابتدا سطر اول و دوم که شامل توضیح و پیش پردازنده می باشند و جزئی از کد به حساب نمی آیند ولی main , ) , ( , { , } , int , x , = , 65 , ; , cout , << , endl , return , 0 و { می باشند ؛ که در اینجا نشانه x یک متغیر است نشانه های 65 , 0 و endl ثابت هستند نشانه های int , return عضوی از مجموعه واژه های کلیدی می باشند ؛ نشانه های = و << عملگر هستند و نشانه های ) و ( و {} و ; از علائم نقطه گذاری می باشند.

  15. #15

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی سبک و روش برنامه نویسی در C++‎

    خب یکی از مهمترین موارد که خیلی مشتاقم توضیح درست حسابی در رابطه باهاش بدم همین قسمته که خیلی ها با این قسمت روشن خواهند شد...

    در برنامه نویسی با زبان C++‎ برنامه نویس کاملا آزاد هستش بدین صورت که هیچ ضرورتی در مورد مکان جایگذاری عناصر در یک خط یا صفحه وجود ندارد و برنامه نویس در رابطه با این مورد کاملا آزاد است ولی با این وجود برنامه نویسان خبره میدانند که اعمالی چون نوشتن, اشکال زدایی و پشتیبانی موفق برنامه با بکار گیری پیوسته یک شیوه برنامه نویسی خوانا, بسیار آسانتر می شود.افزون بر اینکه چنانچه برنامه نوشته شده شما با قوانین و شیوه استاندارد برنامه نویسی مطابقت داشته باشد خواندن آن برای دیگر برنامه نویسان و توسعه دهندگان آسانتر خواهد بود زیرا در بعضی از موارد نیاز به توسعه همه جانبه برنامه توسط برنامه نویس اصلی و دیگر توسعه دهندگان وجود دارد که در این حالت منابع را به صورت سورس باز (Open source) به اشتراک می گذارند که در این حالت داشتن یک شیوه هماهنگ بسیار مناسب برای درک کد های نوشته شده می باشد و در سرعت توسعه برنامه تاثیر مفیدی خواهد داشت.


    برخی از قوانینی که اکثر برنامه نویس های C++‎ آنها را رعایت می کنند به صورت زیر است :


    • در ابتدای فایل های خود توضیحاتی را در رابطه با وظیفه فایل در نظر می گیرند.
    • تمام دستورات پیش پردازنده مانند #include را در ابتدای برنامه خود قرار می دهند.
    • هر دستور را در یک خط جدید می نویسند.
    • برای تمامی دستورات یک بلوک تو رفتگی ایجاد می کنند.
    • در دو سوی هر عملگر یک فاصله قرار می دهند مانند : x = 128.
    • توضیحات مربوط به هر تابع یا کلاس را در رابطه با نوع کار آن می نویسند.


    تمامی این قوانین در برنامه های اکثر برنامه نویسان خبره قابل مشاهده است و همچنین این قوانین در همین کتاب رعایت شده است.
    البته شاید این موارد رو در بیشتر زبان های مشابه مثلا PHP که شباهت زیادی به C++‎ داره ببینید ولی توجه کنید که برای هر زبانی مثلا استفاده از علامت های خاتمه دهنده ضرورتی نداره.

    پس به غیر از این قوانین در برنامه نویسی بهتر است قوانین نام گذاری و شیوه نوشتاری را رعایت کنیم به عنوان مثال بهتر است عنوان و نام های متغیر ها را به صورت درست انتخاب کنیم و همچنین آن ها را با اسامی کوتاه در نظر بگیریم تا امکان بروز خطا در هنگام تایپ آن ها به حد اقل برسد.اما در عین حال از اسامی استفاده کنید که بیانگر عملکرد متغیر باشد همچنین این قوانین را نه تنها در متغیر بلکه در نام گذاری توابع, ساختار ها و کلاس های خود رعایت کنید به این سبک نام گذاری و کد نویسی "خود استنادی" / Self-citation می گویند.

  16. #16

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی انواع اعداد صحیح (Integer)

    خب من در نظر دارم در یک مثال بازه انواع داده هارو چاپ کنم به صورت زیر...
    از دستور پیش پردازنده زیر کمک میگیرم..


    #include <limits>



    //Author: Kambiz Asadzadeh


    #include <iostream>
    #include <cstdint>
    #include <limits>


    using namespace std;


    int main()


    {


    cout << "Minimum char = " << CHAR_MIN << endl;
    cout << "Maximum char = " << CHAR_MAX << endl;
    cout << "Minimum short = " << SHRT_MIN << endl;
    cout << "Maximum short = " << SHRT_MAX << endl;
    cout << "Minimum int = " << INT_MIN << endl;
    cout << "Maximum int = " << INT_MAX << endl;
    cout << "Minimum long = " << LONG_MIN << endl;
    cout << "Maximum long = " << LONG_MAX << endl;
    cout << "Minimum signed char = " << SCHAR_MIN << endl;
    cout << "Maximum signed char = " << SCHAR_MAX << endl;
    cout << "Minimum unsigned char = " << UCHAR_MAX << endl;
    cout << "Maximum unsigned short = " << USHRT_MAX << endl;
    cout << "Minimum unsigned = " << UINT_MAX << endl;
    cout << "Maximum unsigned long = " << ULONG_MAX << endl;


    return 0;


    }




    نتیجه در خروجی به صورت زیر خواهد بود :
    البته چون من از سیستم ویندوز استفاده کردم خروجی فرق میکنه.



    Minimum char = -128
    Maximum char = 127
    Minimum short = -32768
    Maximum short = 32767
    Minimum int = -214748364
    Maximum int = 2147483647
    Minimum long = -214748364
    Maximum long = 2147483647
    Minimum signed char = -128
    Maximum signed char = 127
    Minimum unsigned char = 255
    Maximum unsigned short = 65535
    Minimum unsigned = 4294967295
    Maximum unsigned long = 4294967295


    خب اینم ویرایشش که روی سیستم لینوکس خروجیشو گرفتم :


    Minimum char = -128
    Maximum char = 127
    Minimum short = -32768
    Maximum short = 32767
    Minimum int = -2147483648
    Maximum int = 2147483647
    Minimum long = -9223372036854775808
    Maximum long = 9223372036854775807
    Minimum signed char = -128
    Maximum signed char = 127
    Minimum unsigned char = 255
    Maximum unsigned short = 65535
    Minimum unsigned = 4294967295
    Maximum unsigned long = 18446744073709551615



    اگه دقت کنید متفاوت هست بازه ای که روی سیستم های لینوکس و ویندوز در نظر گرفته میشه.
    آخرین ویرایش به وسیله کامبیز اسدزاده : شنبه 03 خرداد 1393 در 22:16 عصر

  17. #17

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل اول : معرفی عملگر ها

    عملگر ها نماد هایی هستند که بر روی یک یا چند عبارت عمل می کنند و مقدار حاصل آن را می توان به یک متغیر نسبت داد. که تاحالا با عملگر های خروجی << و عملگر های انتساب آشنا شدیم.
    برخی از ساده ترین عملگر ها مانند + , - , * , / و % عملگر هایی هستند که عملیات حسابی را انجام می دهند.
    این عملگر های بر روی انواع integer ها عمل کرده و یک نوع integer دیگر را بوجود می آورد مانند : x + y مجموع x و y همچنین x – y تفاضل x و y , x * y حاصلضرب x در y , x/y خارج قسمت تقسیم صحیح x بر y و x%y باقیمانده تقسیم صحیح x بر y را تولید میکنند ؛ در جدول زیر فهرست تمامی عملگر ها در C++‎‎‎‎‎‎‎‎‎‎‎‎ را که بر اساس تقدم گروه بندی شده اند مشاهده می کنیم.


    و ادامه لیست...


    و یک نکته مهم که عملگر های دارای حق تقدم بالاتر پیش از عملگر های دارای تقدم پایینتر ارزیابی می شوند.



    • نکته : لیست همه عملگر ها بر اساس حق تقدم گروه بندی شده است. مثال : (x - y*z) در اینجا عملگر * ضرب در ابتدا و عملگر - منها بعد از آن ارزیابی خواهد گردید که طبق این جدول حق تقدم * برابر است با 13 و حق تقدم - برابر است با 12
    • ستون شرکت پذیری مشخصه این هستش که هر عملگر دارای شرکت پذیری چپ یا شرکت پذیری راست است. مثال : عبارت (x-y-z) به صورت (x-y)-z)) ارزیابی خواهد شد به دلیلی اینکه عملگر - شرکت پذیری چپ میباشد.
    • ستون عملوند : مشخص میکند که عملگر بر روی یک یا دو یا سه عملوند عمل میکند یعنی همان حالت یکتایی , تو تایی , سه تاییی.
    • ستون اضافه بار : نشان دهنده این است که عملگر قابلیت بارگذاری اضافی را دارد یا خیر.
    آخرین ویرایش به وسیله کامبیز اسدزاده : دوشنبه 05 خرداد 1393 در 19:45 عصر دلیل: به روز رسانی : توضیحات در رابطه با ستون ها

  18. #18

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی عملگر های افزایشی و کاهشی

    یکی از مفیدترین عملگر ها در C++‎‎‎‎ عملگر های افزایشی و کاهشی هستش که این عملگر ها یک عملگر را به عبارت دستوری تبدیل می کند عبارتی که اختصار شکل خاصی از عمل انتساب هستش.

    به مثال زیر توجه کنید :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {


    int x = 128, y = 64;


    cout << "X = " << x << endl;
    cout << "Y = " << y << endl;


    ++x;
    --y;


    cout << "X = " << x << endl;
    cout << "Y = " << y << endl;


    x++;
    y--;


    cout << "X = " << x << endl;
    cout << "Y = " << y << endl;


    return 0;


    }





    در اینجا هر دو عملگر پیش افزایشی ++x و پس افزایشی x++ نتیجه یکسانی دارن آن ها عدد 1 را به مقدار x افزوده و به همین ترتیب دو عملگر پیش کاهش --y و پس کاهش y-- نیز در اینجا به یک روش عمل می کنند آنها عدد 1 را از y می کاهند.
    حال هنگامی که ++x و x++ به عنوان دستورهای عبارتی مستقل به کار برده می شود هر دو هم ارز هستند یعنی مقدار x را یک واحد افزایش می دهند همچنین به طور مشابه دستور های عبارتی --yو y--نیز هم ارز هستند یعنی مقدار y را یک واحد کاهش می دهند.

    فرق بین عملگر پیش افزایش ++x و پس افزایش x++ در داخل عبارت متفاوت است به صورت زیر :

    پیش افزایش در ابتدا مقدار متغیر را افزایش می دهد پیش از آنکه متغیر در عبارت بزرگتر بکار رود در حالی که پس افزایش مقدار متغیر را تنها پس از بکار گیری مقدار پیشین متغیر در عبارت بزرگتر افزایش می دهد.

  19. #19

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی عملگر های افزایشی و کاهشی

    عملگر های افزایشی و کاهشی انواع معینی از انتساب ها را کوتاه میکند و در C++‎ امکان ترکیب انتساب و سایر عملگر ها وجود دارد که دستور کلی این نوع انتساب ها به صورت زیر میباشد :

    variable op = expression

    در عبارت فوق op یک عملگر دوتایی می باشدکه نتیجه انتساب مرکب و انتساب زیر یکی می باشد.

    variable = variable op expression

    برای مثال انتساب مرکب به صورت زیر است :


    x += 16;


    و اینهم مثال ساده از انتساب :


    x = x + 16;


    که در هر دو روش انتساب مقدار 16 به متغیر اضافه می شود.

    یک مثال جامع به صورت زیر میزنم :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {


    int x = 128;


    x += 16;


    cout << "X = " << x << endl;


    x -= 5;


    cout << "X = " << x << endl;


    x *= 2;


    cout << "X = " << x << endl;




    return 0;


    }





    در این مثال دستور العمل x+=16 مقدار 16 را به x می افزاید , دستور x -=5 مقدار 5 واحد را از x می کاهد و دستور x *=2 مقدار x را به 2 ضرب می کند. نتیجه در خروجی به صورت زیر خواهد بود :

    X = 144
    X = 139
    X = 278

  20. #20

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی انواع حالت های سرریز و پا ریز شدن در اعداد صحیح


    این بحث یکی از بحث هایی هستش که من دوست دارم یکمی مفصل در رابطه با این توضیحات رو بدم چون در بسیاری از مواقع این اتفاق خواهد افتاد که به صورت کلی باید بگم که برخلاف اعداد صحیح (integer) در ریاضیات محض , اشیاء integer موجود در کامپیوتر , محدود هستند زیرا هر نوع integer یک مقدار پیشینه (Maximum) و یک مقدار کمینه (Minimum) دارد. اگر مقدار یک متغیر از محدوده ی مجاز آن فراتر رود حالت سر ریز بوجود می آید.

    یه مثالی به صورت زیر در نظر میگیرم...


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {


    short x = SHRT_MAX - 1;


    cout << "X ++ = " << x++ << endl;
    cout << "X ++ = " << x++ << endl;
    cout << "X ++ = " << x++ << endl;


    return 0;


    }




    در این مثال شیء (x) ما از نوع short در نظر گرفته شده که با افزودن عدد 1 به 32766 مقدار آن به 32766- تغییر می کند که این یک اشتباه است ! این یک نوع شیوه رفتار کامپیوتر در مقابله با این نوع سر ریز یا همان Overflow می باشد مقدار به صورت چرخه در نظر گرفته می شود و در نتیجه پس از بیشترین مقداری که می اید کمترین مقدار است. این نوع خطا در کامپیوتر در نوع خود یکی از بدترین خطاها محسوب می شود زیرا هنگام وقوع آن هیچ نشانه ظاهری وجود ندارد پس در نتیجه خروجی به صورت زیر می باشد :

    X ++ = 32766
    X ++ = 32767
    X ++ = -32768

    به طور کلی سرریز (Overflow) شدن یکی از انواع خطاهای زمان اجرا می باشد همچنین نمونه دیگر این خطاها تقسیم بر صفر است که مشکل آنچنان بزرگی محسوب نمی شود زیرا هنگام وقوع برنامه از کار می افتد و به این ترتیب برنامه نویسان از وجود آن آگاه می شوند ولی در رابطه با سرریز عددی چنین نیست سرریز عددی در نوع خود یکی از خطرناک ترین خطاهاست که همانند خونریزی داخلی بشمار می اید و نشانه ظاهری ندارد پس برای جلوگیری از این موارد C++‎ می تواند با این مسائل برخورد کند که مثال زده خواهد شد.

  21. #21

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی نوع char یا همان کاراکتر

    خب در رابطه با نوع کاراکتر به مثال زیر توجه کنید : خروجی به صورت (@ , A , B , ` , a , b) خواهد بود.


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    char c = 64;


    cout << "C++‎ = " << C++‎ << endl;
    cout << "C++‎ = " << C++‎ << endl;
    cout << "C++‎ = " << C++‎ << endl;


    c = 96;


    cout << "C++‎ = " << C++‎ << endl;
    cout << "C++‎ = " << C++‎ << endl;
    cout << "C++‎ = " << C++‎ << endl;


    return 0;
    }




    در این کد ابتدا دستور خروجی متغیر کاراکتری c را در رشته خروجی درج می کند. از آنجایی که این متغیر مقدار صحیح 64 را داراست بنابراین به صورت "@" خارج خواهد شد یعنی کد اسکی نماد "@" 64 است سپس مقدار c یک واحد افزایش پیدا میکند و خروجی A می شود و این ترتیب تا آخر افزایش و کاراکتر های مربوط به کد اسکی چاپ می شوند.

    خروجی گرفته شده به صورت زیر خواهد بود :



    C++‎ = @
    C++‎ = A
    C++‎ = B
    C++‎ = `
    C++‎ = a
    C++‎ = b

  22. #22

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی نوع char یا همان کاراکتر

    مثالی از کد اسکی بزنم که قصدم نمایش کد هر یک از حروف اسکی هستش به صورت زیر کد رو مینویسم...


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {


    char A = 'A'; char B = 'B'; char C = 'C'; char D = 'D'; char E = 'E';
    char F = 'F'; char G = 'G'; char H = 'H'; char I = 'I'; char J = 'J';
    char K = 'K'; char L = 'L'; char M = 'M'; char N = 'N'; char O = 'O';
    char P = 'P'; char Q = 'Q'; char R = 'R'; char S = 'S'; char T = 'T';
    char U = 'U'; char V = 'V'; char W = 'W'; char X = 'X'; char Y = 'Y';
    char Z = 'Z';


    cout << "ASCII Code A = " << int(A) << endl;
    cout << "ASCII Code B = " << int(B) << endl;
    cout << "ASCII Code C = " << int(C) << endl;
    cout << "ASCII Code D = " << int(D) << endl;
    cout << "ASCII Code E = " << int(E) << endl;
    cout << "ASCII Code F = " << int(F) << endl;
    cout << "ASCII Code G = " << int(G) << endl;
    cout << "ASCII Code H = " << int(H) << endl;
    cout << "ASCII Code I = " << int(I) << endl;
    cout << "ASCII Code J = " << int(J) << endl;
    cout << "ASCII Code K = " << int(K) << endl;
    cout << "ASCII Code L = " << int(L) << endl;
    cout << "ASCII Code M = " << int(M) << endl;
    cout << "ASCII Code N = " << int(N) << endl;
    cout << "ASCII Code O = " << int(O) << endl;
    cout << "ASCII Code U = " << int(U) << endl;
    cout << "ASCII Code V = " << int(V) << endl;
    cout << "ASCII Code W = " << int(W) << endl;
    cout << "ASCII Code X = " << int(X) << endl;
    cout << "ASCII Code Y = " << int(Y) << endl;
    cout << "ASCII Code Z = " << int(Z) << endl;


    return 0;


    }




    در اینجا بر اساس انواع متغیر ها که برای هر یک از کاراکتر های A تا Z تعریف شده برنامه مقادیر هر یک از آن ها را به دست می آورد اما از آنجایی که متغیر های کاراکتری چاپ می شوند نخستین موردی که در هر سطر چاپ می شود کاراکتریست که کد اَسکی آن ها را در متغیر ها ذخیره شده است. حال برای چاپ کردن عدد یا همان کد اسکی با استفاده از int(…) این کار صورت میگیرد.

    و خروجی به صورت زیر خواهد بود :


    ASCII Code A = 65
    ASCII Code B = 66
    ASCII Code C = 67
    ASCII Code D = 68
    ASCII Code E = 69
    ASCII Code F = 70
    ASCII Code G = 71
    ASCII Code H = 72
    ASCII Code I = 73
    ASCII Code J = 74
    ASCII Code K = 75
    ASCII Code L = 76
    ASCII Code M = 77
    ASCII Code N = 78
    ASCII Code O = 79
    ASCII Code U = 85
    ASCII Code V = 86
    ASCII Code W = 87
    ASCII Code X = 88
    ASCII Code Y = 89
    ASCII Code Z = 90



    و اما پایان فصل دوم... امیدوارم مفید واقع شده باشه.
    آخرین ویرایش به وسیله کامبیز اسدزاده : سه شنبه 06 خرداد 1393 در 19:13 عصر

  23. #23

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل اول : معرفی نوع char یا همان کاراکتر

    نوع کاراکتری char در C++‎ یکی از انواع integer است بدین معناست که در کلیه عبارات integer میتوان از نوع char همانند سایر انواع صحیح استفاده کرد مانند مثال زیر :


    char x = 64;
    char y = 4 * x - 5;
    x += y % 3;


    واژه char کوتاه شده واژه کاراکتر (character) است. از آنجایی که متغیر های این نوع در ورودی و خروجی به عنوان کاراکتر شناخته می شوند از این واژه استفاده می شود لذا اگر کاراکتری ورودی باشد سیستم خود به خود کد اَسکی آن را به عنوان مقدار نوع صحیح char ذخیره می کند و چنانچه متغیری از نوع char یک خروجی باشد سیستم کاراکتر را خود به خود به مجرای خروجی می فرستد.


    به طور کلی در C++‎ سه نوع integer هشت بیتی تعریف شده است char,signed char , unsigned char اما در واقع این سه نوع دو نوع مجزا هستند که نوع char بسته به کامپیوتر signed char , unsigned char است که در کل برای کاراکتر های معمولی از نوع char استفاده می کنند و نوع unsigned char برای رشته های بیتی بسیار کوتاه می باشد. و نوع signed char استفاده چندانی ندارد تنها زمانی میتوان مناسب برای استفاده باید که نیاز به ذخیره کمیت بزرگی از اعداد صحیح بسیار کوتاه به وسیله عملگر خروجی استاندادر << داشته باشیم در این صورت این نوع یعنی (signed char) انتخاب مناسبی خواهد بود.

  24. #24

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    فصل دوم (دستورات شرطی و انواع اعداد صحیح)


    خب بریم سراغ بخش دوم... تمامی مباحث و کد هار نوشته شده در فصل (1) به صورت ترتیبی اجرا می شوند به طوری که هر دستورالعمل یک بار و آن هم به ترتیب نوشته شده اجرا می شود؛ حال برای انعطاف پذیری بیشتر در برنامه ما نیاز به دستورات شرطی داریم به گونه ای که برنامه برای انعطاف پذیر شدن نیاز به چندین دستور پیچیده بر اساس شرایط مورد نیاز در طول برنامه تغییر نماید داریم لذا در این فصل شیوه استفاده از دستورات شرطی if , if…else , switch را خواهیم آموخت.

    ورودی در زبان C++‎ و قابلیت مقایسه آن با خروجی : در رابطه با ورودی همانند خروجی و مجرای خروجی در C++‎ که توسط شیء cout توضیح داده شد در این بخش در رابطه با مجرای ورودی با شیء cin توضیح خواهیم داد که این شیء به عنوان مجرای ورودی برای دریافت اطلاعات در رابط کنسول در نظر گرفته می شود که مخفف console output است.

    برای استفاده و انتقال اطلاعات به ورودی و ارسال توسط شیء cin تقریبا شبیه به عملیات با cout عمل خواهیم کرد که در این میان نماد >> عملگر استخراج است که عملگر ورودی نامیده می شود با استفاده از این عملگر اطلاعات وارد شده توسط صفحه کلید از طرف کاربر را می توان برای مجرای cin دریافت کرد بنابراین با اجرای دستوری مانند دستور زیر سیستم توقف کرده و در انتظار ورودی باقی می ماند به محض آنکه عدد صحیحیوارد شود به متغیر x منسوب داده می شود و سپس برنامه ادامه می یابد.


    cin >> x;





    در رابطه با شیء ورودی می توان همانند شیء خروجی cout از نوع کاراکتر و صحیح استفاده کرد به صورت زیر :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    char name[10], family[10];


    cout << "Please enter your name:";


    cin >> name;


    cout << "Please enter your family:";


    cin >> family;


    cout << "Your name is: " << name << ", " << family << ".\n";


    return 0;


    }




    در دستور بالا دو نوع کاراکتری برای نام و نام خانوادگی با طول کاراکتر حداکثر 10 تعریف شده است که در ابتدای هر کدام توسط شیء cout متن مورد نظر یا همان پیغام های مربوطه برای کاربر چاپ می شود و سپس توسط شیء cin با عملگر ورودی >> مقدار متغیر های مربوط به هر کدام به مجرای ورودی ارسال می شود و در نهایت با دستور cout چاپ مقادیر موجود در هر کدام میسر خواهد شد که نتیجه با ورود اطلاعات کاربر به صورت زیر خواهد آمد :



    Please enter your name: Kambiz
    Please enter your family: Asadzadeh
    Your name is: Kambiz, Asadzadeh


  25. #25

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : دستورات شرطی و انواع اعداد صحیح

    ساختار دستورات شرطی چگونه است؟ در C++‎ برای بررسی انواع شرط ها و مقایس های محاسباتی بر اساس احتمالات و شرایط دیگر توسط دستورات شرطی صورت میگیرد به طوری که در این زبان برنامه نویس قادر است در ابتدا یا در داخل بدنه و یا در خروجی برنامه شرایط لازم برای مقایسه را طبق خواسته خودبکار بگیرد برای این منظور هرچقدر برنامه از پیچیدگی بیشتری برخوردار باشد در آن برنامه دستورات شرطی بسیار است که احتمالا در توابع و کلاس های برنامه دستورات متفاوتی را برای مقایس و بررسی شرایط استفاده کرده اند.

    حال در این زبان هر دستوری که به صورت شرطی نوشته شود طی کامپایل دستورات هر لحظه ای که کامپایلر به دستور شرطی برسد آن را بر اساس نوع شرط و دستورات داخلی آن بررسی خواهد کرد که در نهایت دارای یک خروجی برای ارسال به مجرا و یا حافظه خواهد داشت. دستورات شرطی معمولا دارای خروجی هستند که بر اساس بررسی انجام شده در کد نتیجه ای را بازگشت میدهد برای مثال اگر ما مثالی بزنیم که اگر ارزش متغیر x برابر باشد با ارزش متغیر y آنگاه نتیجه بازگشتی مورد نظر را نمایش خواهد داد در این صورت دستور شرطی بعد از مقایسه مقادیر هر دو متغیر بعد از خود مقدار یا تابع یا هر چیز دیگری را میتواند اجرا کند که آن بستگی به خواسته برنامه نویس بعد از بررسی آن شرط می باشد.

    نکته : همیشه دستورات شرطی به عنوان بازگشت دهنده بعد از یک بررسی بکار می روند ولی باید توجه کرد که گاهأ از دستورات شرطی برای برگشت به نقطه ای استفاده می شود برای مثال اگر در بین دستورات نیاز باشد در صورت برابر نبودن مقدار یا نتیجه خاصی همان لحظه به بررسی مجدد شرط با ورودی جدیدی نیاز باشد در این حالت دستور شرطی می تواند بعد از بررسی شرط اشاره ای به یک نقطه از کد داشته باشد که آن می تواند طبق خواسته برنامه نویس یک تابع یا هر چیز دیگری باشد.

  26. #26

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : انواع صحیح

    در مواقعی لازم است از انواع صحیح استفاده شود همانند انواع کاراکتری به صورت زیر :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    int x, y;


    cout << "Please enter your integers:\n";


    cin >> x;
    cin >> y;


    cout << "Your integers: " << x << ", " << y << ".\n";


    return 0;


    }




    خروجی به صورت زیر خواهد بود...


    Please enter your integer’s پیغام برای ورودی / :
    ورودی مقدار اول / 256
    ورودی مقدار دوم / 128
    Your integers : 256, 128 خروجی / .



  27. #27

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : دستور شرطی if

    دستور شرطی (اگر/ if) چیست و چگونه عمل می کند؟ دستور if , امکان اجرای شرط را فراهم می سازد که ترکیب نحوی آن به شکل زیر است :



    اگر (عبارت مقایسه ای) عبارت اجرایی

    if(condition)statement



    در شکل بالا condition به عنوان یک عبارتیست که برای مقایسه و بررسی در نظر گرفته می شود و در بین دو پرانتز قرار می گیرد و statement یک عبارتی است که برای اجرا در نظر گرفته شده است , تنها در صورتی statement اجرا خواهد شد که ارزش condition غیر صفر باشد زیرا در این نوع ساختار هرگاه مقدار غیرصفر باشد به معنی (درست) و صفر به معنی (نادرست) می باشد.

    خب به مثال شرطی زیر توجه کنید :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    int x, y;
    x = 64;
    y = 128;


    if (x < y)
    cout << "X is smaller than y. \n" << endl;


    return 0;
    }





    در این دستور مقدار (ارزش) موجود در دو متغیر x و y توسط دستور if بررسی شده است که با عملگر < کوچکتر از مقایسه بین دو متغیر را انجام داده ایم حال با اجرای دستور بالا مقدار 64 موجود در متغیر x با مقدار 128 موجود در متغیر y بررسی و در صورت کوچکتر بودن مقدار x از y پیغام "X is smaller than y." نمایش داده می شود.

    در این شکل از دستور یک یک مشکلی وجود دارد , مشکل این است که اگر مقدار x کوچکتر از y نباشد هیچ عملی را انجام نخواهد داد در واقع برای رفع این مشکل ما نیاز به دستور دیگری برای استفاده در هنگام صفر بودن شرط داریم که آن else است.

  28. #28

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : دستور شرطی if ...else

    این دستور یکی از دو دستورالعمل موجود را اجرا می کند و این بستگی به مقدار ارزش شرط معین شده دارد که به صورت زیر آمده است:

    اگر (عبارت مقایسه ای) عبارت اجرایی1
    عبارت اجرایی 2
    و اگرنا


    if (condition) statement1
    else statement2

    در شکل بالا condition به عنوان یک عبارتیست که برای مقایسه و بررسی در نظر گرفته می شود و در بین دو پرانتز قرار می گیرد و statement1 و statement2 عبارت هایی هستند که در صورت صفر بودن عبارت statement2 و در صورت غیر صفر بودن عبارت statement1 که برای اجرا در نظر گرفته شده است.

    به مثال زیر توجه کنید :


    if (x < y)
    cout << "X is smaller than y. \n" << endl;
    else
    cout << "Y is smaller than x. \n" << endl;






    در این مثال در صورتی که مقدار x کوچکتر از مقدار y باشد پیغام اول و در صورت کوچکتر نبودن آن پیغام دوم نمایش داده می شود.

  29. #29

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل دوم : معرفی عملگر های رابطه ای

    خب در رابطه با عملگر های رابطه ای باید گفت که به طور کلی عملگر های رابطه ای عملگر هایی هستند که وضعیت عبارت دو طرف یک رابطه را ارزیابی می کنند برای مثال رابطه 65 < 128 نادرست است که در اینجا عملگر کوچکتر است از ( < ) یک عملگر رابطه ای می باشد زیرا پس از ترکیب با عبارت مقداری را تولید می کند. برای مثال , وقتی علامت < با 128 و 64 ترکیب می شود به صورت 64 < 128 مقدار صحیح صفر (0) را بوجود می آورد که به معنای "نادرست" است.

    همانطور که قبلا در فصل (1) اشاره شد شش عملگر رابطه ای به صورت زیر وجود دارد :


    در برنامه نویسی زبان C++‎ برای ارزیابی تساوی عبارات باید از نماد تساوی مضاعف ( == ) استفاده شود یعنی از نوع عملوند های دوتایی که در جدول هم اشاره شده است چرا که معمولا برنامه نویسان مبتدی مرتکب آن می شوند در دستورات شرطی برای مقایسه دو عبارات از تساوی تک ( = ) استفاده می کنند. به مثال زیر توجه نمایید :



    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {


    int x, y;
    x = 128;
    y = 128;


    if (x == y)
    cout << "True" << endl;
    else
    cout << "False" << endl;


    return 0;


    }






    در این مثال دو متغیر x و y با ارزش یکسان یعنی مقدار 128 با عملگر تساوی مضاعف در دستور شرطی ارزیابی می شوند و به دلیل برابر بودن ارزش هر دو متغیر نتیجه در خروجی چاپ پیغام True خواهد بود.

  30. #30

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل دوم : معرفی رشته ای از دستورات مرکب

    به طور کلی دستور مرکب رشته ای از دستورات می باشد که به صورت یک دستور واحد عمل می کند که زبان C++‎‎‎‎ برای ارائه یک دستور مرکب , رشته دستورات را بین یک جفت آکولاد { باز و بسته} قرار می دهد.

    به دستوراتی که بین آکولاد قرار می گیرند یک "بلوک" گفته می شود. از آنجا که دستور مرکب خود یک دستور واحد محسوب می شود می توان آن را در تمام مواردی که دستور تک بکار می رود , مورد استفاده قرار داد.به طور کلی دستور مرکب رشته ای از دستورات می باشد که به صورت یک دستور واحد عمل می کند که زبان C++‎‎‎‎ برای ارائه یک دستور مرکب , رشته دستورات را بین یک جفت آکولاد { باز و بسته} قرار می دهد.

    به دستوراتی که بین آکولاد قرار می گیرند یک "بلوک" گفته می شود. از آنجا که دستور مرکب خود یک دستور واحد محسوب می شود می توان آن را در تمام مواردی که دستور تک بکار می رود , مورد استفاده قرار داد.


    به مثال زیر توجه کنید :




    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {


    int x, y;
    x = 8;
    y = 16;


    if (x < y)
    {
    x = x + y;
    cout << x << endl;
    }


    return 0;


    }




    در این مثال مقدار متغیر x برابر 8 و مقدار متغیر y برابر 16 می باشد حال در بخش دستور شرطی با ارزیابی اینکه اگر ارزش x کوچکتر از y باشد آنگاه وارد بلوک شرط موجود شود و در این قسمت مقدار x را برابر مقدار اولیه x به علاوه مقدار اولیه y قرار دهد و سپس مقدار نهایی x را نمایش دهند که خروجی آن برابر با 24 خواهد بود یعنی مقدار اولیه x که 8 است و مقدار اولیه y که 16 است را جمع زده و در نهایت مقدار 24 دوباره در متغیر x قرار میگیرد و سپس چاپ می شود.

  31. #31

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : معرفی رشته ای از دستورات مرکب

    حال یک مشکل در این نوع شکل دستوری شرطی وجود دارد در این کد اگر مقدار x کوچکتر از y نباشد هیچ عملی صورت نخواهد گرفت برای رفع این مشکل در ساده ترین شکل می تواند خارج از بلوک موجود در دستور شرطی دستور دیگری را نوشت به صورت زیر :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    int x, y;
    x = 8;
    y = 16;


    if (x < y)
    {
    x = x + y;
    cout << x << endl;
    }


    cout << "False" << endl;


    return 0;
    }




    و یا به صورت زیر می توان در بلوک جدیدی یک دستور جدید برای صفر بودن مقدار باز گشتی قرار داد به صورت زیر :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    int x, y;
    x = 8;
    y = 16;


    if (x < y)
    {
    x = x + y;
    cout << x << endl;
    }
    else
    {
    cout << "False" << endl;
    }


    return 0;
    }



  32. #32

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل دوم : معرفی شرایط مرکب خاص

    در C++‎ شرایط نظیر n % d و شرایط x > y را ترکیب کرد تا شرایط مرکب حاصل شوند؛ عملگر های منطقی که برای این منظور مورد استفاده قرار می گیرند عبارتند از : && ( و / and ) , || (یا / or) و ! (نقیص / not) که تعریف عملگر های یاد شده به صورت زیر است :

    عملگر && p && q برابر 1 است , اگر و تنها اگر p و q 1 باشند.
    عملگر || p || q برابر 1 است , اگر p یا q یا هردو برابر 1 باشند.
    عملگر ! !p اگر p برابر نباشد و p برابر 0 (صفر) باشد.

    به عنوان مثال (n % d || x > y) درست خواهد بود , اگر n % d غیر صفر یا x بزرگتر از y باشد یا هر دو مورد (x > y)! نیز هم ارز x<=y است.

    تعاریف سه عملگر منطقی , معمولا به صورت جداول درستی زیر ارائه می شود :
    طبق این جدول می توان دریافت که اگر ارزش p , 1 باشد "درست" و ارزش q , 0 باشد "نادرست" باشد آنگاه ارزش عبارات p && q و p || q به ترتیب 0 و 1 خواهد بود.

  33. #33

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل دوم : معرفی شرایط مرکب خاص

    مثال کاراکتری (در این مثال کاربر می تواند در باره کلمه “Yes” حرف y یا Y را وارد نماید) به صورت زیر :


    //Author: Kambiz Asadzadeh

    #include <iostream>

    using namespace std;

    int main()

    {

    char answer;

    cout << "Do you have C++‎‎‎‎ 11 Book?" << endl;

    cin >> answer;

    if (answer == 'Y' || answer == 'y' ) cout << "Yes" << endl;
    else cout << "No" << endl;

    return 0;

    }
    آخرین ویرایش به وسیله کامبیز اسدزاده : یک شنبه 13 اسفند 1396 در 14:48 عصر

  34. #34

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : معرفی شرایط مرکب خاص

    بنابر این به مثال هایی در رابطه با این مورد توجه نمایید ؛ در مثال های زیر ما سعی داریم با استفاده از شرایط مرکب برنامه خود را بنویسیم.

    در مثال زیر از شرایط مرکب برای یافتن ماکزیمم سه عدد صحیح استفاده می شود:


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {


    cout << "Please enter integers:" << endl;


    int x, y, z;


    cin >> x >> y >> z;


    cout << "X = " << x << " Y = " << y << " Z = " << z << endl;


    if (x >= y && x >= z) cout << "Result : X" << endl;
    if (y >= x && x >= z) cout << "Result : Y" << endl;
    if (z >= x && x >= y) cout << "Result : Z" << endl;


    return 0;


    }





    در این مثال در ابتدا توسط شیء cout پیغامی را برای کاربر به عنوان لطفا مقادیر صحیح را وارد کنید داده می شود و سپس 3 متغیر از نوع صحیح به نام های x , y , z تعریف شده است که در خط بعدی با استفاده از شیء cin و عملگر ورودی >> یک به یک مقادیر وارد شده توسط کاربر دریافت می شود و سپس بعد از نمایش مقادیر وارد شده توسط شرایط مرکب ارزش آن ها بررسی و در نهایت بزرگترین ورودی چاپ می شود به صورت زیر:

    1. Please enter integers: / پیغام برای کاربر به عنوان لطفا مقادیر صحیح را وارد کنید
    2. مقدار اول / 128
    3. مقدار دوم / 256
    4. مقدار سوم / 512
    5. X = 128 Y = 256 Z = 512 پیش نمایش مقادیر /
    6. Result = X / بزرگترین ورودی

  35. #35

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل دوم : معرفی دستورات شرطی تو در تو

    دستورات شرطی تو در تو همانند دستورات شرطی مرکب می توان مورد استفاده قرار داد با این تفاوت که در این نوع شرط در بخش های پیچیده از برنامه می توان بهتر و سفارشی تر به نتیجه رسید بنابراین یک دستور شرطی در این حالت می تواند در داخل دستور شرطی دیگری نیر قرار بگیرید این نوع دستورات را دستورات شرطی تو در تو می نامند.

    به مثال زیر توجه کنید : در این مثال ماکزیمم سه عدد صحیح را به روش شرط تو در تو نوشته ایم.


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    int x, y, z, max;


    cin >> x >> y >> z;


    if (x > y)
    if (x > z) max = x;
    else max = z;
    else
    if (y > z) max = y;
    else max = z;
    cout << "The maximum is :" << max << endl;


    return 0;


    }




    خروجی به صورت زیر خواهد بود :

    1. 128
    2. 16
    3. 768
    4. The maximum is :768

    توجه داشته باشید که شرایط تو در تو از پیچیدگی های بسیار زیادی می توانند برخوردار باشند بنابر این معمولا بهتر است تا حد امکان از آن ها پرهیز شود ؛ استثنای این قانون شکل خاص شرطهای تو در تو است که در آن به دنبال تمامی else ها بجز مورد آخر , if دیگری قرار می گیرد این ساختار منطقی مشهوری است زیرا با روش ساده ای رشته موارد تصمیم گیری را طرح می کند در مثال بعدی مشاهده خواهیم کرد که برای منطقی تر کردن روش شرایط تو در تو از if else های پی در پی می توان استفاده کرد.

  36. #36

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل دوم : معرفی دستور switch

    دستور سوئیچ همانند دستور if قابلیت شرط گذاری چند گانه را با تفاوت ساختار بهتر را دارد در این رابطه نحوه ترکیب کلی این دستور به صورت زیر می باشد :


    switch (expression) {
    case constant1: statementList1;
    case constant2: statementList2;
    :
    :
    case constantN: statementListN;
    default: statementList;



    در این روش switch ابتدا expression را ارزیابی می کند و مقدار حاصل را در بین ثوابت case جستجو می کند و در صورت پیدا شدن مورد جستجو شده در constant ها دستورالعمل های موجود در آن statementList اجرا می شوند. در غیر اینصورت اگر default وجود داشته باشدکه این مورد (اختیاری است) آنگاه برنامه به آن statementList منشعب می شود.

    توجه : نتیجه سنجش expression مقداری از نوع integer و constant ها , ثوابت integer (مانند char) باشند.

    درمثال زیر توسط این دستور شرطی یک شرط برای مقایسه رنک یا همان امتیاز در نظر گرفته ایم :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;
    int main()


    {
    char Rank;
    cout << "Enter your rank:"; cin >> Rank;
    switch (Rank)
    {
    case 'a': case 'A':
    cout << "Excellent !";
    break;
    case 'b': case 'B':
    cout << "Very Good !";
    break;
    case 'c': case 'C':
    cout << "Good !";
    break;
    case 'd': case 'D':
    cout << "Not bad !";
    break;
    default: break;
    }
    return 0;
    }



    در این روش ابتدا نوع کاراکتری را با نام Rank در نظر گرفته ایم و سپس با استفاده از دستور شرطی switch مقدار ورودی را وارد مقایسه می کنیم که در این بخش توسط دستور case مقدار ورودی با مقادیر موجود در هر یک از case ها مقایسه می شود و سپس در صورت صحیح و برابر بودن مقدار ورودی با مقدار موجود در دستور case مرحله بعدی داخل case مورد نظر اجرا می شود که میتوان دستوری مانند چاپ و یا هر چیز دیگری باشد.

  37. #37

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : معرفی دستورات شرطی تو در تو

    در این مثال یک نمره را به رتبه حرفی هم ارز آن تبدیل می کنیم به صورت زیر از شرط تو در تو در آن استفاده می شود :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main()


    {
    int score;


    cout << "Please enter the test score: \n" << endl;


    cin >> score;


    if (score > 100) cout << "Error: score is out of range.";


    else if (score >= 90) cout << 'A';
    else if (score >= 80) cout << 'B';
    else if (score >= 70) cout << 'C';
    else if (score >= 60) cout << 'D';
    else if (score >= 0) cout << 'F';


    else cout << "Error: score is out of range." << endl;


    return 0;


    }




    نتیجه در صورت وارد کردن مقدار بالای 90 تا 100 به صورت زیر خواهد بود :

    1. Please enter the test score:
    2. 98
    3. A


    نتیجه در صورت وارد کردن مقدار بالای 60 تا 69 به صورت زیر خواهد بود :

    1. Please enter the test score: 2. 65 3. D

    نتیجه در صورت وارد کردن مقدار خارج از محدوده تعریف شده به صورت زیر خواهد بود :

    1. Please enter the test score:
    2. -40
    3. Error: score is out of range.

  38. #38

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    ادامه فصل دوم : معرفی دامنه یا همان حوزه عملیاتی

    به طور کلی دامنه به عنوان یک شناسه , بخشی از برنامه میباشد که شناسه را میتوان در آن محدوده به کار برد. برای مثال متغیر را نمیتوان پیش از اعلان , مورد استفاده قرار داد , بنابراین دامنه آنها از محل معرفیشان آغاز می شود.

    یک مثال :


    //Author: Kambiz Asadzadeh

    #include <iostream>

    using namespace std;

    int main()
    {
    x = 11; // Error

    int x;
    {
    x = 22; // OK
    y = 33; //Error
    int y;
    x = 44; //OK
    y = 55; //OK
    }

    x = 66; //OK
    y = 77; //Error
    }


    دراین مثال دامنه x از نقطه اعلان آن تا پایان main() و دامنه y ازنقطه اعلان آن تا پایان بلوک داخلی اعلان ادامه دارد.که مشخص است در صورت تعریف نابجای متغیر خطا در آن رخ خواهد داد زیرا دامنه حوزه برای تعریف متغیر مهم است.

  39. #39

    نقل قول: معرفی و آموزش C++‎‎ به صورت گام به گام

    آغاز فصل سوم : معرفی تکرار و انواع ممیز های شناور

    در زبان C++‎‎‎‎‎‎‎ سه دستور تکرار داریم : دستور while , دستور do … while . دستور for . به دلیل ماهیت چرخشی به آن ها را حلقه نیز می نامند.

    ادامه فصل سوم : معرفی دستور while
    به طور کلی ساختار دستور while به شکل زیر است :

    در حین (عبارت مقایسه ای) عبارت اجرایی while (condition) statement


    در این روش ابتدا condition ارزیابی میشود اگر مخالف صفر یا به عبارتی درست باشد , statement اجرا شده و condition بار دیگر مورد ارزیابی قرار میگیرد این دو گام تا زمانی تکرار میشوند که condition برابر صفر یا به عبارتی نادرست شود.

    مثال :



    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main() {

    int n;
    cout << "Enter positive integers. Terminate with 0.\n\t: ";
    cin >> n;


    while (n > 0) {


    cout << n << "cubed is " << n*n*n << "\n\t: ";
    cin >> n;


    }


    }



    نتیجه به صورت زیر خواهد بود :


    Enter positive integers. Terminate with 0.
    : 2
    2cubed is 8
    : 5
    5cubed is 125
    : 7
    7cubed is 343
    : 0



    توضیحات نحوه عملکرد : در ابتدا مقدار ورودی برای n عدد 2 میباشد دستور while شرط (n > 0)را آزمایش کرده از انجا که شرط درست است دو دستور داخل حلقه اجرا میشود دستور دوم عدد 5 را خوانده و در n قرار میدهد در پایان حلقه کنترل به ظرط (n > 0) باز میگردد این شررط همچنان درست است در نتیجه دستور داخل حلقه مجددا اجرا میشود هربار کنترل به پایان حلقه میرسد شرط دوباره مورد بررسی قرار میگیرد پس از سومین تکرار که n برابر 0 و شرط نادرست میرسد حلقه به پایان میرسد.

  40. #40

    نقل قول: معرفی و آموزش C++‎ به صورت گام به گام

    ادامه فصل دوم : معرفی تبدیل نوع integer

    در بسیاری از حالات C++‎ این امکان را فراهم میکند که اشیائی از یک نوع در مکانی به کار گرفته شوند که نوع دیگری در آن پیش بینی شده است.
    در کل به این کار تبدیل نوع میگویند.

    معمولا مهمترین و رایجترین نوع های قابل تبدیل تغییر دادن و تبدیل نوع int به string و یا int به float است.

    مثال :


    //Author: Kambiz Asadzadeh


    #include <iostream>


    using namespace std;


    int main() {

    char c = 'A';
    short m = 22;
    int n = c + m;
    cout << "n = " << n << endl;


    return 0;
    }


    در این مثال متغیر کاراکتری c عدد صحیح 65 با کد اسکی کاراکتر A و متغیر m از نوع short با عدد صحیح 22 مقدار دهی شده است.
    در انتساب n = c + m عملوند های c و m انواع integer متفاوتی رو دارند بنابراین مقادیر آن ها 65 و 22 پیش از انتساب مقدار نتیجه 86 به n به نوع int ارتقاء داده میشود.

    پایان فصل دوم...

صفحه 1 از 2 12 آخرآخر

تاپیک های مشابه

  1. آموزش: معرفی و آموزش C++‎‎‎/Qt به صورت گام به گام
    نوشته شده توسط کامبیز اسدزاده در بخش برنامه نویسی در محیط QT و هم خانواده هایش
    پاسخ: 53
    آخرین پست: سه شنبه 04 شهریور 1393, 21:36 عصر
  2. آموزش: آموزش برنامه نویسی به زبان اسمبلی به صورت گام به گام
    نوشته شده توسط JaVa در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 8
    آخرین پست: سه شنبه 08 بهمن 1392, 08:19 صبح
  3. آموزش Intraweb به صورت گام به گام
    نوشته شده توسط حمیدرضاصادقیان در بخش توسعه نرم افزار تحت وب
    پاسخ: 3
    آخرین پست: دوشنبه 03 تیر 1387, 20:07 عصر
  4. آموزش PHP به صورت قدم به قدم !!!
    نوشته شده توسط alireza_66 در بخش PHP
    پاسخ: 3
    آخرین پست: سه شنبه 01 آذر 1384, 20:52 عصر
  5. آموزش گام به گام کار با پلت کامپوننتهای دلفی
    نوشته شده توسط nasr در بخش برنامه نویسی در Delphi
    پاسخ: 15
    آخرین پست: شنبه 30 خرداد 1383, 17:36 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •