问:输入1个数,计算該数的平方,
输入2个数,计算两个数的积
输入3个数,计算3个数的和
答:
#include <iostream>
using namespace std;
double calc(double value)
{
return value*value;
}
double calc(double value1, double value2)
{
return value1*value2;
}
double calc(double value1, double value2, double value3)
{
return value1 + value2 + value3;
}
int main()
{
int cnt = 0;
double value[3] = {0};
double result;
cout << "输入3个以内的数字,以空格隔开,按enter结束" << endl;
do{
cin >> value[cnt];
cnt++;
}while((cin.get()!='\n') && (cnt<=3)); //为了达到随意输入3个以内的数的目的
/* 调试时的打印
for(int i=0; i<cnt ; i++)
{
cout << value[i] << endl;
}
*/
switch(cnt)
{
case 1:
result = calc(value[0]);
break;
case 2:
result = calc(value[0],value[1]);
break;
case 3:
result = calc(value[0],value[1],value[2]);
break;
}
cout << "result: " << result << endl;
return 0;
}
存在问题: 当输入的最后一个数带有多个空格时,程序还在等待输入,不能输出结果