哲理@行星 发表于 2021-4-26 23:25:52

函数调用,利用引用来返回多个函数

   我希望实现的最终结果:输入0~20,代码运行结果为“Squared:平方值”、
“Cubed:立方值”。而输入0~20以外的数,将会出现“Error encountered!”。
可是这段代码最终的运行结果:不管你输入什么值,它都会出现“Squared:
平方值”、“Cubed:立方值”。没有达到预期的效果:输入0~20以外的数,将
会出现“Error encountered!”。
源代码
#include <iostream>
using namespace std;
int Factor(int,int&,int&);

int main()
{
      int number,squared,cubed,error;
      cout<<"Enter a number(0~20):";
      cin>>number;

      error=Factor(number,squared,cubed);

      if(error)
                cout<<"Error encountered!\n";
      else
      {
                cout<<"Number:"<<number<<endl;
                cout<<"Squared:"<<squared<<endl;
                cout<<"Cubed:"<<cubed<<endl;
      }
      return 0;
}

int Factor(int n,int& rSquared,int& rCubed)
{
      if(n>20&&n<0)
                return 1;
      rSquared=n*n;
      rCubed=n*n*n;
      return 0;
}

哲理@行星 发表于 2021-4-26 23:27:36

求大佬指点一下,该如何修改{:10_254:}

wp231957 发表于 2021-4-27 05:59:01

哲理@行星 发表于 2021-4-26 23:27
求大佬指点一下,该如何修改

if(n>20&&n<0)
大于20同时还要小于0,请问这样的数存在吗

哲理@行星 发表于 2021-4-28 01:40:07

wp231957 发表于 2021-4-27 05:59
if(n>20&&n

兄弟,多谢啦!{:5_109:}我把“&&”改成“||”就正常运行了。

哲理@行星 发表于 2021-4-28 01:41:01

问题已经解决啦。
页: [1]
查看完整版本: 函数调用,利用引用来返回多个函数