weixin_42343634
饭来
采纳率66.7%
2019-04-04 13:21

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

5
  • c++
已采纳

需要三个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 dabocaiqq 2年前

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

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

    点赞 评论 复制链接分享

相关推荐