括号(预计申报)

时间:2019-01-25 09:53:28

标签: c++ visual-studio

我是社区的新手,但我需要有关括号的帮助,因为他们期望找不到声明和用户定义的函数

//Problem 1.1
#include <iostream>
#include <cmath>
using namespace std;
int intPow(int base, int exponent); // this one has a green line
int main() {
    int Base, Expo,final;
    cout << "Enter Base value:";
    cin >> Base;
    cout << "Enter Exponent Value";
    cin >> Expo;
    final = intPow(Base, Expo);
    cout << "Base Exponent of given value:" << intPow;
    system("pause");
}
int intPow(int base, int exponent);//and this got a greenline to, telling me that It is not found
{ //and this one got a redline expecting me to put a declaration
    for (int a = 0; a <= Expo; a++)
        return intPow;
}

我正在Visual Studio 2017 C ++上对此进行编码 谢谢您的帮助

3 个答案:

答案 0 :(得分:1)

这不是对原始问题的答案,只是对函数实现的更正:
它不会检查算术溢出。因此,intPow(10, 100)将失败。负指数也会失败(对于任何负值,返回1)。

int intPow(int base, int exponent)
{
  int result = 1;
  for (int a = 0; a < exponent; a++) // loop 'exponent' times
    result *= base;
  return result;
}

原始实现存在一些问题:

  • Expo变量在主函数中定义 因此在此功能内不可见
  • for循环经常运行一次
  • 在for循环中,函数返回再次调用函数本身(尽管没有参数)

答案 1 :(得分:0)

首先请注意您正在执行的操作

cout << "Base Exponent of given value:" << intPow;

代替

cout << "Base Exponent of given value:" << final;

现在您要描述的问题是,在实现该功能时,它期望在定义int intPow(int base, int exponent)之后找到由方括号分隔的代码块。相反,您要输入分号:

只需:

int intPow(int base, int exponent)//and this got a greenline to, telling me that It is not found
{ //and this one got a redline expecting me to put a declaration
    for (int a = 0; a <= Expo; a++)
        return intPow;
}

答案 2 :(得分:0)

好的,我终于对函数进行了排序和使用,避免了一些错误,谢谢@RobertKock和@FrancescoBoi。 给我的任务是插入一个底数及其指数,然后我应该显示像这样的底数的指数数量。 4,3(4 ^ 3)= 4 * 4 * 4。 我几乎正确地编写了代码,唯一的问题是字符“ *”紧随for循环。

#include <iostream>
#include <cmath>
using namespace std;
int intPow(int digits, int exponent) 
        {
            int result = 1;
            for (int a = 0; a < exponent; a++)
                cout << digits<<"*";
                result = digits;
            return result;
        }
    int main()
        {
        int Base, Expo,final;
            cout << "Enter Base value:";
            cin >> Base;
            cout << "Enter Exponent Value:";
            cin >> Expo;
            final = intPow(Base, Expo);
            system("pause");
        }