توابع پيش ساخته
علاوه بر توابع متعددی که می توانید بسازید ++C توابع آماده مفیدی را در اختيار می گذارد. توابع پيش ساخته (built-in functios) يا کتابخانه ای توابعی هستند که می توانيد از آنها در برنامه استفاده کنيد. برای استفاده از يک تابع کتابخانه ای ابتدا تابع و شرح آنرا را از مراجع برنامه نویسی پيدا کنيد. هر تابع کتابخانه ای دارای يک هدر فايل است که پروتوتايپ تابع را دربردارد و توسط دستور #include بايد به برنامه ضميمه شود. تابع را طبق گرامر آن فراخوانی کنيد. اگر در فراخوانی تابع اشتباهی وجود داشته باشد کامپايلر پيغام خطا می دهد.
توابع ریاضی
هدرفايل |
شرح |
تابع |
|
یک زاویه را گرفته کسینوس آنرا می دهد |
double cos(double); |
|
یک زاویه را گرفته سینوس آنرا می دهد |
double sin(double); |
|
یک زاویه را گرفته تانژانت آنرا می دهد |
double tan(double); |
|
یک عدد را گرفته لگاریتم طبیعی آنرا بر می گرداند |
double log(double); |
|
عدد اولی را به توان دومی می رساند |
double pow(double,double); |
|
دو ضلع مثلث قائم الزاویه را گرفته و طول وتر را می دهد |
double hypot(double,double); |
|
ریشه دوم عدد صحیح را برمی گرداند |
double sqrt(double); |
|
قدرمطلق یک عدد صحیح را برمی گرداند |
int abs(int); |
|
قدرمطلق يک عدد اعشاری را برمی گرداند |
double fabs(double); |
|
بزرگترين عدد صحیحی که کمتر یا مساوی آرگومان باشد را برمی گرداند |
double floor(double); |
|
کوچکترين عدد صحیحی که بيشتر یا مساوی آرگومان باشد را برمی گرداند |
double ceil(double); |
هدرفايل |
شرح |
تابع |
|
یک عدد صحیح را به معادل کاراکتری تبدیل می کند. Radix مبنای عدد صحیح است |
char *itoa(int value, char *buffer, int radix) |
|
یک کاراکتر را به یک عدد صحیح معادل تبدیل می کند |
int atoi(const char *string); |
|
کاراکتر را به حالت کوچک تبدیل می کند |
int tolower(int c); |
|
کاراکتر را به حالت بزرگ تبدیل می کند |
int toupper(int c); |
|
ههر چیزی که در source باشد در مقصد کپی می کند. Size تعداد کپی را معین می کند |
void *memcpy(*destination, *source, size) |
|
distination را با کارکتری که در replacement قرار دارد تنظیم می کند |
void *memset(*destination, replacement, size) |
عملگر & با تابع itoa بکار می رود. x=itoa(&a);
مثال. memcpy و memset اکثرا برای داده هائی مانند ساختمان و آرايه بکار می روند. برنامه زير آرايه x را در y کپی می کند.
#include
#include
int main() {
int x[10]={1,2,4,6,6,9,0,11,7,2};
int y[10];
memcpy(x,y,10);
return 0;
}
توابع زمان
با اضافه کردن فایل هدر time می توان به توابع زمان دسترسی پیدا کرد. برخی توابع پر استفاده در جدول زیر آمده است:
هدرفايل |
شرح |
تابع |
|
تعداد ثانیه های سپری شده از ساعت 00:00 اول ژانویه 1970 را می دهد |
time_t time(time_t *time); |
|
زمان را به ساختمان tm با ساعت محلی تبدیل می کند |
struct tm *localtime(const time_t *time); |
|
تفاوت دو زمان را می دهد |
double difftime(time_t time2,time_1 time1); |
|
تایمر را به ساختمان tm با ساعت GMT تبدیل می کند |
struct tm *gmttime(const time_t *time); |
|
زمان را به رشته ای شامل ساعت و تاریخ متناسب با زمان محلی در فرمت خوانا تبدیل می کند. |
Char *ctime(const time_t *time); |
مثال. برنامه زير ساعت و تاريخ جاری سيستم را می دهد.
#include
#include
int main () {
time_t rawtime;
time ( &rawtime );
cout << "Current date and time is: "<< ctime (&rawtime);
return 0;
}
توابع اعداد تصادفی
برای تولید کلید رمز یا بازی ها نیاز به تابعی برای تولید یک عدد تصادفی است. توابع زير برای این منظور می تواند بکار رود.
هدرفايل |
شرح |
تابع |
|
يک عدد تصادفی بين 0 و n-1 را بر می گرداند. |
int random(int n); |
, |
|
randomize(); |
مثال. برنامه زير 10 عدد تصادفی را نمايش می دهد.
#include
#include
#include
int main() {
int i,j;
randomize();
for( i = 0;i < 10;i++ ){
j= rand();
cout << j << endl; }
return 0;
}