将功能从主要功能转移到原型现在它不起作用

时间:2018-02-10 17:45:50

标签: c++ arrays struct function-prototypes

struct studentType {
    string firstName;
    string lastName; 
    int testScore; 
    char Grade; 
};

studentType students[20];

int main()
{
    ifstream inputFile;
    inputFile.open("testScores.txt");

    for (int i = 0; i < 20; i++)
        inputFile >> students[i].testScore;

    for (int i = 0; i < 20; i++)
        cout << " " << students[i].testScore;

    return 0;
}

void firstName() {
    ifstream inputFile;
    inputFile.open("firstName.txt");

    for (int i = 0; i < 20; i++)
        inputFile >> students[i].testScore;
}

这是将.txt文件读入结构化数组成员的原始代码。当我在main中写它时,它会读取值,一切都很好。现在,当我尝试将它从main转移到void并使用函数原型时,所有数字都读为0.

当我移动它时,我使用相同的代码,但该功能不在主要的

void testScore(){
    ifstream inputFile;
    inputFile.open("testScores.txt");

    for (int i = 0; i < 20; i++)
        inputFile >> students[i].testScore;

    for (int i = 0; i < 20; i++)
        cout << " " << students[i].testScore;
}

上面有一个函数原型。它返回所有零。显然我做错了什么。

1 个答案:

答案 0 :(得分:1)

你真的在调用你的功能吗?如果将该代码移动到单独的函数中,除非调用该函数,否则它将无法运行。例如:

int main(void){
    testScore();
    return 0;
}