تیم برنامه نویسی گروه تمدن

مرجع کامل فارسی برنامه نویسی به زبان سی پلاس پلاس

  • Increase font size
  • Default font size
  • Decrease font size

شروع كار، اولين برنامه

فرستادن به ایمیل چاپ مشاهده در قالب پی دی اف

به نام خدا

در زبان پيشرفته سي پلاس پلاس بر خلاف زبان هاي سطح پايين از شي گرايي استفاده مي شود. به طور مفصل در بخش تعريف كلاس به بيان اين موضوع مي پردازيم اما در اين جا نياز است بدانيم كه ساختار برنامه در C++ از قسمت هاي زير تشكيل شده است.

1. مشخص كردن header ها.

2. مشخص كردن نوع namespace كه مفهوم آن در آينده توضيح داده خواهد شد.

3. تعريف يك سري كلاس هايي كه پياده سازي آن ها به عهده خودمان مي باشد.

4. تعريف توابعي كه در بدنه اصلي برنامه يا همان main قصد استفاده از آن را داريم.

5. و در نهايت main برنامه.

(البته اين نوع تقسيم بندي براي شروع كار مي باشد، به طوري كه در برنامه هاي بزرگ كلاس ها را در يك قسمت، توابع را در يك قسمت ديگر و... طراحي مي كنند و يا براي نوشتن visual اصلا از main به اين شكل استفاده نمي شود، اما براي آموزش از همين تقسيم بندي استفاده مي كنيم.)

توضيح قسمت 1:

ما در برنامه سازي هميشه از صفر شروع نمي كنيم و مي توانيم از برنامه ها و توابع و كلاس هايي كه از قبل طراحي شده استفاده كنيم. به اين منظور ما مي توانيم با ذكر نام آن ها در ابتداي برنامه يا به اصطلاح با include كردن آن ها از آن ها استفاده كنيم. گاهي با include يك فايل، كلاس و كتابخانه مي توانيم به تعداد زيادي از توابع و اعضاي آن ها دسترسي داشته باشيم. فرضا اگر اسم header ما myheader باشد. نحوه include كردن آن به شكل زير است:

 

# include <myheader>

توضيح قسمت 2

در ورژن هاي جديد كامپلرهاي استاندارد(iso) مي بايست نوع name space را مشخص كنيم. نوع namespace استفاده شده در برنامه هايي كه  ما مي نويسيم std مي باشد. اين كار به صورت زير انجام مي گيرد:

 

using namespace std;

توضيح قسمت 3و4:

فعلا با اين قسمت كاري نداريم. در بخش هاي آينده پس از آموزش تابع نويسي و كلاس به توضيح آن مي پردازيم.

توضيح قسمت 5:

در سي پلاس پلاس تمام دستورات اجرايي در main برنامه پياده سازي مي شود. يعني در قسمت هاي قبل فقط مي توان گفت كه يك سري توابع و كلاس و ... وجود دارد اما براي استفاده از آن ها بايستي كه در main برنامه دستورات مربوطه را وارد كنيم. به ترتيب زير:

 

int main(){
مجموعه دستورات
return 0;
}

 

اولين برنامه:

تقريبا تمام برنامه نويسان بزرگ دنيا اولين برنامه اي كه به زبان سي پلاس پلاس مي نويسند برنامه اي است كه پيغام hello world را چاپ مي كند.

اين برنامه به صورت زير مي باشد:

 

# include <iostream>
using name space std;

int main(){
cout<<"Hello world!";
return 0;
}//end programme

 

در خط اول header ‌را از نوع iostream مشخص كرديم.

 


iostream: اين header‌ تشكيل شده از سه كلمه in out stream بر جريان هاي(stream) ورودي(in) و خروجي(out) نظارت دارد. منظور از جريا ن ورودي اطلاعاتي است كه كاربر با استفاده از توابع خاص خود به كامپيوتر مي دهد و جريان خروجي هم اطلاعاتي است كه روي صفحه مانيتور نمايش داده مي شود.

تابع cout: اين تابع به منظور چاپ روي صفحه نمايش استفاده مي شود. نحوه استفاده از تابع coutبه اين شكل است كه براي چاپ از دو علامت > به صورت پشت سر هم (مانند مثال) استفاده مي كنيم و سپس نوع خروجي را در ادامه آن مي نويسيم. اگر نوع خروجي در هر مرحله فرق كند مي بايست براي جدا كردن آن ها باز از دو علامت > استفاده كنيم. در اينجا براي چاپ يك رشته از كاراكتر آن را در داخل دو گيومه قرار مي دهيم.

تابع cin: به منظور گرفتن ديتا از كاربر از اين تابع استفاده مي كنيم. اين تابع تا زماني كه به space يا Enter‌يا tab برسد اطلاعات را از كاربر دريافت مي كند. براي دريافت نوع داده از دوعلامت < پشت سر هم استفاده مي كنيم. اگر نوع داده اي عوض شد مانند cout دوباره از << استفاده مي كنيم.

به اين منظور فرض مي كنيم مي خواهيم يك عدد از نوع صحيح (كه در بخش هاي بعدي نوع داده را توضيح مي دهيم) از كاربر بگيريم. نماد a را به عنوان عدد صحيح در نظر مي گيريم.دستور به شكل زير خواهد بود:

cin>>a;

وقتي برنامه اجرا مي شود كامپيوتر منتظر مي ماند تا يك عدد از كاربر بگيرد. فرض مي كنيم كاربر عدد 4 را وارد كرد. اگر بعد ازدستور بالا دستورچاپ را وارد نماييم، عدد 4 روي نمايشگر چاپ مي شود. دستور چاپ آن به شكل زير مي شود چرا كه عدد 4 در نماد a ريخته شده است.

cout<<a;

 


در خط بعدي نوع namespace را مشخص نموده ايم. و سپس main برنامه را نوشته ايم.

در پايان نيز مقدار 0 را با استفاده از دستور return به تابع بر مي گردانيم.

 


مفهوم comment: در برنامه هاي بزرگ شما مي بايست در نقاط مختلف پيغام هايي را درج كنيد كه اگر بعد از گذشت مدتي به آنها مراجعه كرديد از نحوه كار برنامه آگاهي پيدا كنيد. به اين دستورات كه تنها برنامه نويس آن ها را مي بيند و كامپايلر در هنگام كامپايل و اجراي برنامه آنها را ناديده مي گيرد comment مي گويند. در تمام زبان ها اين مفهوم وجود دارد. در سي پلاس پلاس دو راه براي comment گذاري وجود دارد.

1. گذاشتن //:  همانطور كه در خط آخر برنامه مشاهده مي كنيد از جايي كه دو علامت / را گذاشتيم تا انتهاي خط تبديل به comment مي شود.

2. روش / و *: گاهي comment شما ممكن است بيش از يك خط باشد به اين منظور در ابتداي كامنت */ و در انتهاي آن /* را قرار مي دهيم. در اين صورت هر چيز كه ميان اين دو است به عنوان كامنت شناخته مي شود. مثال:

/* this is for
test*/

يك برنامه نويس خوب كسي است كه تمام اصول اوليه را رعايت كند. سعي كنيد از همين اول كه برنامه هاي شما كوچك است به كامنت گذاري اهميت بدهيد.

 


حال اگر برنامه  را اجرا كنيد. پيغام مورد نظر روي صفحه چاپ مي شود و سپس صفحه بسته مي شود. براي اينكه بتوانيد پيغام را مشاهده كنيد و تا زدن يك دكمه صفحه بسته نشود مي توانيد قبل از return 0 دستور system("pause")1  را وارد نماييد. تابع كليدي system تابعي است كه مي توان در داخل آن تمام دستورات كه در cmd ويندوز موجود مي باشد را وارد نماييم. كد به صورت زير خواهد شد:

#include <iostream>
using name space std;

int main(){
cout<<"Hello world!";
system("pause");
return 0;
}//end programme

حال با اجراي برنامه پيغام مورد نظر چاپ مي شود و بعد از آن پيغام press any key to countinue چاپ مي شود و تا زماني كه دكمه اي زده نشود برنامه بسته نمي شود.

اگر دقت كنيد تمام اين نوشته ها در يك خط چاپ مي شود و شايد از نظر بيننده جالب به نظر نرسد. مي توانيد در تابع coutبعد از آوردن رشته دستور end line را بدهيد و به كامپيوتر بگوييد كه بعد از چاپ به سر خط بعدي برود. كد به صورت زير در مي آيد:

#include  <iostream>
using name space std;

int main(){
cout<<"Hello world!"<<endl;
system("pause");
return 0;
}//end programme

اگر برنامه همراه خطا بود آنقدر وقت بگذاريد تا ديگر خطا ندهد.

الآن شما اولين برنامه خود را با موفقيت نوشتيد. پس به دنياي برنامه نويسان خوش آمديد!

اميدوارم كه انگيزه كافي را براي نوشتن برنامه هاي پيچيده تربه دست آورده باشيد.

 

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

آخرین بروز رسانی مطلب در شنبه ، 25 خرداد 1392 ، 01:50  

نظرات 

 
سوالحمید جمعه 24 خرداد 1392 ، ساعت 18:41
من وقتی همه این کار ها رو می کنم و برنامه رو ران می کنم بعد ارور مسیج می ده که
Unable to start program 'G:/c++proj/Debug/c++proj.exe'.
The system cannot find the file specified.
پاسخ | پاسخ با نقل قول | نقل قول
 
 
رفع مشکل حمیدمدیریت کل سایت شنبه 25 خرداد 1392 ، ساعت 01:24
با احترام
لطفا قبل از هر اقدامی از صحیح بودن پروژه خود مطمین شوید. برای این کار می بایست مراحلی که در منوی آشنایی با محیط ویژوال استادیو 2010 آمده را دنبال کنید سپس:
راه حل اول:
ممکن است از هدر فایل های صحیح و using namespace std; استفاده نمی کنید.
راه حل دوم:
آنتی ویروس خود را در زمان کامپایل برنامه غیر فعال کنید.
راه حل سوم:
با توجه به توضیحات شما به نظر می رسد که کامپایلر نمی تواند این فایل را پیدا کنید. لطفا مراحل زیر را دنبال کنید:
۱. روی نام پروژه راست کلیک کنید و گزینه properties را انتخاب کنید.
۲. روی گزینه VC++ Directories کلیک کنید و بررسی کنید که تمام گزینه ها به درستی باشند. اگر نبود آن را درست کنید یا می توانید گزینه reset setting را انتخاب کنید.
۳. یک پروژه ساده با هدرهای مناسب و صحیح بسازید.
۴. ویژوال استادیو را با دستور "devenv.exe /resetsettings” ریست کنید.


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

افزودن نظر

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






کد امنیتی
بازنشانی