خوراک پی سی کدنویس

ورود کاربران

آمار سایت

اعضا : 431
محتوا : 74
پیوندها : 6
بازدیدهای محتوا : 245422

حاضرین در سایت

 71 مهمان حاضر

برای نمایش بهتر سایت، از مرورگر استاندارد فایرفاکس استفاده کنید! مرورگر اینترنت اکسپلورر متعلق به دهه گذشته است!

firefox icon

Valid XHTML 1.0 Transitional Valid CSS!

نوشتن اولین برنامه با ++C

12 امتیاز

سطح مقدماتی

ملزومات

همان طور که در مقاله قبلی گفتیم برای برنامه نویسی ++C نیاز به یک IDE داریم مثل ویژوال استودیو، C++ Builder، Cygwin، GCC یا هر چیز دیگری. لیکن ما پیشنهاد می‌کنیم ویژوال استودیو را استفاده کنید.

اولین تجربه در هر موضوع جدیدی که یاد می­‌گیریم، بسیار شیرین و دلچسب است؛ اولین تجربه­‌ی خود را در دوچرخه سواری یا ماشین سواری به خاطر می­آورید! حتما چنین است. البته برای شما شاید این اولین تجربه برنامه نویسی نباشد ولی واقعیت این است که برنامه نوشتن در محیط دل انگیز ویژوال استودیو یک تجربه فراموش نشدنی است.

از منوی فایل گزینه­‌ی New Project را انتخاب کنید، از قسمت نوع پروژه، Visual C++ و سپس Win32 را انتخاب کنید. از سمت راست، گزینه­‌ی Win32 Console Application را انتخاب کرده و در قسمت نام، نام مناسبی برای پروژه انتخاب کنید:

 

MSVC Console App

دکمه­ ی OK را بزنید و در قسمت بعدی نیز تنظیمات پیش­ فرض را پذیرفته و روی دکمه­ی Finish کلیک کنید. بدین ترتیب اولین پروژه شما ساخته شد. ویژوال استودیو به طور خودکار تعدادی فایل را در پروژه قرار می­دهد. برای دیدن لیست فایلها کافیست گزینه­ ی Solution Explorer را از لیست منوهای کشنده­‌ی سمت چپ انتخاب کنید، دو تا فایل با پسوند .cpp و دو تا فایل با پسوند .h و یک فایل ReadMe.txt تولید شده است. فایل Stdafx.h شامل فایلهای سرآیه­‌ای است که به کرات استفاده می­‌شوند و می­ توان گفت به منظور صرفه­ جویی در تایپ! ایجاد می­ شود. این فایل در اکثر فایلهای پروژه استفاده خواهد شد. فایل stdafx.cpp به منظور خالی نبودن عریضه و اینکه هر فایل سرآیه­ ای بهتر است فایل متناظر .cpp خودش را هم داشته باشد ایجاد شده است و چیز خاصی داخل آن نیست. فایل targetver.h اطلاعات نسخه­ ی ویندوز را در بردارد که باید متناسب با سیستمی که قصد دارید برنامه را روی آن اجرا کنید انتخاب شود و در نهایت فایل Exam-01.cpp که فایل اصلی برنامه­‌ی ماست! که همان اسمی است که برای پروژه انتخاب کردیم.

 

نکته: فایل سرآیه چیست؟ فایلی است که غالبا شامل تعاریف کلی مثل نام توابع و کلاسهایی است که در فایل متناظر cpp پیاده سازی شده­اند. وقتی می­خواهیم از اطلاعات یک فایل یا کتابخانه دیگر در برنامه­ی خودمان استفاده کنیم، فایل سرآیه­ی آن کتابخانه را در برنامه خودمان به صورت #include “targetfile.h” قرار می­دهیم و چون معمولا فایلهای سرآیه را در ابتدای برنامه، یا سر برنامه، قرار می­دهیم به آنها فایل سرآیه گوییم.
نکته: Solution اصطلاحی است که میکروسافت به مجموعه­ی چند پروژه در کنار هم اطلاق می­کند.

چون اولین برنامه است، سعی می کنیم توضیح کاملی بدهیم که اگر تازه کارید به زندگی امیدوار شوید، لیکن در کل دنبال کردن چنین روندی دشوار است!

 
 
// Chap_01_01.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
 return 0;
}
 
 

نگاهی بیندازیم به متن برنامه؛ دو خط اول توضیحات است که در ++C با // شروع می­ شود. خط بعدی فایل stdafx.h را به برنامه­‌ی ما افزوده است و خط بعدی تابع اصلی برنامه است. در ++C استاندارد تابع اصلی با نام main مشخص می­ شود، لیکن میکروسافت به منظور پشتیبانی از یونیکد تابع _tmain را به جای main استفاده می­کند. فعلا ذهنتان را درگیر این مسائل نکنید!

متن تابع main تنها شامل خط return 0; است که در بین دو آکلاد اسیر شده است. چاره­ ای نیست، چون همان طور که می­ دانید این گرامر ++C است که هر بلوک کد، مانند بدنه­ ی تابع، باید بین دو آکلاد باشد. تابع main باید متغیری از نوع int برگرداند، لذا وجود return 0; الزامی است.

این برنامه کوتاه، خیلی بی­ مصرف است چون هیچ کاری انجام نمی­دهد، پس بهتر است یکی دو خط دیگر به برنامه اضافه کنیم:

#include "stdafx.h"
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
 std::cout << "In the name of God!\nHi C++\n";
 return 0;
}

با استفاده از کلیدهای CTRL+F5 برنامه را اجرا کنید تا خروجی را ملاحظه کنید. دو خط در کنسول خروجی ظاهر می‌شود که ناشی از افزودن خط اول در تابع main است. عبارت std یک فضای نام است که در فایل سرآیه‌ی <iostream> تعریف شده است. فضای نام به منظور جلوگیری از تداخل اسامی توابع هم‌نام از کتابخانه‌های مختلف، به وجود آمده است؛ مثلا اگر تابع ()Draw در دو فایل Rect.h و Circle.h تعریف شده باشد و هر دوی این فایلها در برنامه‌ی ما include شده باشند، برای اینکه هم خود ما و هم کامپایلر دچار مشکل نشود بهتر است برای هر کدام یک فضای نام به صورت زیر تعریف کنیم و سپس تابع Draw را به صورت ()Rect::Draw یا ()Circle::Draw فراخوانی کنیم.

namespace Rect
{
 void Draw(){
 ...
 };
} 

تابع cout که مخفف console output است همان طور که از نامش پیداست پارامتر خودش را روی کنسول چاپ می کند. در اینجا عبارت "In the name of God!\nHi C++\n" روی خروجی ظاهر می شود. نویسه ی n/ یک نویسه ی خاص است که بیانگر خط جدید است و سبب می شود رشته ی مورد نظر از این نقطه به بعد در خط جدیدی ظاهر شود.

نکته: در C++ هر دستور باید به یک نقطه ویرگول ; ختم شود.
نکته: برای توضیحات چند خطی می‌توانیم از /* و */ استفاده کنیم:

/*
This is a multi line comments
Further comments go here…
*/

امیدوارم از اولین برنامه خودتان لذت برده باشید.

  • محمد  - thankyou
    avatar
    عالی بود منونم
  • حسین  - هییییییی
    avatar
    :confused: ای کاش تمام قسمت های زبان پیشرفته سی پلاس پلاس همین بود.
    خاستم بگم من از این بحث های شی گراء و غیره نفرت دارم چون اصلا نمی فهمم چیه .16 سالمه :D
  • sonya
    avatar
    خدا پدرت رو بیامورزه نور به قبرت بباره جوون
  • حميد  - كمك به يك مبتدي
    avatar
    با سلام، من هيچي از سي با دوتا مثبت نميدونم. اما خيلي دوست دارم برنامه نويسي رو شروع كنم. اما با اين توضيحاتي كه نوشتيد، من بيشتر گيج و سر در گم شدم.
    اين دستورات را در كجاي ويژوآل ++c بايد بنويسيم؟
    يك فايل نيو شامل قسمتهاي مختلف هست و من هركدوم رو انتخاب ميكنم و اين كدها رو وارد ميكنم، فاتال ارور ميده! :pinch:
    لطفاً كمكم كنيد. نميدونم برنامه نويسي رو با چه برنامه اي شروع كنم. آيا من مي‌بايست ويژوآل بيسيك هم بلد باشم تا ++C رو درك كنم؟ لطفاً راهنمائيم كنيد. من سنم بالاست اما وقت آزاد زياد دارم، اگر فرمولش دستم بياد، ميتونم علاقه نشون بدم.
    من يك كتاب قطور ++c خريدم كه ترجمه شده آقاي "هاروي ديتيل است" اما هيچي ازش سر در نياورم!
    ممنون از توجهتون :cheer:
  • ali
    avatar
    سلام به همه دوستان
    من کتاب برنامه نویسی به زبان ++c تالیف مهندس عین الله جعفرنژاد قمی خریدم
    حرف نداره
    رشته من نرم افزاره
    هیچ علاقه ای به برنامه نویسی نداشتم اما از وقتی که این کتابو استادمون بهم معرفی کرده عاشق برنامه نویسی شدم
    من ویراست سومش که مال پاییز 89 گرفتم
    12000 تومان خریدم
    امیدوارم یه مرجع خوبو بهتون معرفی کرده باشم
  • سعید  - error
    avatar
    چرا هرچه امتحان میکنم error میده میگه
    exam1.exe is not a valid win32 application
    چطور باید این error رو رفع کنم لطفا کمک کنید
  • pareham  - یک سوال
    avatar
    با درود فراوان در محیط ویژوال استودیو 2008 و قتی برنامه رو مینویسم با این پیغام مواجه میشم لطفا راه نمایی کنید:
    Unable to start program f:\Documents and Settings\project c+++\My Documents\Visual Stdio 2008\projects\test01\debug\test01.exe
    the system cannot find the file specified
  • مدیر سایت
    avatar
    برنامه شما حتما خطای کامپایل دارد. دکمه F7 را بزنید و بعد پنجره لیست خطاها (error list) را نگاه کنید و خطاها را رفع کنید. به پیغامهای کامپایلر هم لطفا توجه کنید و زودی دکمه ok را نزنید.
  • mshahvisi
    avatar
    برای رفع این خطا باید برای
    debug->options and settings..->project and soulation->build and run
    سپس on run when projects are out of date
    رو باز و گزینه always build رو انتخاب کن
  • ناشناس  - کمکم کنید
    avatar
    سلام استاد عزیز.
    چند سوال داشتم:
    1. من هم دقیقا برنامه ای که خودتان در بالا گفتید را کپی کردم اما باز هم همان پیغام زیر را میدهد! چه کنم؟

    Unable to start program f:\Documents and Settings\project c+++\My Documents\Visual Stdio 2008\projects\test01\debug\test01.exe
    the system cannot find the file specified
    2.آیا دستورات ویژوال سی پلاس پلاس با دستورات سی پلاس پلاس فرق می کند؟ یعنی من که سی پلاس پلاس کار میکنم، باید ویژوال آن را هم یاد بگیرم یا نه؟ لطفا توضیح دهید؟
    3.کجای این محیط ویژوال است؟ چرا مانند سی شارپ ، نمی توان در آن دکمه و... گذاشت؟ خواهشا توضیح دهید؟
  • مدیر سایت
    avatar
    سلام
    اگر در دانشگاه ما هستید که حضوری بیایید بهتر است. اگر نه:
    1. برنامه را با زدن دکمه rebuild solution از منوی build دوباره کامپایل کنید و لیست خطاها را در پنجره Error List چک کنید. خطایی که نوشته را ذکر کنید. (اگر Error List را نمی بینید، از داخل منوها پیدایش کنید)

    2. خیر، یک سری کتابخانه اضافی است که میکروسافت تهیه کرده به نام MFC که با آن مثل #C می شود دکمه گذاشت و ... کاری که می کنید این است که موقع تعریف پروژه، نوع MFC Application را انتخاب کنید.
  • jafar ashkani  - merc. jafarnejad good
    avatar
    age rafti merikh didi daran ba zabane mfd barname nevici mikonan avalin kari ke mikoni chie?
    1-search to google
    2-search to manual ha
    3-amoozesh zabane merikhi
    4-search by: mfd book jafarnejad qumi

    answere=4
    faghad hamin
  • هوش مصنوعی  - پیامی به مدیر سایت
    avatar
    جناب مدیر محترم این سایت:
    سلام... رشته ی تحصیلی شما چیه؟
    من دانشجوی IT هستم
    حدود دو سال مشغول یادگیری و تمرین برنامه نویسی هست.
    آموزش برنامه نویسی به اونایی که اسمش رو نمیتونن بخونند ایقدری که شما فکر میکننید راحت نیست پس وقت خودتون رو هدر ندید!!!
  • مدیر سایت
    avatar
    ممنون؛ از این همه انرژی مثبت.
  • taman  - در جواب به دوستمون هوش مصنوعی
    avatar
    سلام
    شما که میگی دو سال مشغول برنامه نویسی هستی خداییش خودت که اول میخواستی برنامه نویسی یاد بگیری سی پلاس پلاسو چی میخوندی...؟ منم دانشجوی سال آخر نرم افزارم وهمیشه اینجور سایتارو تحسین میکنم که بدون هیچ چشم داشتی دارن به هم وطناشون خدمت میکنن این سایت و امثالهم برای همه کسانیه که میخوان از اول ++c رو شروع کنن پس این یعنی هرکسی با هر رشته ای که به برنامه نویسی علاقه داره میتونه واردش بشه و موفقم بشه
  • v2012  - re: کمکم کنید
    avatar
    ناشناس نوشت:
    سلام استاد عزیز.
    چند سوال داشتم:
    1. من هم دقیقا برنامه ای که خودتان در بالا گفتید را کپی کردم اما باز هم همان پیغام زیر را میدهد! چه کنم؟

    Unable to start program f:\Documents and Settings\project c+++\My Documents\Visual Stdio 2008\projects\test01\debug\test01.exe
    the system cannot find the file specified
    2.آیا دستورات ویژوال سی پلاس پلاس با دستورات سی پلاس پلاس فرق می کند؟ یعنی من که سی پلاس پلاس کار میکنم، باید ویژوال آن را هم یاد بگیرم یا نه؟ لطفا توضیح دهید؟
    3.کجای این محیط ویژوال است؟ چرا مانند سی شارپ ، نمی توان در آن دکمه و... گذاشت؟ خواهشا توضیح دهید؟


    با سلام و خسته نباشید خدمت مدیر سایت:
    Unable to start program
    در مورد ارور ذکر شده باید بگم که من خودم ماهها این مشکل رو داشتم و همه اینترنت و فروم های اونو زیر و رو کردم ولی هیچ کس راه حلی براش پیدا نکرده بود. آخر مجبور شدم خودم چند تا روش رو امتحان کنم که به این نتیجه رسیدم این ارور فقط و فقط به خاطر ویروسی شدن ویندوز هستش . شما ابتدا یک اسکن کامل از کامپیوتر خوت با نرم افزار کسپری اسکای آپدیت شده انجام بده- بعد کل ویژوال استدیو رو از اول نصب کن و کدی که نوشتی رو یک بار دیگه امتحان کن. اگه ویروس کشی رو درست انجام بدی مطمئنا مشکلت حل میشه!
  • ناشناس
    avatar
    با سلام و خسته نباشيد!برنامه اي كه گفتين رو من با ميژوال استديو اجرا كردم خروجي كه به من داد به اين شكله '"G:\marrrri\average\Debug\average.exe"' is not recognized as an internal or ext
    ernal command,
    operable program or batch file.
    Press any key to continue . . .
    چطوري ميتونم روجي مطلوبمو به دست بيارم؟؟؟ايراد برنامه من كجاست؟؟
    ممنون ميشم اگر به ايميلم بفرستين جوابو
    maryam_bbv@yahoo.com
  • hasti
    avatar
    واقعا ممنون
    c++ رو با سی شارپ قاطی کرده بودم اساسی :kiss:
  • hasan  - برنامه نویسی
    avatar
    سلام من برنامه نویسی visuall ++C 6 رو دارم چطوری شروع به برنامه نویسی کنم. اصلا چیزی ازش نمیدونم.
اظهار نظر
مشخصات شما:
گراواتار enabled
نظر:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):s:!::?::idea::arrow:
امنیت
کد آنتی اسپم نمایش داده شده در عکس را وارد کنید.