#include #include #include using namespace std; void InputStudentInfo(vector> &students) { string name, gender; double score; cout << "该系统只支持百分制成绩的平均分计算"<> name >> gender >> score) { if (name != "end") { students.push_back(make_pair(name, score)); } else { break; } cout << "请继续输入学生的姓名、性别和分数(输入'end'结束输入): "; } } void CalculateAverageScore(const vector> &students, vector &averages) { for (const auto &student : students) { if (student.second >= 60) { // 假定性别为'm'表示男性,'f'表示女性 if (student.first[0] == 'm') { averages[0] += student.second; averages[1]++; } else if (student.first[0] == 'f') { averages[2] += student.second; averages[3]++; } else { cout << "未知性别,跳过该学生。" << endl; } } else { cout << "分数低于60分,跳过该学生。" << endl; } } } void OutputAverageScore(const vector &averages) { cout << "男性学生的平均分数为: " << averages[0] / averages[1] << endl; cout << "女性学生的平均分数为: " << averages[2] / averages[3] << endl; } void SaveToFile(const vector &averages, const string &filename) { ofstream outfile(filename); outfile << "男性学生的平均分数为: " << averages[0] / averages[1] << endl; outfile << "女性学生的平均分数为: " << averages[2] / averages[3] << endl; outfile.close(); } int main() { vector> students; vector averages(4, 0); // 分别为男性平均分、男性人数、女性平均分、女性人数 InputStudentInfo(students); CalculateAverageScore(students, averages); OutputAverageScore(averages); SaveToFile(averages, "student_stats.txt"); return 0; }