بخش يازدهم برنامه نويسي گرافيك در زبان ++C

بخش يازدهم

برنامه نويسي گرافيك در زبان ++C


در اين بخش چند برنامه كاربردي را قرار مي دهم كه مطابق با بخش نهم و دهم است. يك سري رسم اشكال هندسي با دستور for كه مي توانيد از پايين دانلود نماييد.

عكس 1 كد برنامه

عكس 2 خروجي برنامه

دانلود سورس اين برنامه



عكس 3 كد برنامه

عكس 4 خروجي برنامه

دانلود سورس اين برنامه



عكس 5 كد برنامه


عكس 6 خروجي برنامه

دانلود سورس اين برنامه


عكس 7 كد برنامه

عكس 8 خروجي برنامه

دانلود سورس اين برنامه


______________________________________________________________________________

همينطور مي توانيد به مباحث قبلي برگرديد:

بخش اول برنامه نويسي گرافيك در زبان ++C

بخش دوم برنامه نويسي گرافيك در زبان ++C

بخش سوم برنامه نويسي گرافيك در زبان ++C

بخش چهارم برنامه نویسی گرافیک در زبان ++C

بخش پنجم برنامه نویسی گرافیک در زبان ++C

بخش ششم برنامه نویسی گرافیک در زبان ++C

بخش هفتم برنامه نویسی گرافیک در زبان ++C

بخش هشتم برنامه نویسی گرافیک در زبان ++C

بخش نهم برنامه نویسی گرافیک در زبان ++C

بخش دهم برنامه نویسی گرافیک در زبان ++C

بخش دهم برنامه نویسی گرافیک در زبان ++C

بخش دهم

برنامه نویسی گرافیک در زبان ++C


معرفي چند تابع كاربردي

دستور outtext

در محيط گرافيك براي نمايش متن، نوشته يا اعداد از اين دستور استفاده مي شود. به عبارت ديگر دستورات ديگر نمايشي در محيط متني مانند: printf ، puts ، cout در اين محيط كاربردي ندارد. شكل كلي اين دستور به صورت زير است:

outtext("متن دلخواه");

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

 

دستور outtextxy

توسط اين دستور نيز مي توان متني را روي صفحه نمايش داد و البته مكان آن نيز در همين دستور مشخص مي گردد. به عبارت ديگر در اين دستور مكان و متن با هم تعيين مي شوند و به همين دليل كاربردي تر از دستور outtext مي باشد. شكل كلي اين دستور به صورت زير است:

outtextxy(x, y, "متن دلخواه");

 

دستور settextjustify

اگر براي متني كه نوشته مي شود سطحي را در نظر بگيريم توسط اين دستور تعيين مي كنيم كه كدام گوشه از متن به عنوان مختصات ذكر شده براي نمايش متن در نظر گرفته شده است. اين دستور داراي 2 قسمت مي باشد، در قسمت اول سمت چپ ، وسط يا راست را تعيين مي كنيم و در قسمت دوم پايين، وسط يا بالا را تعيين مي كنيم. به جداول زير دقت كنيد. 

متغير هاي افقي

محل مورد نظر

مقدار عددي

نام متغير

سمت چپ متن

0

LEFT_TEXT

 مركز افقي متن

1

CENTER_TEXT

سمت راست متن

2

RIGHT_TEXT

 

متغيرهاي عمودي

محل مورد نظر

مقدار عددي

نام متغير

پايين متن

0

BOTTOM_TEXT

مركز عمودي متن

1

CENTER_TEXT

بالاي متن

2

TOP_TEXT

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

 

دستور settextstyle

اين دستور داراي سه بخش مي باشد:

settextstyle(نوع فونت , جهت نوشته  , اندازه متن);

توسط اين دستور مي توان نوع فونت، اندازه متن و عمودي يا افقي بودن متني را كه مي خواهيم نمايش داده شود، تنظيم كنيم. مطمئنا براي تعيين نوع فونت مورد نظر اين دستور بايد قبل از دستورات نمايش متن مانند outtext و outtextxy به كار برده شود و اين دستور تاثيري بر روي متن هايي كه قبلا نمايش داده شده نخواهد داشت و تا زمانيكه دوباره از اين دستور استفاده نشود، تنظيمات انجام شده بر روي تمام متن هايي كه نوشته خواهد شد، اعمال مي گردد. 

انواع فونت در جدول زير نمايش داده شده است.

مقدار عددي

نوع فونت

0

Default Font

1

Triplex Font

2

Small Font

3

Sanserif Font

4

Gothic Font

5

Script Font

6

Simplex Font

7

TriplexScript Font

8

Complex Font

9

European Font

10

Bold Font

 

جهت نوشته شدن در جدول زير آمده است:

جهت نوشته شدن متن

مقدار عددي

نام متغير

از چپ به راست

0

HORIZ_DIR

از پايين به بالا

1

VERT_DIR


اندازه متن نيز مي تواند عددي بين 1 تا 8 باشد.

 

مثال 1) برنامه اي بنويسيد كه نامي را چاپ كند.

كد برنامه مانند عكس 1 است:

عكس 1

خروجي برنامه مانند عكس 2 است:

عكس 2

دانلود مثال 1 سورس برنامه چاپ رشته در خروجي

 

دستور sprintf

اين دستور خروجي دستور printf يا cout را در متغير رشته اي كه براي آن معرفي مي كنيم ذخيره مي كند و هيچ خروجي اي بر روي صفحه مايش نمي دهد. به اين شكل مي توان متغير رشته اي ساخت كه شامل اطلاعات مورد نظر ما براي نمايش در محيط گرافيكي باشد. از اين دستور هم براي تبديل اعداد به رشته استفاده مي شود و هم مي توان در صورتيكه خروجي مورد نظر داراي چند قسمت باشد به جاي اينكه هر كدام را در محيط گرافيكي توسط يك outtext جدا بنويسيم ابتدا كل رشته خروجي مورد نظر را در يك متغير رشته اي بسازيم و سپس فقط از يك دستور outtext استفاده كنيم. هنگام استفاده از اين دستور بايد فايل كتابخانه اي سرآيند #include را در ابتداي برنامه بنويسيم. شكل كلي دستور به شكل زير است:

;(نام متغير رشته اي , شكل و قالب خروجي , ليست متغيرها)Sprintf

 

دستور itoa

اين دستور يك مقدار صحيح يا integer را به يك مقدار رشته اي يا string در هر مبناي دلخواهي تبديل مي كند. شكل كلي آن به صورت زير است:

;(مقدار عددي , متغير رشته اي , مبنا)itoa

به طور مثال itoa(x, s, 10); مقدار موجود در متغير x را به صورت رشته اي در مبناي 10 را در متغير s قرار مي دهد.

 

دستور kbhit()

توسط اين دستور مي توانيم بررسي كنيم كه آيا كليدي زده شده است يا نه. از اين دستور در برنامه هايي كه مي خواهيم تا زمانيكه كليدي را نزده ايم، اجراي برنامه ادامه داشته باشد استفاده مي كنيم. هرگاه در زمان اجراي برنامه به اين دستور كه برسد اگر در آن لحظه كليدي را بفشاريم مقدار 1 را برمي گرداند و اگر در آن لحظه كليدي را نزده باشيم مقدار صفر را بر ميگرداند. مقدار 1 يا غير صفر در زبان برنامه نويسي C به معني درست يا صحيح مي باشد و مقدار صفر به معني اشتباه يا غلط و ما در برنامه دقيقا برعكس اين را مي خواهيم. به عبارت ديگر تا زمانيكه كليدي را نزده ايم مقدار درست را مي خواهيم و زمانيكه كليدي را زديم مقدار غلط را داشته باشيم تا برنامه خاتمه يابد. به همين دليل از علامت ! قبل از اين تابع استفاده مي كنيم تا نقيض مقادير در نظر گرفته شود.

مثال 2) برنامه اي بنويسيد كه يك شمارش معكوس از 9 تا 1 را شبيه سازي كند.

تحليل: با استفاده از يك حلقه for كاهشي اعداد از 9 تا 1 را توليد مي كنيم و براي نمايش اعداد در محيط گرافيگي توسط دستور outtextxy اعداد را توسط دستور sprint از حالت عددي به حالت كاراكتري تبديل مي كنيم. چون بعد از نوشته شدن هر عدد مي خواهيم عدد جديدي نوشته شود، عدد قبلي را با رنگ مشكي دوباره مي نويسيم تا پاك شود و سپس در اجراي دوباره حلقه عدد جديد نوشته خواهد شد. كد برنامه مانند عكس 3 است:

عكس 3

خروجي مانند عكس 4 است:

عكس 4

دانلود مثال 2 سورس برنامه شمارش معكوس


مثال 3) برنامه اي بنويسيد كه دور تا دور صفحه نمايش را دايره هايي به شعاع 10 پيكسل و با فاصله هاي 4 پيكسل از هم دور كند.

تحليل: در اين برنامه مي توانيم 4 حلقه براي چهار ضلع صفحه نمايش بنويسيم، يكي براي اضلاع افقي بالا و پايين و يك حلقه ديگر براي اضلاع عمودي چپ و راست. اين تمرين كاربرد حلقه هاي افزايشي و كاهشي را نمايش مي دهد. عكس 5 كد برنامه را نشان مي دهد.

عكس 5

عكس 6 خروجي برنامه را نشان مي دهد.

عكس 6

دانلود مثال 3 سورس برنامه دايره ها در حاشيه

______________________________________________________________________________

همينطور مي توانيد به مباحث قبلي برگرديد:

بخش اول برنامه نويسي گرافيك در زبان ++C

بخش دوم برنامه نويسي گرافيك در زبان ++C

بخش سوم برنامه نويسي گرافيك در زبان ++C

بخش چهارم برنامه نویسی گرافیک در زبان ++C

بخش پنجم برنامه نویسی گرافیک در زبان ++C

بخش ششم برنامه نویسی گرافیک در زبان ++C

بخش هفتم برنامه نویسی گرافیک در زبان ++C

بخش هشتم برنامه نویسی گرافیک در زبان ++C

بخش نهم برنامه نویسی گرافیک در زبان ++C