有一个班级有5个学生,6门课。
要求:
1.求毎门课的平均分;
2.找出有2门以上课程不及格的学生,输出他们的学号和全部课程成绩以及平均成绩;
3.找出平均成绩在90分以上的学生,并输出其姓名和成绩。
4.找出平均分在85分以下的学生,并输出其姓名和成绩。应该编写4个函数实现上述4个要求。
代码:
struct Student
{
string m_id;
float vList[6]; //存储6门课成绩
};
void getAdv(Student* stu)
{
for (int i = 0; i < 6; ++i)
{
float sum = 0;
for (int j = 0; j < 5; ++j)
{
sum += stu[j].vList[i];
}
cout << "第" << i + 1 << "门课的平均分是:" << sum/5<< endl;
}
}
void failStudent(Student* stu)
{
for (int i = 0; i < 5; ++i)
{
int Count = 0; //记录不及格课程数
for (int j = 0; j < 6; ++j)
{
if (stu[i].vList[j] < 60)
{
Count++;
}
}
if (Count > 2)
{
cout << "不及格学生:" << stu[i].m_id << endl;
cout << "成绩";
int sum = 0;
for (int j = 0; j < 6; ++j)
{
sum += stu[i].vList[j];
cout << " " << stu[i].vList[j];
}
cout << endl;
cout << "平均成绩:" << sum / 6 << endl;
}
}
}
void getupStudent(Student* stu)
{
for (int i = 0; i < 5; ++i)
{
int sum = 0;
for (int j = 0; j < 6; ++j)
{
sum += stu[i].vList[j];
}
if (sum / 6 > 90)
{
cout << "平均分大于90学生:" << stu[i].m_id << endl;
cout << "成绩";
int sum = 0;
for (int j = 0; j < 6; ++j)
{
sum += stu[i].vList[j];
cout << " " << stu[i].vList[j];
}
cout << endl;
}
}
}
void getmiddleStudent(Student* stu)
{
for (int i = 0; i < 5; ++i)
{
int sum = 0;
for (int j = 0; j < 6; ++j)
{
sum += stu[i].vList[j];
}
if (sum / 6 < 85)
{
cout << "平局分小于85学生:" << stu[i].m_id << endl;
cout << "成绩";
int sum = 0;
for (int j = 0; j < 6; ++j)
{
sum += stu[i].vList[j];
cout << " " << stu[i].vList[j];
}
cout << endl;
}
}
}
int main()
{
Student students[5];
students[0] = { "aa",90,60,50,30,20,90 };
students[1] = { "bb",80,70,40,50,50,60 };
students[2] = { "cc",100,85,90,90,88,97 };
students[3] = { "dd",60,90,90,70,70,80 };
students[4] = { "ee",50,100,40,30,40,70 };
getAdv(students);
failStudent(students);
getupStudent(students);
getmiddleStudent(students);
}
望采纳