PDA

View Full Version : کمک برای کامل کردن کد



fshb_ 1370
سه شنبه 20 مهر 1389, 17:27 عصر
سلام به همگی
من میخوام یه برنامه بنویسم که تابع calculate دو پارامتر از نوع double و یه تابع دیگه که دو پارامتر double داره دریافت کنه و مقداری از نوع double برگردونه، برنامه زیر رو نوشتم ولی نمیدونم در تابع calculate چی رو return کنم.



#include<iostream>
using namespace std;
double add(double x,double y);
double calculate(double x,double y,double (*pa)(double,double));
int main()
{
double z=calculate(2.5,10.4,add);
cout<<z<<endl;
return 0;
}
double add(double x,double y)
{
return x+y;
}
double calculate(double x,double y,double (*pa)(double,double))
{
//?????
}


اگه جای دیگه ای از کد ایراد داره لطف کنید بگید.

saber187518
سه شنبه 20 مهر 1389, 20:51 عصر
با سلام
دوست عزیز چرا این کار رو انجام میدی؟
به جای این کار تابع add رو داخل تابع calculate فراخوانی کن.
و در ضمن در مورد اینکه چه مقداری رو برگردونم. فکر نکنم که سوال مناسبی باشه.
خوب هر مقدری رو که قراره محاسبه کنی رو باید برگردونی دیگه.
مثلا اگه قرار هست ضرب کنی مقدار ضرب کلی رو برگردون.
البته شاید منظور سوالتو خوب نفهمیده باشم.
موفق باشی

fshb_ 1370
سه شنبه 20 مهر 1389, 23:04 عصر
با سلام
دوست عزیز چرا این کار رو انجام میدی؟
به جای این کار تابع add رو داخل تابع calculate فراخوانی کن.
و در ضمن در مورد اینکه چه مقداری رو برگردونم. فکر نکنم که سوال مناسبی باشه.
خوب هر مقدری رو که قراره محاسبه کنی رو باید برگردونی دیگه.
مثلا اگه قرار هست ضرب کنی مقدار ضرب کلی رو برگردون.
البته شاید منظور سوالتو خوب نفهمیده باشم.
موفق باشی
ممنون از راهناییتون، خودم مشکل حل کردم.

من از این روش استفاده کردم تا بتونم در تابع calculate از تمام توابعی که مقدار double رو return میکنه و دو پارامتر double دریافت میکنه استفاده کنم.
اگه در تابع calculate این خط رو بنویسیم برنامه دیگه error نمیده و تابع مقداری رو که باید return کنه رو میتونه برگردونه.


double calculate(double x,double y,double (*pa)(double,double))
{
return (*pa)(x,y);
}