C++ primerplus练习7



7.10(1)

#include<iostream>
using namespace std;
double calculate(double aa, double bb, double(*pf)(double x ,double y));
double add(double x, double y);
double Minus(double x, double y);
int main()
{
 double q = calculate(2.5, 10.4, add);
 cout << q << endl;
 double a, b;
 while (cin >> a >> b)
 {
  char choice;
  cout << "A for add , M for minus";
  cin >> choice;
  switch (choice)
  {
  case 'A':
  case 'a':cout << calculate(a, b, add) << endl; break;
  case'M':
  case'm':cout << calculate(a, b, Minus) << endl; break;
  default:cin >> choice;
  
  }
 }
}
double calculate(double aa, double bb, double(*pf)(double x, double y))
{
 return (*pf)(aa , bb) ;
 
}
double add(double x, double y)
{
 return x + y;
}
double Minus(double x, double y)
{
 return x - y;
}

7.10(2)

#include<iostream>
using namespace std;
double add(double x, double y);
int main()
{
 double(*pf[3])(double  , double  );
 int i;
 double a,   b;
 for (i = 0; i < 3; i++)
 {
  cin >> a >> b;
  pf[i] = add;
  cout << pf[i](a, b);
 }
 return 0;
}
double add(double x, double y)
{
 return x + y;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值