اینم آموزشی که احسان خوب برامون فرستادن:
هر برنامه ++C از تعدادي كلاس و تابع تشكيل شده است.هر تابع وظيفه دارد قسمتي از برنامه را انجام دهد.در ++C خود برنامه اصلي يك تابع است.در واقع هيچ برنامه اي وجود ندارد كه فاقد اين تابع باشد.نام اين تابع اصلي ()main است.اما كلاس(class)،نوعي است كه داده ها و فعاليت هايي را كه بر روي آن داده ها عمل ميكنند را در يك بسته به نام شيء بسته بندي ميكند.در ++C توابع زيادي وجود دارند كه از پيش نوشته شده اند و ما به وفور از آنها استفاده خواهيم كرد.به عنوان مثال براي ورود داده ها از صفحه كليد و چاپ آن روي صفحه نمايش به توابع و كلاس هاي خاصي نياز داريم كه البته همانطور كه گفتيم جاي نگراني نيست! اين توابع و كلاس ها از پيش نوشته شده اند و همراه با كامپايلر وجود دارد.سوالي كه در اينجا مطرح ميشود اين است كه اين توابع كجا هستند و چگونه بايد از آنها استفاده كنيم؟
اين كلاس ها و توابع به همراه ديگر اطلاعات لازم براي اجراي برنامه در تعدادي فايل به نام فايل هاي Header قرار دارند.پسوند اين فايل ها h. است.و معمولا بر روي فهرستي از ديسك به نام INCLUDE قرار گرفته اند.براي اتصال اين فايل ها به برنامه از دستوري با ساختار زير در ابتداي برنامه استفاده مي كنيم:
|
#include <header نام فايل> |
دستور include# از دستورات پيش پردازنده يا ماكرو مي باشد كه در ادامه به توضيح آن خواهيم پرداخت.فقط همين حد بدانيد كه پيش پردازنده بخشي از كامپايلر است كه در صورت مشاهده دستوراتي كه با # شروع ميشوند اجرا ميشود.نكته ديگري كه بايد به آن توجه داشته باشيم اين است كه اينگونه دستورات به ; ختم نميشود.
به عنوان مثال براي استفاده از فايل iostream.h كه براي استفاده از دستورات خروجي و ورودي از آن استفاده خواهيم كرد به صورت زير وارد برنامه ميشود:
در مورد دستور include# بين # و include نبايد فاصله اي باشد.همچنين بين نام فايل و >و<.
نكته ديگري كه بايد به آن توجه داشته باشيم اين است كه سيستم عاملي كه اجرا كننده تابع ()main است ، مي خواهد بداند كه تابع ()main با موفقيت انجام شده يا نه.براي حل اين مشكل از دستور ;return 0 استفاده مي كنيم.اين تابع باعث ميشود كه اگر برنامه تا خط آخر با موفقيت اجرا شد مقدار 0 به سيستم عامل برگردد.مقداري كه به سيستم عامل بر مي گردد(0) مقداري صحيح يا int است.لذا بايد تابع ()main كه گفتيم از تابع اصلي برنامه است از نوع int تعريف شود.در زير ساختار كلي يك برنامه سي را مي بينيد:
|
#include <header نام فايل>
int main()
{
تعريف متغيير ها
دستورات اجرايي
return 0;
} |
در بعضي از برنامه ها نياز ميشود كه از چند فايل include# استفاده كنيم.براي اين كار بايد چند بار دستور include را استفاده كنيم.
ورودي و خروجي داده ها:
1-خواندن اطلاعات:
در زبان ++C براي خواندن اطلاعات از دستور cin استفاده خواهيم كرد.ساختار كلي اين دستور به صورت زير است:
|
cin >> متغيير2 << متغيير1 >> ... ; |
به عنوان مثال فرض كنيد مي خواهيم داخل متغيير X را كه قبلا تعريف كرده ايم با اطلاعاتي كه كاربر از صفحه كليد وارد ميكند پر كنيم:
پس از اجراي برنامه بايد داده توسط كاربر وارد شود و سپس دكمه Enter فشار داده شود.اما اگر چند قلم اطلاعات را توسط دستور cin خوانديم كاربر بايد بعد از وارد كردن هر يك از آنها يك فاصله بگذارد و داده آخر را كه وارد كرد دكمه Enter را فشار دهد.
2-چاپ اطلاعات:
براي چاپ اطلاعات روي صفحه نمايش از دستور cout استفاده ميكنيم:
|
cout << عبارت2 >> عبارت1 << ... ; |
عبارت i ميتواند شامل يك رشته كه در آن صورت بايد آن را بين كوتيشن قرارداد باشد ، يا شامل يك متغيير كه ميتواند محتوياتش هر چيزي باشد.مثلا دستور زير رشته Computer را به همراه متغيير X چاپ ميكند.
احتمالا از خود مي پرسيد كه اين "n\" اينجا چكاره است."n\" جزو كاراكترهاي كنترلي است.مشابه اينها را در JavaScript هم داريم كه در آموزش JavaScript توضيح داده خواهد شد.در واقع اين نوع كاراكتر ها براي شكل دهي به خروجي بكار ميروند.كاراكتر"n\" باعث ميشود تا سطر جاري رد شود و به سطر بعدي برويم.البته ميتوانيم يه جاي استفاده از "n\" از endl كه مخفف end line بصورت زير استفاده كنيم.
كاراكتر هاي كنترلي ديگري هم وجود دارد كه در اينجا به توضيح آنها مي پردازيم:
"t\" : كنترل خروجي را 8 كاراكتر به جلو ميبرد.
"\\" : چاپ كاراكتر \.
""\" : چاپ كاراكتر ".
"v\" : كنترل خروجي را به ابتداي 8 سطر بعدي ميبرد.
"b\" : كاراكتر قبل خود را حذف ميكند.
"r\" : كليد Enter را مشخص ميكند.
"a\" : بوق سيستم را به صدا در مي آورد.
":\" : چاپ كاراكتر :.
"?\" : چاپ كاراكتر ?.
نكته آخر در رابطه با دستورات ورودي-خروجي اين است كه براي استفاده از آنها بايد از فايل استفاده كرد.
مثال: برنامه اي بنويسيد كه رشته ": Your age is" و سن كاربر را كه يك عدد صحيح است با خروجي مناسب چاپ كند.
حل:
|
\\ this is first program
#include
#include
int main()
{
int x;
cout<<"What Is Your Age ? ";
cin>>x;
clrscr();
cout<<"Your age is : "<
getch();
return 0;
} |
توضيح:
دستور ;()clrscr باعث ميشود كه كل صفحه نمايش پاك شود.همچنين اگر از دستور ;()getch استفاده نكنيد برنامه بعد از گرفت X از كاربر خيلي سريع نتايج را چاپ خواهد كرد و به محيط editor بر خواهد گشت.دستور ;()getch در انتهاي برنامه باعث خواهد شد تا برنامه پس از نمايش كليه خروجي ها منتظر بماند تا شما يك كليد را فشار دهيد(به عبارتي يك كاراكتر وارد كنيد).بنابراين خواهيد توانست اطلاعات چاپ شده روي صفحه نمايش را با دل سير ببينيد !!!
البته براي استفاده از هر دوي اين دستورات بايد از فايل استفاده كنيد.