// x_y.cpp :
// 实验3用getpower编写x-y ,在同一个程序中针对整形和实型实现两个重载的函数。
//
#include <iostream>
using namespace std;
int getpower(int x, int y);
double getpower(double x, int y);
int main()
{
int iNumber, power;
double dNumber;
int iAnswer;
double dAnswer;
cout << "enter an int base number:";
cin >> iNumber;
cout << "enter a double base number;";
cin >> dNumber;
cout << "To what power?";
cin >> power;
iAnswer = getpower(iNumber, power);
dAnswer = getpower(dNumber, power);
cout << iNumber << "to the" << power << "the power is " << iAnswer << endl;
cout << dNumber << "to the" << power << "the power is " << dAnswer << endl;
return 0;
}
int getpower(int x, int y)
{
if (y == 1)
return x;
else if (y == 0)
return 1;
else if (y < 0)
return 0;
else
return(x * getpower(x, y - 1));
}
double getpower(double x, int y)
{
if (y == 1)
return x;
else if (y == 0)
return 1;
else if (y < 0)
return 1 / getpower(x, -y);
else
return(x * getpower(x, y - 1));
}