饭来 2019-04-04 13:21 采纳率: 100%
浏览 551
已采纳

不同类型的error应该怎么输出呢

需要三个class
1.Reverse.cpp
包含两个函数一个反转正整数,一个反转字符,需要使用递归的方法
int reverseDigit(int value)
string reverseString(string letters)
2.Fibonacci.cpp
用递归法计算斐波那契的数列
3.EfficientFibonacci.cpp
用优化的方法计算斐波那契数列

输入四个值
第一个i是非零正整数。如果输入是负数或者是字符就输出ERROR
第二个s是字符串,如何输入时数字就输出ERROR
第三个n1是非零正整数,使用Fibonacci.cpp计算的,如果输入不是非零正整数就输出ERROR
第四个n2是非零正整数,使用EfficientFibonacci.cpp计算的,如果输入不是非零正整数就输出ERROR

Sample input 1: 12345 apple 6 6
Sample output 1: 54321 elppa 8 8
Sample input 2: -1 appa 20 3
Sample output 2: ERROR appa 6765 2
Sample input 3: 11900 Beer sa 11
Sample output 3: 911 reeB ERROR 89

写了的三个函数

Fibonacci::Fibonacci(int n)
{
    if(n==1||n==2)
    {
        return 1;

    }else 
    {
        return Fibonacci(n-1)+Fibonacci(n-2);
    }
};
int EfficientFibonacci::calculate(int n)
{
    if (n <= 2 && top == 0)
    {
      top = 2;
      arr[0] = 1;
      arr[1] = 1;
      return arr[n - 1];
    }
    if (top == n - 1)
    {
      top = n;
      arr[n - 1] = arr[n - 2] + arr[n - 3];
      return arr[n - 1];
    }
      else if (top > n - 1)
    {
      return arr[n - 1];
    }
    return Fibonacci(n - 2) + Fibonacci(n - 3);
};
int Reverse::reverseDigital(int value)
{
    if(value<10&&value>0)
    {
        printf("%d",n);
        return;
    }else if(value>=10)
    {
        printf("%d",n%10);
        inverted(n/10);

    }else   
    {
        printf("%s\n","ERROR");  
    }
    return;


};
  • 写回答

1条回答 默认 最新

  • dabocaiqq 2019-04-09 17:39
    关注

    可以在基类里定义 IsError 抽象方法

    三个类重载这个方法,把各自的判断写里面。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。