我的代码只运行main函数,其他函数不会在C ++中编译

时间:2018-04-11 04:49:01

标签: c++ visual-studio function

我是C ++编程的初学者。在我的班上,我们最近展示了使用函数和参数。我们留下了一个我们应该使用函数的任务,除了唯一的问题是我似乎无法开始。到目前为止我已经编写了两个函数。我的主要功能,要求用户输入。另外一个函数使用此输入来创建一个新的整数,我将在以后需要。我确信我的代码中有几个错误,但是现在我真的只需要知道为什么只有我的main函数才会执行。我一直在寻找几个小时,并且切换周围的东西,只是为了获得除主要运行之外的另一个功能,但是我只运行主函数然后程序将结束。从用户输入数据后,程序将结束。因为我开始了这项任务,所以除了主要之外我还没有能够运行任何其他功能。我正在使用2017年的视觉工作室。抱歉,麻烦。

#include <iostream>
#include <cmath>
#include <string>

using namespace std;
int digits(int zip);

int main() {
    int zip = 0;
    cout << "Enter zipcode: ";
    cin >> zip;

    return 0;
}

int digits(int zip){
    int d5 = int();
    d5 = zip % 10;
    cout << "test: " << d5 << endl;
    return d5;

        }

3 个答案:

答案 0 :(得分:2)

您需要调用函数digits

 #include <iostream>
    #include <cmath>
    #include <string>

    using namespace std;
    int digits(int zip);

    int main() {
        int zip = 0;
        cout << "Enter zipcode: ";
        cin >> zip;
        int data = digits(zip);
        cout<<"test: "<<data<<endl;
        return 0;
    }

    int digits(int zip){
        int d5 = int();
        d5 = zip % 10;
        // cout << "test: " << d5 << endl;
        return d5;
        }

答案 1 :(得分:0)

C ++查找main函数并执行其中的任何内容。在您的情况下,它会创建一个新变量'zip',要求用户输入,然后将该值插入到zip变量中。然后它返回0并停止运行。 你必须调用int main()中的函数digits()。像这样:

int main() {
    int zip = 0;
    cout << "Enter zipcode: ";
    cin >> zip;
    digits(zip);

    return 0;
}

int digits(int zip){
    int d5 = int();
    d5 = zip % 10;
    cout << "test: " << d5 << endl;
    return d5;
}

另外,请注意,执行digits()函数后,该程序将返回0,而不是以任何方式操纵'd5'变量(由int digits()返回)。

此外,在其他功能中使用任何内容都不是一个好主意。这使得重用该功能变得困难。为了使功能尽可能多样化,请确保它只执行一项任务。在你的情况下,它应该看起来像这样:

int main() {
    int zip = 0;
    cout << "Enter zipcode: ";
    cin >> zip;
    cout << "test: " << digits(zip) << endl;

    return 0;
}

int digits(int zip){
    int d5 = int();
    d5 = zip % 10;
    return d5;
}

答案 2 :(得分:0)

你需要事先调用函数digits,否则程序将完全跳过函数,所以上面的代码应该看起来像这样:

#include <iostream>
#include <cmath>
#include <string>

using namespace std;
int digits(int zip);

int main() {
    int zip = 0;
    cout << "Enter zipcode: ";
    cin >> zip;

    return 0;
}

int digits(int zip){
    int d5 = int();
    d5 = zip % 10;
    cout << "test: " << d5 << endl;
    return d5;

        }

如果您希望将d5 = zip % 10;定义为double或float,则d5中的旁注也是{{1}}。