求解!编译无错,然而不能运行。

input >> stut.NUM >> stut.CLASS >> stut.NAME
>> stut.CHINESE >> stut.MATH >> stut.ENGLISH; // 从文件输入语、数、外三门成绩
stut.AVERAGE = (stut.CHINESE + stut.MATH + stut.ENGLISH) / 3;
average[m] = stut.AVERAGE;

    input.close();

    t = m;

    for (n = m + 1; n < 100; n++)
    {
        int change = 0;
        if (average[m] < average[n])
        {
            change = average[m];
            average[m] = average[n];
            average[n] = change;
            t = n;
        }
    }

    cout << "number(" << m << ")" << ": " << stut.NUM << " "
        << stut.CLASS << " " << stut.NAME << " "
        << stut.CHINESE << " " << stut.MATH << " "
        << stut.ENGLISH << " " << average << endl;
}

return 0;

}

class Array createStuIfo()
{
// 生成学生学号和班级
num++;
sprintf(number.Num, "%d", num);
number.Class[0] = '0';
number.Class[1] = rand() % 5;// 假定只有四个班集
number.Num[3] = number.Class[1];

// 随机产生学生姓名
int x, y, z;

srand(time(NULL));

x = rand() % 25;
y = rand() % 97;
z = rand() % 97;

number.Name[0] = LastName[x];
number.Name[1] = FirstName[y];
number.Name[2] = FirstName[z];

// 随机产生三门成绩
srand(time(NULL));

number.Grade[0] = rand() % 101;
number.Grade[1] = rand() % 101;
number.Grade[2] = rand() % 101;

return number;

}

生成学生信息文件(包括学号、姓名、班级、三门课程的成绩),并从文件中读取学生信息,计算学生平均成绩,并按学生平均成绩从高到低输出学生完整信息(学生数量100人)