تبليغاتX
.:: لوتوس دنیای موبایل ::.
.:: لوتوس دنیای موبایل ::.
دانلود برنامه موبایل - ترفندهای موبایل - دانلود نرم افزار کامپیوتر)نظر یادتون نره(
قال رسول الله (ص) : ايها الناس ! انه قد اقبل اليكم شهر الله بالبركة و الرحمة و المغفرة
:: Emoticons Mail کلکسیونی از شکلک های زیبا برای Email شما ! ::

دسته بندی : / لینک ثابت

اگر از وجود Smiley های تکراری در محیط Email خود خسته شده اید و یا به Smiley ها و شکلک های جدید و متقاوتی برای بیان حالت های مختلف خود نیاز دارید , نرم افزار Emoticons Mail گزینه ی مناسبیست .

این محصول شرکت MaxPlugs به شما این امکان را می دهد تا از کلکسیون Smiley های این نرم افزار در محیط های مختلف Email برای بیان بهتر احساست خود استفاده کنید . دارای بیش از 1200 شکلک و انیمیشن زیبا و جالب است و این توانایی را به شما می دهد تا خودتان نیز ار شکلکی دارید به این کلکسیون اضافه نمایید . سازگار با نرم افزار های Email مانند Microsoft Outlook و Outlook Express است . Webmail های گوناگون مانند Yahoo و Hotmail و .... را نیز تحت پشتیبانی خود دارد . دارای بیش از 30 دسته ی ممختلف شکلک های گوناگون است . در نسخه ی جدید این نرم افزار به شما این امکان داده می شود تا هر چند وقت یک بار از طریق سایت سازنده بسته ی جدید شکلک ها را دانلود و اضافه نمایید !

این نرم افزار زیبا و جالب با ویندوز های 95/98/ME/NT/2000/XP سازگاری کامل دارد .

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

Emotions Mail را میتوانید از اینجا :

دانلود کنید نسخه ی 3.2.02 را با حجم 1.5مگابایت

تصویری از محیط برنامه


نویسنده مطلب : لوتوس   \  تاریخ درج : سه شنبه 17 آبان1384   23:20 \

:: ABI Word جايگزيني مناسب براي Microsoft Word ::

دسته بندی : / لینک ثابت

نرم افزار ABI Word يكي از جايگزينهاي بسيار مناسب براي نرم افزار MS Word ميباشد كه با حجم كم و كارايي بالا آينده بسيار خوبي را پيش رو دارد.
اين نرم افزار با حجم 5.153 مگابايت قابليتهايي دارد كه نميتوان از آن ها به سادگي چشم پوشي كرد. يكي از مزيتهاي بسيار خوب اين نرم افزار قابليت اضافه نمودن گزينه هايي است كه شركت توليدي در اختيار كاربران قرار ميدهد. اين قابليتها به صورت پكيج هاي مختلف در اختيار كاربران قرار ميگيرد و آنها ميتوانند بنا به نياز خود برنامه را قدرتمند نمايند.
اين برنامه بسياري از قابليتهاي عمومي نرم افزار MS Word را دارا ميباشد و حتي ميتوانم بگويم كار با آن به قدري ساده و دلنشين است كه بعد از مدتي ممكن است شما حتي ديگر از نرم افزار MS Word استفاده نكنيد و آن را فراموش كنيد ! پس حداقل براي يك بار امتحانش كنيد و لذت كار با آن را تجربه كنيد.
اين برنامه علاوه بر پشتيباني از پسوندهاي رايج فايلهاي متني ، فايلهاي خاص خود را نيز پشتيباني ميكند كه قابليتهاي ويژه اي را در اين پسوندها خواهيد يافت ! پسوندهايي از قبيل abw و awt و zabw و... كه مختص خود برنامه ميباشند.
اين برنامه كاملا رايگان ميباشد و حتما توصيه ميكنم آن را براي يك بار هم كه شده امتحان نماييد.
اين برنامه از بيش از 100 زبان دنيا پشتيباني ميكند كه زبان فارسي را نيز شامل ميشود
دانلود کنید ABI Word را با حجم 5.1 مگابایت
از لینک های زير هم ميتوانيد قابليتهاي جديد ساخته شده براي اين برنامه را دانلود و نصب نماييد
دانلود کنيد يك سري Plugins براي برنامه با حجم 642 کیلوبايت
اضافه كردن قابليت Import و Export به برنامه , حجم فایل 596 کيلوبايت
ديكشنري كامل British براي برنامه , حجم فایل 613 کيلوبايت
ديكشنري كامل American براي برنامه , حجم فایل 616 کيلوبايت
تصويری از محيط این برنامه
نویسنده مطلب : لوتوس   \  تاریخ درج : سه شنبه 17 آبان1384   0:18 \

دستور پيش پردازنده # error

دسته بندی : / لینک ثابت

دستور # error موجب جلوگيري از ادامه ترجمه برنامه توسط كامپايلر شده و به
زير بكار مي رود :
پيام خطا # error
پيام خطا ، جمله اي است كه كامپايلر پس از رسيدن به اين دستور ، آن را بصورت
زير در صفحه نمايش ظاهر مي كند :
پيام خطا:Error directive شماره خط نام فايل :Error

مثال : main)(
{
int arr[4] / i ;
for( i=0 ; i < 100 ; i++)
{
if ( i > 4)
#error enter less than 20 ;
else
scanf("%d"/&arr[i] );
}

در حين ترجمه برنامه مثال بالا پيام زير صادر مي شود : Error directive : enter less than 20

نویسنده مطلب : لوتوس   \  تاریخ درج : یکشنبه 15 آبان1384   23:38 \

دستور پيش پردازنده #line

دسته بندی : / لینک ثابت


دستور # line محتويات دو ماكروي -LINE و -FILE - را تغيير مي دهد . دستور # line
به صورت زير بكار مي رود : "
نام فايل " <شماره > # line
شماره ، يك عدد صحيح مثبت است كه مقدار جديد ماكروي -LINE- را مشخص مي كند
و " نام فايل " كه اختياري نيز هست ، محتويات جديد ماكروي -FILE- را تعيين
مي كند . ماكروي # line براي اشكال زدايي برنامه مفيد است .

مثال : #include "stdio.h"
#line 100
main)(
{
printf("\nprintf start at address:");
printf("%d\n"/_LINE)_;
}

در مثال بالا مقدار اوليه اي كه در ماكروي -LINE- قرار مي گيرد برابر با 100
است . لذا شماره دومين دستورprintf برابر با 105 خواهد بود. اين مطلب از خروجي امه كه چاپ محتويات ماكروي -LINE- است مشخص مي گردد .


نویسنده مطلب : لوتوس   \  تاریخ درج : یکشنبه 15 آبان1384   23:36 \

اسامي ماكروهاي از پيش تعريف شده

دسته بندی : / لینک ثابت


اسامي تعداد 5 ماكرو ( قبلا"تعريف شده است ) كه به همراه كامپايلر استاندارد
زبان C وجود دارند ، عبارتند از : - LINE( -1
- FILE( -2
- DATE( -3
- TIME( -4
- STDC( -5

ماكروي -LINE- حاوي شماره دستوري از فايل برنامه است كه در حال ترجمه شدن
مي باشد .
ماكروي -FILE- حاوي نام فايلي است كه اكنون در حال ترجمه شدن مي باشد .
ماكروي -DATE- حاوي رشته اي بصورت mm/dd/yy است و حاوي تاريخي است كه فايل
برنامه ، ترجمه شده است ( mm براي بيان ماه ، dd براي بيان روز و yy براي بيان
سال است ) .
ماكروي -TIME- حاوي رشته اي بصورت hh:mm:ss است و شامل زماني است كه فايل
برنامه ، ترجمه شده است ( hh براي بيان ساعت ، mm براي بيان دقيقه و ss براي
بيان ثانيه است ) .
ماكروي -STDC- مشخص مي كند كه كامپايلر مورد استفاده استاندارد است يا خير.
اگر محتويات اين ماكرو برابر با يك (1) باشد ، كامپايلر استاندارد و در غير د استاندارد نيست .


نویسنده مطلب : لوتوس   \  تاریخ درج : یکشنبه 15 آبان1384   23:35 \

حذف ماكروهاي تعريف شده

دسته بندی : / لینک ثابت

اگر در برنامه ، ماكرويي توسط دستور # define تعريف گردد ، دستور # undef
مي تواند از يك نقطه دلخواه برنامه ( از نقطه اي كه اين دستور قرار مي گيرد )
به بعد ، تعريف ماكرو را بي اثر سازد . اين دستور بصورت زير بكار مي رود :
<نام ماكرو># undef
تعريف ماكرويي كه نام آن در دستور # undef آمده است از جايي كه اين دستور
در برنامه ظاهر مي گردد به بعد ، منتفي مي شود .

مثال : #define LEN 100
#define WIDTH 100
main)(
{
char array[LEN][WIDTH];
#undef LEN
#undef WIDTH
.
.
.


نویسنده مطلب : لوتوس   \  تاریخ درج : یکشنبه 15 آبان1384   23:33 \

دستورات پيش پردازنده شرطي

دسته بندی : / لینک ثابت

در حالت معمولي ، دستورif براي تصميم گيري در نقاط مختلف برنامه بكار ميرود.
شرطهايي كه در دستور if ذكر مي شوند در حين اجراي برنامه ارزشيابي مي شوند .
يعني اگر شرط ذكر شده در دستور if چه درست باشد يا نادرست ، اين دستور و كليه
دستورات ديگر كه در بلاك if قرار دارند ترجمه مي شوند . ولي در دستورات پيش
پردازنده شرطي ، شرطي كه در آن ذكر مي شود در حين ترجمه ارزشيابي مي شود .
دستورات پيش پردازنده شرطي عبارتند از : # if/ # else/ # endif/ # ifdef/ # ifnder

دستور #if بصورت زير بكار مي رود :
عبارت شرطي # if
مجموعه دستورات # endif

عبارت شرطي كه در دستور # if ذكر مي شود ، عبارتي است كه مقدار آن در زمان
ترجمه معلوم است . اين عبارت در حين ترجمه ارزيابي مي شود . چنانچه داراي ارزش "
درستي " باشد مجموعه دستورات موجود در بين # if ( ابتداي بلاك ) و # endif
( انتهاي بلاك ) ترجمه خواهد شد وگرنه اين مجموعه دستورات ترجمه نمي گردد .

مثال 1: #include "stdio.h"
#define max 100
main)(
{
#if max>90
printf("compiled for array" );
printf(" qreater than 90\n");
#endif
}

خروجي برنامه مثال 1 : compiled for array greater than 90

وقتي برنامه مثال 1 ترجمه ميگردد شرط 90>MAX تست ميشود، چون اين شرط برقرار
است ، دستور بعدي ترجمه شده و آماده اجرا مي گردد كه نتيجه اجراي آن را نيز
مشاهده نموديد .
نحوه عمل #else همانند else در دستور if است ( مثال 2 ) .

مثال 2: #include "stdio.h"
#define max 10
main)(
{
#if max>99
printf("compiled for array...\n" );
#else
printf("compiled for small array" );
#endif
}

خروجي برنامه مثال 2 : compiled for small array

در برنامه مثال 2 چون شرط 99>MAX برقرار نيست ، لذا دستور بعد از آن ترجمه
نميشود. اما دستور بعداز #else ترجمه شده و پس از اجرا نتيجه زير حاصل ميگردد: "Compiled for small array"
#elif
مشابه دستور else if رفتار مي كند و بصورت زير استفاده مي شود :
عبارت شرطي 1 # if
مجموعه دستورات 1
عبارت شرطي # elif 2
مجموعه دستورات 2
عبارت شرطي # elif 3
مجموعه دستورات 3 .
.
.

عبارت شرطي # elif n
مجموعه دستورات n # endif

همانطور كه ملاحظه مي شود ، هر # elif به همراه يك عبارت شرطي است كه اگر
نتيجه ارزيابي آن ارزش " درستي " داشته باشد مجموعه دستورات مربوط به آن ترجمه
شده و كنترل به دستور بعداز# endif برمي گردد، وگرنه شرطهاي موجود در#elif هاي
بعدي مورد بررسي قرار مي گيرند ، اگر هيچكدام از عبارات شرطي ذكر شده در اين
ساختار داراي ارزش " درستي " نباشند ، هيچيك از مجموعه دستورات 1تا nا ترجمه
نخواهد شد .

مثال 3: #define US 0
#define ENGLAND 1
#define IRAN g
#define ACTIVE_COUNTRY US
main)(
{
#if ACTIVE_COUNTRY==US
char currency[]="dolar";
#elif ACTIVE_COUNTRY==ENGLAND
char curreney[]="pound";
#else
char curreney[]="rials";
#endif
printf("\n currency is:");
printf("%s"/currency);
}

خروجي برنامه مثال 3 : currency is:dolar

استفاده از #ifdefو #ifndefو روش ديگري براي پياده سازي ترجمه شرطي دستورات
است ( #ifdef يعني "if defined"و #ifndefو يعني "if not defined" ) .
دستور #ifdef بصورت زير بكار مي رود :
نام ماكرو #ifdef
مجموعه دستورات #endif

اگر ماكرويي كه نام آن در جلوي #ifndef ذكر شده است در يك دستور #define
تعريف شده باشد در اين صورت مجموعه دستورات ذكر شده ، ترجمه خواهند شد وگرنه
اين دستورات ترجمه نمي گردند .
دستور # ifndef كه عكس دستور #ifedf عمل مي كند بصورت زير استفاده مي شود :
نام ماكرو #ifndef
مجموعه دستورات #endif

اگر ماكرويي كه نام آن در جلوي # ifndef ذكر شده است در يك دستور # define
تعريف نشده باشد مجموعه دستورات ذكر شده ، ترجمه مي گردند وگرنه ترجمه نخواهند
شد .

مثال 4: #include "stdio.h"
#define TEN 10
main)(
{
#ifdef TEN
printf("\n TEN defined.");
#else
printf("\n TEN not defined.");
#endif
#ifndef ALPHA
printf("\n ALPHA is not defined.");
#endif
}

در برنامه مثال 4 دستور# ifedf تست مي كند كه آيا ماكروي TEN تعريف شده است
يا خير . چون اين ماكرو در اين برنامه تعريف شده است ، دستور بعد از آن ترجمه
شده و پس از اجراي نتيجه زير حاصل مي شود : TEN defined

دستور #ifndef تعريف يا عدم تعريف ماكروي ALPHA را تست مي كند كه چون اين كرو تعريف نشده است موجب خروجي زير مي شود :


نویسنده مطلب : لوتوس   \  تاریخ درج : یکشنبه 15 آبان1384   23:29 \

ضميمه كردن فايل ها (file inclusion)

دسته بندی : / لینک ثابت


در زبان C مي توان در حين ترجمه (compile) برنامه ، يك يا چند فايل را به آن
ضميمه كرده و مورد پردازش قرار داد. به فايلهايي كه بدين طريق به برنامه ضميمه
ميشوند، header file گفته ميشود. ضميمه كردن فايل ها، توسط دستور پيش پردازنده #include
انجام مي شود . اين دستور بصورت هاي زير مورد استفاده قرار مي گيرد : "
اسم فايل #include "
<اسم فايل >#include
فايلهاي header مي توانند به دو دسته تقسيم شوند :
الف ) فايلهايي هستند كه همراه كامپايلر C وجود دارند و انشعاب همه آنها h.
است .
ب ) فايلهايي هستند كه توسط استفاده كننده نوشته مي شوند .
از روش اول استفاده دستور # include براي ضميمه فايلهايي استفاده مي شود كه
توسط استفاده كننده نوشته شده اند و از روش دوم ، براي ضميمه فايل هايي به كار
گرفته مي شود كه همراه كامپايلر C وجود داشته و معمولا" در فهرستي بنام include
قرار دارند .
فايلهاي header از اهميت ويژه اي برخوردارند زيرا : 1
بسياري از توابع مثل ()getchar و ()putchar در فايل هاي header مربوط به
سيستم ، بصورت ماكرو تعريف شده اند . 2
با فايل هاي header معمولي ( مربوط به استفاده كننده ) علاوه بر تعريف
ماكروها ، مي توان از بسياري از تعاريف تكراري جلوگيري كرد .

مثال 1: دستور زير ، موجب ضميمه شدن فايل stdio.h به برنامه مي گردد . # include

فرض كنيد كار ما طوري است كه همواره برنامه هايي مينويسيم كه نياز به محاسبه
مساحت هاي اشكال مختلفي مثل دايره ، بيضي و غيره دارد . بهتر است براي سهولت
كار ، مساحت كليه اشكال را بصورت ماكرو تعريف كرده و در يك فايل header قرار
دهيم . سپس در ابتداي برنامه مورد نظر، آن را توسط دستور # include معرفي كنيم
تا به برنامه ضميمه شود . نام فايل header را كه براي اين منظور نوشته مي شود h
.ar انتخاب كرده ، محتويات آن را مي توان بصورت زير نوشت : #define PI #.14159
#define AREA_CITCLE(radius )\
( PI*radius*radius)
#define AREA_SQUARE(length/width )\
( length*width)
#define AREA_TRIANGLE(base/height )\
( base*height/2)
#define AREA_ELLIPS(radius1/radius2 )\
( PI*radius1*radius2)
#define AREA_TRAPEZOID(heigth/side1/ \
side2( )heigth*(side1+side2)/2)

پس از تشكيل فايل ar.h مي توان با ضميمه نمودن اين فايل به هر برنامه اي كه
نياز به محاسبه مساحت اشكال هندسي ذكر شده در اين فايل را دارد ، از ماكروهاي
تعريف شده در اين فايل استفاده كرد .

مثال 2: برنامه اي كه با استفاده از فايل ar.h مساحت مثلثي را محاسبه ميكند. #include
#include
main)(
{
int bas/height/s;
float s;
base=10;
height=15;
s=AREA-TRIANGLE(base/hight);
printf("%f"/s);
}

نمونه اي از خروجي برنامه مثال 2 : the area of triangle


نویسنده مطلب : لوتوس   \  تاریخ درج : دوشنبه 2 آبان1384   21:1 \

تعريف ماكرو

دسته بندی : / لینک ثابت

ماكرو، نامي براي يك رشته است كه اين رشته مي تواند تركيبي از خروف ، ارقام
مقادير ثابت ، توابع و غيره باشد . دستور پيش پردازنده # define براي تعريف
ماكرو استفاده مي شود . اين دستور قبل از تابع ()main به دو صورت بكار مي رود
كه يك روش آن بصورت زير است :
<نام ماكرو> <رشته ># define
نام ماكرو همانند نام يك متغير در C است كه حداقل بايد با رشته تعريف كننده
ماكرو ، يك فاصله داشته باشد و بهتر است جهت مشخص بودن در برنامه با حروف بزرگ
انتخاب شود . بعنوان مثال ، دستور # define MAX 20

موجب مي شود تا مقدار ماكروي MAX در سرتاسر برنامه برابر با 20 فرض شود .
يعني در هر جاي برنامه از ماكروي MAX استفاده شود مثل اين است كه از عدد 20
استفاده شده است .
در مورد دستورات پيش پردازنده در زبان C ، بايد اين نكته را در نظر داشت كه
آنها عليرغم ساير دستورات زبان C ، به ; ختم نمي شوند .

مثال 1: برنامه اي كه چگونگي استفاده از ماكروها را نشان مي دهد. اين برنامه
تعدادي عدد را از ورودي خوانده و مجموع آنها را محاسبه مي كند ( اگر عددي كه
وارد مي شود ، منفي باشد ، برنامه متوقف مي شود ) . #define program main)(
#define FLOAT float
#define WHILE while(
#define DO)
#define BEGIN {
#define end }
#define formatout "the sum is %8.2f\n"
PROGRAM
BEGIN
FLOAT data/sum=0.0;
scanf(FORMATIN/& data);
WHILE data>=0.0 DO
BEGIN
sum+=data;
scanf(FORMATIN/&data);
END
printf(FORMAOUT/SUM);
END

نمونه اي از خروجي برنامه مثال 1 : enter a numbet: 12
enter a numbet: 45
enter a numbet: 83
enter a numbet-: 1
the sum is 140.00

در مثال 1 بجاي تابع اصلي ()mainاز PROGRAMز ، بجاي {از BEGINز ، بجاي } از END
و... استفاده شده است . بديهي است كه انتخاب اين نام ها به نظر برنامه نويس
بستيگ دارد كه مي تواند هر چيز ديگري را بجاي آنها انتخاب نمايد .

مثال 2: برنامه اي كه با استفاده از علامت * ، مثلثي را در صفحه نمايش رسم
مي كند . #define NUMLINE 5
#define BLANK ' '
#define ASTRISK '*'
#define NEWLINE '\n'
main)(
{
int l/le/s ;
1=1;
while( l<=NUMLINE)
{
le=1 ;
while( le++<=NUMLINE-1)
printf("%c"/BLANK);
s=1;
while(s++<=2*1-1)
printf("%c"/ASTRISK);
printf("%c"/NEWLINE);
l++;
}
}

خروجي برنامه مثال 2 : *
* * *
* * * * *
* * * * * * *
* * * * * * * * *

كاربرد ديگر دستور# define در تعريف ماكروهايي است كه داراي پارامتر باشند.
در اين مورد از دستور # define بصورت زير استفاده مي شود . # define READINT(I )scanf("%d/&I)

تعريف ماكرو ، مشخص مي كند كه چه عملي بايد توسط ماكرو انجام گيرد . اسامي
پارامترها متغيرهايي هستند كه در حين اجراي ماكرو به آن منتقل مي شوند . اگر
تعداد آنها بيش از يكي باشد ، با كاما از يكديگر جدا مي گردند . برخلاف توابع
در ماكروها نيازي به تعريف نوع پارامترها نيست . بعنوان مثال دستور # define READINT(I )scanf("%d/&I)

ماكرويي بنام READINT تعريف ميكند كه داراي پارامترI است ، درهنگام فراخواني
اين ماكرو ( كه توسط نام آن انجام مي شود ) بايد آرگوماني را ذكر كنيم . اين
آرگومان در عبارت ("%d"/&I)scanf بجاي متغير I منظور شده و تابع scanf عددي را
از ورودي خوانده و در متغيري كه بعنوان آرگومان ذكر شده است قرار مي دهد . به
عنوان مثال اگر بخواهيم متغيري مثل distance رااز ورودي بخوانيم كافيست ماكروي
فوق را بصورت زير فراخواني كنيم : READINT( distance);

اگر تعريف ماكرو شامل عبارتي طولاني باشد ( به طوري كه در يك خط قابل بيان
نباشد ) مي توان آن را در دو يا چند خط ادامه داد . بدين منظور بايد در انتهاي
هر خط ناتمام ، از كاراكتر \(back slash() استفاده نمود . دستور زير را در نظر
بگيريد : # define IS_EQU( y )y% 4==0 && y %100 != 0 || \
y%400=0

همانطور كه در دستور فوق مشاهده مي گردد در انتهاي اولين خط ، از كاراكتر \
استفاده شد تا بتوان بقيه عبارت ماكرو را در خط بعدي تايپ نمود .
اگر ماكروي IS_EQU با پارامتري بنام year فراخواني گردد ، اين متغير بجاي y
قرار خواهد گرفت . يعني فراخواني : if( IS_EQU( year))

معادل دستور زير است : if( year %4= 0 && year %100 != 0 || year %400 == 0)

در فراخواني ماكروها بايد دقت كافي بخرج داد تا از اجراي آنها نتيجه مطلوبي
بدست آيد . بعنوان مثال ماكروي نوشته شده براي انجام عمل توان يك عدد را درنظر
بگيريد : # define SQURE( x )x*x

اكنون به دو فراخواني ماكرو SQURE توجه نماييد : S= SQURE(b( )1)

( با فراخواني فوق ، حاصل b*b در متغيري s قرار مي گيرد كه منظور برنامه نويس
برآورده مي شود ) . S= SQURE(x+1( )2)

در اثر اين فراخواني ، عبارت x+1 * x+1 ارزيابي شده و نتيجه آن در s قرار
مي گيرد كه با توجه به تقدم عملگرها ( كه تفدم عمل ضرب (*) بيشتر از تقدم عمل
جمع (+) است ) . نتيجه ارزيابي ، با توان عدد x+1 برابر نيست . براي رفع اين
مشكل دو راه حل وجود دارد : راه حل اول x+1 را در يك متغير قرار داده و سپس
آن متغير را بعنوان پارامتر به ماكرو منتقل كرد . راه حل دوم ماكرو را طوري
تعريف نمود كه از ايجاد اين اشتباه جلوگيري شود : # define SQURE(( x )*( x))

اكنون اگر ماكروي فوق با x+1 فراخواني گردد عبارت زير حاصل مي شود كه نتيجه
ارزيابي آن ، صحيح است . S=(( x+1 )*( x+1))


مثال 3: برنامه اي كه با استفاده از يك ماكرو ، مساحت دايره اي را محاسبه
مي نمايد . # define PI 3.14159
# define AREA(X( )PI*X*X)
main)(
{
float radius ;
printf("\n enter radius: " );
scanf("%f"/&radius );
printf("\n area is:" );
printf("%.2f "/AREA(radius ));
}

نمونه اي از خروجي برنامه مثال 3 : en

نویسنده مطلب : لوتوس   \  تاریخ درج : دوشنبه 2 آبان1384   20:56 \