تبلیغات
برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس - مطالب ابر توابع

برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس

بزرگترین پایگاه آموزش سی پلاس پلاس و سورس تمام برنامه های آن

یکی از دوستان برنامه ای رو خواسته بودن که امکان گزارش زمان ورود و خروج ماشین ها، میزان مبلغ پرداختی آنها که ساعت اول رایگان است و 200 تومان بابت ورود و از ساعت دوم هر ساعت 100 تومان میباشد، و لیست کلی به همراه جستجو را داشته باشد.


ادامه مطلب(کد برنامه)

آرایه های دو بعدی به عنوان آرگومان تابع:

برای ارسال آرایه های دو بعدی به عنوان آرگومان یک تابع باید نام تابع به عنوان آرگومان ذکر شود و برای تعریف پارامتر معادل آن باید مانند آرایه یک بعدی عمل کرد.
در حالتی که در آرایه یک بعدی پارامتر به صورت آرایه بدون طول ذکر می شد، در آرایه دو بعدی طول سطر ذکر نمی شود ولی طول ستون حتما باید ذکر شود و در این حالت طول سطر به عنوان آرگومان دیگری به تابع ارسال میشود.

شکل کلی ارسال آرایه دو بعدی به یک تابع:

void f1(int a[5][10]);
void f2(int a[][10], int);
int main()
{
    int a[5][10];
    ...
    f1(a);
    f2(a,5);
    ...
    return 0;
}

void f1(int a[5][10])
{
    ...
}
void f2(int x[][10], int row)
{
    ...
}

//end


دوستانی که با کامپایلر Dev C++ کار کرده اند، حتما میدانند که این کامپایلر دو تابع مهم gotoxy و clrscr رو در خودش به صورت تعریف شده نداره. ولی میشه این دو رو تعریف کرد و حتی بعد از تعریف با فرمت .h ذخیره و به عنوان هدر فایل استفاده کرد.
روش تعریف این دو در Dev C++ به شکل زیر است:

#include <iostream>
#include <windows.h>

using namespace std;

void gotoxy(int x, int y)
{
     HANDLE hConsoleOutput;
     COORD dwCursorPosition;
     cout.flush();
     dwCursorPosition.X=x;
     dwCursorPosition.Y=y;
     hConsoleOutput=GetStdHandle(STD_OUTPUT_HANDLE);
     SetConsoleCursorPosition(hConsoleOutput, dwCursorPosition);
}

void clrscr()
{
     system("cls");
}


//end


فراخوانی توابع:

برای فراخوانی یک تابع در تابع اصلی، کافیست نام تابع به همراه مقادیر پارامتر های تابع(در صورت وجود) را بنویسیم.

مثال:

#include <iostream.h>
int f(int x, int y)
{
    return x*y;
}
void main()
{
    int a,b;
    cout<<"Enter 2 numbers:"<<endl;
    cin>>a>>b;
    cout<<"\nResult: "<<f(a,b);
}

//end

نعریف پارامتر:

به مقادیر یا متغیر هایی که هنگام فراخوانی یک تابع، جایگزین آرگومان های تابع میشوند، پارامتر گویند.
در مثال قبل که f(a,b) را فراخوانی کردیم، مقادیر a,b جایگزین x,y در تابع شدند. یعنی x,y آرگومان های تابع هستند و a,b پارامتر های تابع محسوب میشوند.

نکته: تابع میتواند آرگومان ورودی نداشته باشد که در این صورت میتوان در هنگام تعریف، نوع بازگشتی تابع را از نوع void معرفی کرد یا پرانتز جلوی تابع را خالی گذاشت.

مقدار بازگشتی تابع:

به مقداری که تابع بعد از اتمام عملیات به خود می گیرد، مقدار بازگشتی تابع میگویند که با return مشخص میشود.
در مثال قبل، بعد از کلمه ی return عبارت x*y وجود دارد. یعنی x*y محاسبه شده و مقدار حاصل را در تابع میریزد.

نکته: در صورتی که در یک تابع بیش از یک return وجود داشته باشد، return اول مقدار را بازگشت داده و مابقی دستورات اجرا نمیشوند.


در زیر تعدادی از توابع ریاضی مهم در ++C را آورده ام که برای استفاده از آنها باید هدر کتابخانه ای math.h را فراخوانی کنید:

sqr(x): مجذور متغیر x
sqrt(x): جذر متغیر x>=0
fmod(x): باقیمانده تقسیم x بر y
pow(x,y): x به توان y
abs(x): قدر مطلق x

و تعدادی از توابع آشنا:
log(x)
log10(x)
sin(x)
cos(x)
tan(x)


//end


  • کل صفحات:0  
  •