دکوراسیون داخلی | مدل دکوراسیون|عکس دکوراسیون منزل

دکوراسیون منزل و دکوراسیون داخلی
دکوراسیون داخلی دکوراسیون داخلی دکوراسیون داخلی

آموزش تابع های زبان سی C++

آموزش زبان برنامه نویسی C++-inline توابع

آموزش زبان برنامه نویسی سی پلاس پلاس:هنگامی که تابع B() را از تابع A() فراخوانی می کنید,تابع A() یک درخواست ارسال می کند و باید به تابع B() برسد که این گاهی اوقات برای تابع های طولانی سنگین می باشد.هرگاه برنامه ی شما شامل یک تابع کوچک است,++C ممکن می سازد,چنین تابعی را در جاییکه فراخوانی شده قرار دهید.هنگامی که تابع B() تابع A() را صدا می زند,به جای ارسال درخواست به تابع A(),کامپایلر یک کپی از تابع A() را درون تابع B() در جاییکه آن فراخوانی شده است قرار خواهد داد.چنین تابعی inline می باشد.

برای ایجاد تابع به صورت inline از کلمه ی کلیدی inline هنگام ایجاد تابع همینطور هنگام تعریف آن استفاده کنید.مثال زیر نمونه ی استفاده از تابع به صورت inline می باشد:

#include <iostream>
using namespace std;

inline void Area(float Side)
{
    cout << "The area of the square is " << Side * Side;
}

int main()
{
    float s;

    cout << "Enter the side of the square: ";
    cin >> s;
    Area(s);

    return 0;
}
نتیجه ی اجرای برنامه به صورت زیر خواهد بود:


Enter the side of the square: 14.55
The area of the square is 211.702

همچنین می توانید از کلمه ی کلیدی روی تابع inline استفاده کنید.برای ایجاد تابع به صورت inline,هر دو کلمه را در آغاز ایجاد تایپ کنید.برنامه ی زیر حقوق ساعتی را از کاربر درخواست می کند.سپس درآمد دوره ای را محاسبه می کند:

#include <iostream>
using namespace std;

void inline RequestSalary(double& h);
inline double Daily(double h);
double inline Weekly(double h);
inline double BiWeekly(double h);
double inline Monthly(double h);
double inline Yearly(double h);

int main()
{
    double HourlySalary;

    cout << "This program allows you to evaluate your salary "
           << "for different periods\n";

    RequestSalary(HourlySalary);

    cout << "\nBased on the hourly rate you supplied, here are your "
           << "periodic earnings";
    cout << "\n\tHourly:    $" << HourlySalary;
    cout << "\n\tDaily:     $" << Daily(HourlySalary);
    cout << "\n\tWeekly:    $" << Weekly(HourlySalary);
    cout << "\n\tBi-Weekly: $" << BiWeekly(HourlySalary);
    cout << "\n\tMonthly:   $" << Monthly(HourlySalary);
    cout << "\n\tYearly:    $" << Yearly(HourlySalary);

    cout << "\n\n";
    return 0;
}

void inline RequestSalary(double& x)
{
    cout << "Enter your hourly salary: $";
    cin >> x;
}

inline double Daily(double x)
{
    return x * 8;
}

double inline Weekly(double x)
{
    return Daily(x) * 5;
}

inline double BiWeekly(double x)
{
    return Weekly(x) * 2;
}

double inline Monthly(double x)
{
    return Weekly(x) * 4;
}

double inline Yearly(double h)
{
    return Monthly(h) *  12;
}

نتیجه ی اجرای برنامه به صورت زیر می باشد:
This program allows you to evaluate your salary for different periods
Enter your hourly salary: $15.55

Based on the hourly rate you supplied, here are your periodic earnings
        Hourly:    $15.55
        Daily:     $124.4
        Weekly:    $622
        Bi-Weekly: $1244
        Monthly:   $2488
        Yearly:    $29856

منبع:www.functionx.com

آموزش زبان برنامه نویسی-گرانبار کردن تابع

آموزش زبان برنامه نویسی سی پلاس پلاس:یک برنامه ی ++C که سر و کار با نام های زیاد که نماینده ی متغیر ها و تابع ها از هر نوع می باشند,دارد,کامپایلر این امکان را که دو متغیر نام یکسان در یک تابع یکسان داشته باشند را نخواهد داد.اگر چه دو تابع در یک برنامه باید نام های منحصر بفرد داشته باشند.++C ممکن می سازد که شما از نام یکسان برای تابع های مختلف در یک برنامه که از قاعده های معلوم پیروی می کند استفاده کنید.قابلیت داشتن توابع مختلف با نام یکسان را گرانبارکردن تابع می نامند.مهم ترین قاعده ای که در مورد گرانبار کردن تابع رعایت می شود اطمینان از داشتن تعداد و نوع متفاوت آرگومان های تابع ها می باشد.

ممان اینرسی قابلیت, شعاع برای استقامت خمش می باشد.آن با توجه به قسمت حد وسط شعاع محاسبه می شود.چون آن بستگی به نوع بخشی از شعاع دارد محاسبه ی آن نیز بستگی به نوع بخشی از شعاع دارد.در این تمرین ما فرمول های مختلف استفاده شده برای محاسبه ی ممان اینرسی را مرور خواهیم کرد.از آنجاییکه این تمرین برای نمایش اهداف می باشد,شما برای درک آن نیازی به علم مهندسی نخواهید داشت.

آموزش زبان برنامه نویسی سی

مثال زیر محاسبه ی ممان اینرسی با توجه به محور X می باشد:

#include <iostream>
using namespace std;

// Rectangle
double MomentOfInertia(double b, double h)
{
	return b * h * h * h / 3;
}

int main()
{
	double Base, Height;

	cout << "Enter the dimensions of the Rectangle\n";
	cout << "Base: "; cin >> base;
	cout << "Height: "; cin >> height;

	cout << "\nMoment of inertia with regard to the X axis: ";
	cout << "I = " << MomentOfInertia(base, height) << "mm" << "\n\n";

	return 0;
}

شکل زیر فرمول های محاسبه ی ممان اینرسی برای نیم دایره می باشد:

inertia2

ممان اینرسی دایره

یک دایره و بدینسان یم نیم دایره, تنها یک شعاع لازم دارد.از آنجاییکه نسخه های دیگر تابع MomentOfInertia() دو آرگومان نیاز دارد,ما می توانیم آن را با تهیه ی یک آرگومان گرانبار کنیم ,شعاع.مثال زیر محاسبه ی ممان اینرسی با توجه به محور پایه یا X می باشد,گرانبار گردن تابع MomentOfInertia() به صورت زیر می باشد:

#include <iostream>
using namespace std;

// Rectangle
double MomentOfInertia(double b, double h)
{
	return b * h * h * h / 3;
}

// Semi-Circle
double MomentOfInertia(double R)
{
	const double PI = 3.14159;

	return R * R * R * R * PI/ 8;
}

int main()
{
	double base, height, radius;

	cout << "Enter the dimensions of the Rectangle\n";
	cout << "Base: "; cin >> base;
	cout << "Height: "; cin >> height;

	cout << "\nMoment of inertia with regard to the X axis: ";
	cout << "I = " << MomentOfInertia(base, height) << "mm";
	cout << "\n\nEnter the radius: "; cin >> radius;

	cout << "Moment of inertia of a semi-circle with regard to the X axis: ";
	cout << "I = " << MomentOfInertia(radius) << "mm\n\n";

	return 0;
}

تصویر زیر فرمول های محاسبه ی ممان اینرسی مثلث می باشد:

آموزش زبان برنامه نویسی سی

همانطورکه می بینید,مستطیل و مثلث از نوع ابعاد یکسان استفاده می کنند.یعنی ما می توانیم برای محاسبه ی ممان اینرسی آرگومان هایی از نوع یکسان را تهیه کنیم,قاعده و ارتفاع.همچنین یعنی ++C این امکان را به ما نمی دهد که دو تابع نام های یکسان و تعداد آرگومان یکسان و نوع آرگومان یکسان بنویسیم,چون قاعده ی گرانبارکردن تابع نقض خواهد شد.

برای گرانبار کردن تابع MomentOfInertia() ,ما می خواهیم آرگومانی را اضافه کنیم که هرگز استفاده نخواهد شد.این آرگومان فقط به عنوان “witness” یا مدرک برای روشن کردن تفاوت بین دو نسخه ی تابع به کار رفته است.آرگومان “witness” یا مدرک می تواند هر چیزی باشد,یک عدد صحیح,یک کاراکتر,یک رشته,یک عدد شناور و… .در این مثال ما آن را یک عدد صحیح ساده در نظر گرفتیم.برای استفاده از نسخه ی بکار رفته برای مثلث,ما این آرگومان را برای گرانبار کردن تابع MomentOfInertia() فراهم خواهیم کرد.هنگامی که آن را تنها با دو آرگومان فراخوانی کنیم,نسخه ی مربوط به مستطیل بکار گرفته خواهد شد.

مثال زیر محاسبه ی ممان اینرسی با توجه محور X می باشد,گرانبار کردن تابع MomentOfInertia به صورت زیر می باشد:

#include <iostream>
using namespace std;

// Rectangle
double MomentOfInertia(double b, double h)
{
	return b * h * h * h / 3;
}

// Semi-Circle
double MomentOfInertia(double R)
{
	const double PI = 3.14159;

	return R * R * R * R * PI/ 8;
}

// Triangle
double MomentOfInertia(double b, double h, int)
{
	return b * h * h * h / 12;
}

int main()
{
	double base = 7.74, height = 14.38, radius = 12.42;

	cout << "Rectangle\n"
		 << "Moment of inertia with regard to the X axis: ";
	cout << "I = " << MomentOfInertia(base, height) << "mm\n\n";

	cout << "Semi-Circle\n"
		 << "Moment of inertia with regard to the X axis: ";
	cout << "I = " << MomentOfInertia(radius) << "mm\n\n";

	cout << "Enter the dimensions of the triangle\n";
	cout << "Base: ";   cin >> base;
	cout << "Height: "; cin >> height;

	cout << "\nTriangle\n" << "Moment of inertia with regard to the X axis: ";
	cout << "I = " << MomentOfInertia(base, height, 1) << "mm\n\n";

	return 0;
}

منبع:www.functionx.com

آموزش زبان برنامه نویسی C++-آرگومان های قراردادی

تابع هنگامی آرگومان دریافت می کند که آن آرگومان مورد نیاز باشد.اگر در فراخوانی تابع آرگومان مورد نیاز فراهم نشود,کامپایلر error خواهد داد.

فرض کنید می خواهید تابعی بنویسید که برای محاسبه ی قیمت نهایی کالا با در نظر گرفتن تخفیف استفاده شود.تابع برای انجام محاسبات به میزان تخفیف نیاز خواهد داشت.چنین تابعی می تواند به صورت باشد :

double CalculateNetPrice(double discountRate)
{
	double OrigPrice;

	cout << "Please enter the original price: ";
	cin >> origPrice;

	return origPrice - (origPrice * discountRate / 100);
}

از آنجاییکه این تابع حامل یک آرگومان است,اگر آن را تامین نکنید,برنامه ی زیر اجرا نخواهد شد:

#include <iostream>
using namespace std;

double CalculateNetPrice(double discountRate)
{
	double origPrice;

	cout << "Please enter the original price: ";
	cin >> origPrice;

	return origPrice - (origPrice * discountRate / 100);
}

int main()
{
	double finalPrice;
	double discount = 15; // That is 25% = 25

	finalPrice = CalculateNetPrice(discount);
	cout << "\nFinal Price = " << finalPrice << "\n\n";

	return 0;
}

اغلب اوقات,یک تابع مانند تابعی که استفاده خواهیم کرد از میزان تخفیف یکسان به طور مکرر استفاده می کند.بنابراین به جای آنکه آرگومان را در هر زمان تامین کنیم,++C ممکن می سازد که شما آرگومانی را تعریف کنید که مقدار آن هرگاه تابع با آرگومان نباشد مورد استفاده قرار گیرد.

برای دادن یک مقدار قرار دادی به آرگومان,هنگام ایجاد تابع,نام آرگومان و سپس عملگر انتساب “=” و بعد مقدار مورد نظر را تایپ کنید.تابع CalculateNetPrice() بامقدار قرار دادی می تواند به صورت زیر تعریف شود:

#include <iostream>
using namespace std;

double CalculateNetPrice(double discountRate = 25)
{
	double origPrice;

	cout << "Please enter the original price: ";
	cin >> origPrice;

	return origPrice - (origPrice * discountRate / 100);
}

int main()
{
	double finalPrice;

	finalPrice = calculateNetPrice();

	cout << "\nFinal Price = " << finalPrice << "\n\n";

	return 0;
}

اگر تابع بیش از یک آرگومان بگیرد,می توانید برای هریک آرگومان قراردادی در نظر بگیرید و مقادیر قراردی هر یک را انتخاب کنید.اگر می خواهید همه ی آرگومان ها مقادیر قراردادی داشته باشند,هنگام تعریف تابع,نام هر یک را تایپ نموده و سپس عملگر انتساب = و بعد مقدار مورد نظر را تایپ نمایید.به مثال زیر توجه کنید:

#include <iostream>
using namespace std;

double CalculateNetPrice(double tax = 5.75, double discount = 25,
		        double origPrice = 245.55)
{
	double discountValue = origPrice * discount / 100;
	double taxValue = tax / 100;
	double netPrice = origPrice - discountValue + taxValue;

	cout << "Original Price: $" << origPrice << endl;
	cout << "Discount Rate: " << discount << "%" << endl;
	cout << "Tax Amount: $" << tax << endl;

	return netPrice;
}

int main()
{
	double finalPrice;

	finalPrice = CalculateNetPrice();
	cout << "Final Price: $" << finalPrice << "\n\n";

	return 0;
}

نتیجه ی اجرای برنامه را در زیر می بینید:

Original Price: $245.55
Discount Rate: 25%
Tax Amount: $5.75

Final Price: $184.22

Press any key to continue...

اگر تابع بیش از یک آرگومان دریافت کند و شما بخواهید برای پارامترهای آن ها مقادیر قراردادی تعیین کنید,مرتب کردن ظاهر آرگومان ها بسیار مهم خواهد بود.

اگر تابع دو آرگومان دریافت کند,می توانید آن را با مقادیر قرار دادی ایجاد کنید.اگر می خواهید تنها برای یکی از آرگومان ها مقدار قراردادی تعیین کنید,آرگومانی که می خواهد مقدار قراردادی داشته باشد باید در لیست آرگومان دوم باشد.به مثال زیر توجه کنید:

  • double CalculatePrice(double Tax, double Discount = 25);

هنگام فراخوان چنین تابعی,اگر تنها یکی از آرگومان ها را تامین کنید,کامپایلر مقدار آن را به پارامتر اول در لیست اختصاص خواهد داد و اختصاص دادن مقدار به پارامتر دوم را نادیده خواهد گرفت (چرا که برای پارامتر دوم از قبل مقدار (قراردادی)در نظر گرفته شده است):

  • #include <iostream>
    using namespace std;
    
    double CalculateNetPrice(double tax, double discount = 25)
    {
    	double origPrice;
    
    	cout << "Enter the original price of the item: ";
    	cin >> origPrice;
    
    	double discountValue = origPrice * discount / 100;
    	double taxValue = tax / 100;
    	double netPrice = origPrice - discountValue + taxValue;
    
    	return NetPrice;
    }
    
    int main()
    {
    	double taxRate = 5.50; // = 5.50%
    	double finalPrice;
    
    	finalPrice = CalculateNetPrice(taxRate);
    
    	cout << "\nFinal Price = " << finalPrice << "\n\n";
    
    	return 0;
    }

نمونه ی نتیجه ی اجرای برنامه به صورت زیر خواهد بود:

  • Enter the original price of the item: 245.55Final Price = 184.218Press any key to continue…

اگر تابعی را تعریف کنید و مقدار قراردی به آرگومان اول آن اختصاص دهید و هنگام فراخوانی تنها یک آرگومان را فراهم کنید,یک error دریافت خواهید کرد.

اگر تابع بیش از دو آرگومان بگیرد و شما می خواهید تنها برخی آرگومان ها مقدار قراردادی داشته باشند,آرگومان هایی که مقادیر قراردادی دارند باید در انتهای (سمت راست) لیست قرار بگیرند.صرفنظر از اینکه چه تعداد از آرگومان ها مقادیر قراردادی خواهند داشت,لیست آرگومان ها با آن هایی که مقادیر قراردادی نخواهند داشت آغاز کنید.

منبع:www.functionx.com

آموزش زبان c++-پاس کردن آرگومان توسط مرجع

آموزش زبان برنامه نویسی سی پلاس پلاس:هنگامی که یک متغیر را در برنامه ایجاد می کنید,کامپایلر مقداری از فضا را به آن متغیر اختصاص می دهد.اگر شما نیاز به استفاده از متغیر در هر جای برنامه داشته باشید,آن را فراخوانی کرده و از مقدار آن استفاده می کنید.در اینجا دو پی آمد عمده به متغیر مربوط می شوند:مقدار متغیر و مکان قرار گرفتن آن در حافظه

. آموزش زبان برنامه نویسی سی

مکان قرار گرفتن متغیر در حافظه آدرس متغیر محسوب می شود.

اگر آرگومانی را با استفاده از نام آن تامین کردید,کامپایلر تنها یک کپی از مقدار آرگومان می سازد و به تابع فراخوانی شده می دهد.اگرچه تابع فراخوانی شده,مقدار آرگومان را می گیرد و می تواند در هر راهی استفاده کند,اما نمی تواند آن را تغییر دهد (به صورت دائمی).C++ ممکن می سازد که در صورت نیاز,تابع فراخوانی شده,مقدار آرگومانی را که پاس شده تغییر دهد.اگر می خواهید تابع فراخوانی شده مقدار آرگومان تامین شده را تغییر دهد و مقدار اصلاح شده را برگرداند,باید آرگومان را با استفاده از مرجع آن پاس کنید.

برای پاس کردن آرگومان به صورت مرجع,هنگامی که تابع را ایجاد می کنید,قبل از نام آرگومان نماد ampersand که & می باشد را قرار دهید.شما می توانید 0 یا 1 یا آرگومان های بیشتر و یا همه ی آرگومان ها را در برنامه به عنوان مرجع پاس کنید.تصمیم اینکه چه آرگومانی باید به صورت مرجع و چه آرگومانی باید توسط مقدار پاس شود,بستگی دارد به اینکه آیا شما می خواهید مقدار آرگومان تابع فراخوانی شده را اصلاح کنید و مقدار آن را به طور دائمی تغییر دهید یا خیر ؟

در زیر به چند مثال که پاس کردن آرگومان به صورت مرجع می باشد را ملاحظه می کنید:

void Area(double &side); // The argument is passed by reference

bool Decision(char &answer, int age); // One argument is passed by reference

// All arguments are passed by reference

float Purchase(float &discountPrice, float &newDiscount, char &commission);

شما یک نماد & را هنگام ایجاد و یا تعریف تابع اضافه نمودید.هنگام فراخوانی تابع,تنها نام آرگومان های مرجع شده را تامین کنید.تابع های بالا می توانند به صورت زیر فراخوانی شوند:

Area(side);

Decision(answer, Age);

Purchase(discountPrice, newDiscount, commission);

تصور کنید که یک تابع نوشته اید که حقوق هفتگی کارمندان را محاسبه نموده و مجموع ساعات هفتگی و نرخ ساعتی را فراهم می کند.برای توضیح هدفمان,ما می خواهیم ببینیم,چطور یا آیا تابع می تواند,مطالبه ی حقوق کسی را که بیشتر از آنچه برنامه نمایش می دهد کار کرده,اصلاح نماید.برنامه را مانند زیر آغاز کنید:

#include <iostream>

using namespace std;

int main()

{

float hours, rate, wage;

void Earnings(float h, float r);

cout << “Enter the total Weekly hours: “;

cin >> hours;

cout << “Enter the employee’s hourly rate: “;

cin >> rate;

cout << “\nIn the main() function,”;

cout << “\n\tWeekly Hours = ” << hours;

cout << “\n\tSalary = $” << rate;

cout << “\n\tWeekly Salary: $” << hours * rate;

cout << “\nCalling the Earnings() function”;

Earnings(hours, rate);

cout << “\n\nAfter calling the Earnings() function, “

<< “in the main() function,”;

cout << “\n\tWeekly Hours = ” << hours;

cout << “\n\tSalary = ” << rate;

cout << “\n\tWeekly Salary: ” << hours * rate;

return 0;

}

void Earnings(float thisWeek, float salary)

{

cout << “\n\nIn the Earnings() function,”;

cout << “\n\tWeekly Hours = ” << thisWeek;

cout << “\n\tSalary = ” << salary;

cout << “\n\tWeekly Salary= ” << thisWeek * Salary;

}

اگر شما برنامه را با عدد 32 به عنوان ساعات هفته 6.45 برای حقوق امتحان کنید,متوجه خواهید شد که مقادیر هفتگی یکسان هستند.

مطالبه ی کارکنان را 42 ساعت کار برای پاس کردن ساعات هفتگی فرض کنید.می توانید برای پی بردن به آن تابع زیر را بسازید:

void Earnings(float thisWeek, float salary)

{

thisWeek = 42;

cout << “\n\nIn the Earnings() function,”;

cout << “\n\tWeekly Hours = ” << thisWeek;

cout << “\n\tSalary = ” << salary;

cout << “\n\tWeekly Salary= ” << thisWeek * Salary;

}

اگر برنامه را با مقدار 35.50 به عنوان ساعات هفتگی و 8.50 به عنوان حقوق امتحان کنید,متوجه خواهید شد که حقوق هفتگی متفاوت با آنچه که در Earnings() است می باشد اما در تابع main() قبل و بعد از تابع Earnings() یکسان نگه داشته شده است.همانند مثالی از پاس کردن آرگومان با مرجع,می توانید ایجاد تابع Earnings() را درون تابع main() اصلاح کنید:

void Earnings(float &h, float r);

اگر بخواهید تابعی را برای اصلاح مقدار آرگومان آن فراخوانی کنید,باید مرجع آن را تامین کنید نه مقدار آن را.می توانید تابع را به صورت زیر تغییر دهید:

void Earnings(float &thisWeek, float salary)

{

thisWeek = 42;

cout << “\n\nIn the Earnings() function,”;

cout << “\n\tWeekly Hours = ” << thisWeek;

cout << “\n\tSalary = ” << salary;

cout << “\n\tWeekly Salary= ” << thisWeek * Salary;

}

منبع:www.functionx.com

روش های پاس کردن آرگومان ها و پاس کردن آرگومان توسط مقدار

آموزش زبان برنامه نویسی:روش های پاس کردن آرگومان ها
 
تابع برای انجام وظیفه,ممکن است به آرگومان ها نیاز داشته باشد.هر تابعی که می خواهد از نتیجه ی تابع 
دیگر استفاده کند,باید توسط آرگومان یا آرگومان های لازم تابع,تامین شود.هنگامی که تابعی را که از
 آرگومان ها استفاده می کند,ایجاد می کنید, هر آرگومان را توسط نوع داده و یک نام مشخص کنید.
 
پاس کردن آرگومان توسط مقدار
برای استفاده از یک تابع درون تابع دیگر,که فراخوانی یک تابع از تابع دیگر می باشد,نام
 تابع و فهرست آرگومان های آن را درون پرانتز مشخص کنید.تنها نام هر آرگومان مورد نیاز
 است.می توانید تابع را مانند زیر ایجاد کنید:

float GetHours(string FullName);

برای فراخوانی چنین تابعی از تابع دیگر,به صورت زیر عمل کنید:
 

GetHours(FullName);

به مثال زیر توجه کنید:
 
#include <iostream>
#include <string>
using namespace std;
string GetName()
{
        string FirstName, LastName, FN;
        cout << "Employee's First Name: ";
        cin >> FirstName;
        cout << "Employee's Last Name: ";
        cin >> LastName;
        FN = FirstName + " " + LastName;
        return FN;
}
int main()
{
        string FullName;
        double Hours;
        double GetHours(string FullName);
        FullName = GetName();
        Hours = GetHours(FullName);
        cout << "\nEmployee's Name: " << FullName;
        cout << "\nWeekly Hours: " << Hours << " hours\n\n";
        return 0;
}
double GetHours(string FullName)
{
        double Mon, Tue, Wed, Thu, Fri, TotalHours;
        cout << endl << FullName << "'s Weekly Hours\n";
        cout << "Monday: ";    cin >> Mon;
        cout << "Tuesday: ";   cin >> Tue;
        cout << "Wednesday: "; cin >> Wed;
        cout << "Thursday: ";  cin >> Thu;
        cout << "Friday: ";    cin >> Fri;
        TotalHours = Mon + Tue + Wed + Thu + Fri;
        return TotalHours;
}
نتیجه ی اجرای برنامه به صورت زیر خواهد بود:
 
Employee's First Name: Frank
Employee's Last Name: Dassault
Frank Dassault's Weekly Hours
Monday: 8.00
Tuesday: 8.50
Wednesday: 9.00
Thursday: 8.00
Friday: 8.00
Employee's Name: Frank Dassault
Weekly Hours: 41.5 hours
هنگامی که تابع را ایجاد می کنید,کامپایلر نیازی ندارد که شما نام هر آرگومان را تامین 
کنید,آن تنها نیاز دارد نوع آرگومان و تعداد آرگومان هایی که تابع می گیرد را بداند.یعنی 
تابع GetHours() می تواند به صورت زیر ایجاد شود:
 
float GetHours(string);
علاوه بر این کامپایلر به نامی که شما هنگام ایجاد تابع به آرگومان می دهید,توجه نمی
 کند.تصور کنید می خواهید تابعی بنویسید که قیمت خرید را بر اساس قیمت مالیات 
اضافه شده بر قیمت فروشگاه محاسبه کند.نرخ مالیات یک مقدار درصدی می باشد.یعنی 
میزان مالیات %7.50 در روابط C++ معادل 0.075 می باشد.
(چون 7.50/100 = 0.075).مقدار مالیات جمع آوری شده روی قیمت,از قیمت کالا گرفته
 می شود.فرمول آن به صورت زیر است:
 

TaxRate
Tax Amount = Item Price *100

همچنین,فرمول محاسبه قیمت نهایی کالا به صورت زیر می باشد:
 

Final Price = Item Price + Tax Amount

به مثال زیر توجه کنید:
 
#include <iostream>
using namespace std;
int main()
{
        double itemPrice, taxRate;
        double PurchasePrice(double itemPrice, double taxRate);
        cout << "Enter the price of the item: ";
        cin >> itemPrice;
        cout << "Enter the tax rate: ";
        cin >> taxRate;
        cout << "\nThe final price is: " << PurchasePrice(itemPrice, taxRate);
        cout << "\n\n";
        return 0;
}
double PurchasePrice(double itemPrice, double taxRate)
{
        double price;
        price = itemPrice + (itemPrice * taxRate / 100);
        return price;
}
نتیجه ی اجرای برنامه ی بالا به صورت زیر خواهد بود:
 
 
Enter the price of the item: 125.95
Enter the tax rate: 5.75
The final price is: 133.192

منبع: www.functionx.com

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

آموزش زبان برنامه نویسی سی پلاس پلاس:تابع برای انجام دادن وظیفه اش,می تواند با چیزهایی تامین شود.برای مثال,هنگامی که
 از تابعی که مساحت مربع را حساب می کند استفاده می شود,شما اندازه ی ضلع مربع 
را برای تابع تامین می کنید,سپس تابع با توجه به آن کار خواهد کرد.از طرف دیگر,تابعی 
که برای بدست آوردن نام دانش آموز استفاده می شود,می تواند به چیزی نیاز نداشتهباشد,کار آن
 تامین کردن یا برگرداندن چیزی خواهد بود.
 
برخی تابع ها نیاز دارند و برخی نیاز ندارند.نیاز های تابع بین پرانتز قرار می گیرد.این نیازها
 تا آنجا که ممکن است می توانند متنوع باشند.اگر تابعی نیاز نداشت پرانتز را خالی بگذارید.
در برخی منابع,به جای آن که پرانتز را خالی گذاشته شود,توسط برنامه نویس void 
نوشته می شود.در این کتاب,اگر تابع نیاز نداشته باشد,ما پرانتز خالی می گذاریم.
 
برخی تابع ها تنها یک نیاز دارند و برخی چندین نیاز دارند.آن چه را که تابع به آن نیاز دارد
 آرگومان نامیده می شود.اگر تابع تعداد زیادی نیاز داشت,آن ها آرگومان های تابع خواهند بود.
 
آرگومان یک متغیر معتبر است و توسط نوع داده و یک نام تعریف می شود.برای مثال, 
تابعی که برای محاسبه ی مساحت مربع فرض شده و منتظر گرفتن ضلع مربع است به
 صورت زیر می باشد:

double CalculateArea(double Side);

تابعی که برای بدست آوردن نام دانش آموز استفاده می شود به صورت زیر ایجاد می شود:

string FirstName();

در اینجا به مثال هایی از ایجاد تابع ها توجه کنید تعدادی آرگومان گرفته اند و تعدادی نگرفته اند:
double CalculateArea(double Side);
char Answer();
void Message(float Distance);
bool InTheBox(char Mine);
string StudentName();
double RectangleArea(double Length, double Width);
void DefaultBehavior(int Key, double Area, char MI, float Ter);

منبع: www.functionx.com

نوع مقدار بازگشتی در زبان برنامه نویسی C++

آموزش زبان برنامه نویسی سی پلاس پلاس:منظور از  شناخت تابع این است که چه کاری قصد دارد انجام دهد. هنگامی که تابع وظیفه اش را انجام می دهد,نتیجه ای فراهم خواهد آورد.برای مثال,اگر یک تابع برای محاسبه ی مساحت مربع فرض شده باشد,نتیجه ی آن مساحت مربع خواهد بود.نتیجه ی تابعی که برای بدست آوردن نام دانش آموز استفاده شده,کلمه ای که نام دانش آموز را بیان می کند خواهد بود.نتیجه ی یک تابع مقدار,مقدار بازگشتی نامیده می شود.همچنین یک تابع برای برگشت یک مقدار بیان شده است.

در اینجا شما دو نوع انتظار از تابع دارید:یک مقدار خاص,یا یک وظیفه ی ساده.اگر می خواهید تابع,ماموریتی را انجام دهد بدون این که نتیجه ای را برگرداند,چنین تابعی به صورت void بوده و به شکل زیر ایجاد می شود:

void FunctionName();

مقدار بازگشتی می تواند از هر نوع داده که مطالعه کرده ایم باشد.یعنی تابع می تواند char, int, float, double, bool, string را بازگشت دهد.به مثال های زیر که,ایجاد تابع ها با تعریف مقادیر بازگشتی آن ها می باشد,توجه کنید:

double FunctionName();
char FunctionName();
bool FunctionName();
string FunctionName();

اگر شما تابعی ایجاد کردید که مقداری (از هر نوع) را برگشت می هد(تابعی که void نباشد),کامپایلر نیاز دارد بداند که تابع چه مقداری را بازگشت می دهد.مقدار بازگشتی باید با نوع ایجاد شده یکسان باشد.مقدار توسط کلمه ی کلیدی return تنظیم می شود.

اگر تابع به صورت char ایجاد شده است,مطمئن شوید که مقدار برگشتی آن کاراکتر است(تنها یک کاراکتر).به مثال زیر توجه کنید:

char Answer()
{
        char a;
        cout << "Do you consider yourself a reliable employee (y=Yes/n=No)? ";
        cin >> a;
        return a;
}

همچنین یک تابع خوب می تواند یک وظیفه ی کامل داشته باشد و تنها مقدار معتبری را به دیگر تابع های فراخوانی شده بدهد.می توانید یک تابع تعریف کنید که نام و نام خانوادگی را درخواست کند و تابع دیگر که به نام کامل عضو ها نیاز دارد آن را از چنین تابعی درخواست می کند بدون آن که نگران کامل بودن نام باشد.تابع زیر مسئولیت در خواست هر دو نام را دارد.آن یک نام کامل برمی گرداند که هر تابع که بخواهد می تواند از آن استفاده کند:

string GetMemberName()
{
        string FName, LName, FullName;
        cout << "New Member Registration.\n";
        cout << "First Name: ";
        cin >> FName;
        cout << "Last Name: ";
        cin >> LName;
        FullName = FName + " " + LName;
        return FullName;
}

همچنین مقدار بازگشتی می تواند یک بیان باشد,به مثال زیر توجه کنید:

double SquareArea(double Side)
{
        return (Side * Side);
}

مقدار بازگشتی می تواند یک متغیر باشد که نتیجه ای را ارائه می دهد.به مثال زیر توجه کنید:

double SquareArea(double Side)
{
        double Area;
        Area = Side * Side;
        return Area;
}
در صورتیکه تابعی مقدار بازگشتی داشته باشد (به جز void) می توان نتیجه ی تابع را با
 فراخوانی آن به یک متغیر محلی اختصاص داد.مانند:
 
Major = GetMajor();
به مثال زیر توجه کنید:
 
#include <iostream>
using namespace std;
int GetMajor()
{
        int Choice;
        cout << "\n1 - Business Administration";
        cout << "\n2 - History";
        cout << "\n3 - Geography";
        cout << "\n4 - Education";
        cout << "\n5 - Computer Sciences";
        cout << "\nYour Choice: ";
        cin >> Choice;
        return Choice;
}
int main()
{
        int Major;
        cout << "Welcome to the student orientation program.";
        cout << "Select your desired major:";
        Major = GetMajor();
        cout << "You select " << Major; cout << "\n";
        return 0;
}
همچنین می توانید به طور مستقیم با استفاده از عملگر cout نتیجه ی تابع را نمایشدهید.در اینجا بعد
 از تایپ عملگر cout و << نام تابع و آرگومان یا آرگومان های آن را تایپ کنید.
بنابراین,کامپایلر یک اخطار نمایش خواهد داد چرا که تابع main() ما مقداری را برنمی گرداند.در C++ ,یک
 تابع همیشه باید نوع بازگشت را نمایش دهد,در غیر اینصورت بهصورت void ساخته می شود.اگر 
شما تابعی را بدون نوع بازگشتی ایجاد کردید,توسط قرار داد,کامپایلر چنین تابعی را با نوع بازگشتی عدد
 صحیح integer بررسی می کند.بنابراین,تابع main() که ما استفاده کرده ایم,عدد صحیح را بر می گرداند
 به صورت زیر:
 
 
#include <iostream>
using namespace std;
int main()
{
        cout << "This is C++ in its truest form...\n\n";
        return 0;
}
به طور صریح توضیح داده شد که تابع main() می تواند هر عدد صحیحی را برگرداند,که به سادگی 
نشان دهد که برنامه پایان یافته است.برگرداندن 0 یعنی که برنامه با موفقیت پایان یافته است.از
 آنجاییکه تابع main() عدد صحیح بر می گرداند,باید آن را در خط ایجاد آن نشان دهید.نسخه ی 
بهتری از تابع main() بالا به صورت زیر خواهد بود:
 
 
#include <iostream>
using namespace std;
int main()
{
        cout << "This is C++ in its truest form...\n\n";
        return 0;
}

منبع: www.functionx.com

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

آموزش زبان برنامه نویسی سی پلاس پلاس:تابع های void

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

void Introduction()
{
        cout << "This program is used to calculate the areas of some shapes.\n"
  << "The first shape will be a square and the second, a rectangle.\n"
  << "You will be requested to provide the dimensions and the program "
           << "will calculate the areas";
}

هر تابعی می تواند از نوع void باشد تا زمانی که انتظار برگشت مقدار خاصی را از آن نداشته باشید.تابع void,با وظیفه ی خاص و بیشتر می تواند,برای محاسبه و نمایش مساحت یک مربع استفاده شود.به مثال زیر توجه کنید:

void SquareArea()
{
        double Side;
        cout << "\nEnter the side of the square: ";
        cin >> Side;
        cout << "\nSquare characteristics:";
        cout << "\nSide = " << Side;
        cout << "\nArea = " << Side * Side;
}

هنگامی که یک تابع از نوع void باشد,نمی تواند در همان خط توسط استخراج کننده ی cout نمایش داده شده باشد,و نمی تواند به یک متغیر اختصاص داده شود(چرا که مقداری را بازگشت نمی دهد).بنابراین یک تابع Void تنها می تواند فراخوانی شود.

منبع: www.functionx.com

آموزش فراخوانی یک تابع قبل از تعریف در زبان C++

آموزش زبان برنامه نویسی سی پلاس پلاس:در مثال قبلی شما تابع را قبل از فراخوانی تعریف کردید. C/C++ مانند تعدادی زبان دیگر,ممکن می ساز که شما تابع را قبل از تعریف آن فراخوانی کنید.برخلاف دیگر زبان ها,در c++ هنگامی که یک تابع را فراخوانی می کنید,کامپایلر باید از تابع مطلع باشد.یعنی شما قبل از فراخوانی باید حداقل تابع را ایجاد کرده باشید.بعد از فراخوانی تابع,می توانید آن را آن طور که مناسب می دانید تعریف کنید.به مثال زیر توجه کنید:

#include <iostream>
using namespace std;

int main()
{
        void Message();

    cout << "We will start with the student registration process.";
    Message(); // Calling the Message() function

        return 0;
}

void Message()
{
        cout << "Welcome to the Red Oak High School.";
}

برای استفاده از هر تابعی که با کامپایلر فرستاده می شود,ابتدا کتابخانه ای را که تابع در آن تعریف شده است قرار دهید,سپس تابع مورد نیاز را فراخوانی کنید.به مثال زیر که تابع getchar() را فراخوانی می کند,توجه کنید:

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
        cout << "This is C++ in its truest form...\n\n";
        getchar();

        return 0;
}

منبع: www.functionx.com

آموزش صدا زدن یا فراخوانی تابع در سی پلاس پلاس

آموزش فراخوانی تابع در زبان برنامه نویسی سی پلاس پلاس:

یکی از دلایل استفاده از تابع های مختلف در برنامه,سوا کردن وظایف می باشد.این ممکن می سازد شما کارهای بخش های مختلف را جدا سازید,بنابراین اگر برخی کارها دارای اشتباه باشد,به راحتی می توانید متوجه شوید که مشکل از کجاست.تابع ها به یکدگر اطمینان دارند,آنقدر که یک تابع نمی داند که تابع دیگر چطور وظیفه اش را انجام می دهد.یک تابع به سادگی نیاز دارد بداند که تابع دیگر چه کاری انجام  می دهد و چه چیزی نیاز دارد.

یعنی اگر یک تابع تعریف شده باشد,تابع دیگر می تواند از حاصل وظیفه ی آن استفاده کند.فرض کنید دو تابع A و B را تعریف کرده اید.

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

اگر تابع A نیاز به استفاده ی نتیجه ی تابع B داشته باشد,تابع A از نام تابع B استفاده خواهد کرد.یعنی تابع A تابع B را فراخوانی خواهد کرد.

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

هنگامی که یک تابع را از تابع دیگر فراخوانی می شود,نیازی به مقدار برگشتی یا بدنه ی آن نیست می توانید به سادگی نام تابع و آرگومان های آن را تایپ کنید.برای مثال برای فراخوانی تابعی که Message() نام دارد از تابع main() به سادگی آن را مانند زیر تایپ کنید:

int main()
{
        Message(); // Calling the Message() function

        return 0;
}

کامپایلر با تابع فرا خوانی شده,بستگی به جایی که تابع ایجاد شده است با توجه به تابع صدا کننده سر و کار دارد.به مثال زیر توجه کنید:

#include <iostream>
using namespace std;

void Message()
{
        cout << "This is C++ in its truest form.";
}

int main()
{
        Message(); // Calling the Message() function

        return 0;
}

منبع: www.functionx.com

لینک روزانه

این لینک ها مربوط به وب سایت آبشاران نمی باشد و مسئولیت صحت لینک ها با مدیران آنها می باشد


لینک ها

موضوعات

محبوبیت گوگل

پلاس