问题描述
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
struct Students
{
char name[30];
char first_name[30];
int n1;
int n2;
int n3;
}student list[10];
int n;
void reading_student_list()
{
int i;
ifstream f("in.txt");
f>>n;
for(i=0;i<n;i++)
{
f>>student_list[i].name;
f>>student_list[i].first_name;
f>>student_list[i].n1;
f>>student_list[i].n2;
f>>student_list[i].n3;
}
f.close();
}
void showing_student_list()
{
int i;
ofstream g("out.txt");
g<<"\n Student list: ";
for(i=0;i<n;i++)
{
g<<"\n\n";
g<<student_list[i].name<<" ";
g<<student_list[i].first_name<<" ";
g<<student_list[i].n1<<" ";
g<<student_list[i].n2<<" ";
g<<student_list[i].n3<<" ";
g<<endl<<"Average: "<<float(student_list[i].n1+student_list[i].n2+student_list[i].n3)/3;
}
cout<<"\n Open file out.txt";
g.close();
}
int main()
{
reading_student_list();
showing_student_list();
}
我计算了每个学生的平均成绩,但我不知道如何找到整个班级的平均成绩。
在对整个班级进行平均之后,我可以算出平均水平低于班级平均水平和班级最高平均水平的学生。
解决方法
这是您将所有n1
值(无论如何)加起来的方法。
int total = 0; // start the total at zero
for (int i = 0; i < n; i++) // for each student
total += list[i].n1; // add list[i].n1 to total
希望您可以对其进行调整以满足您的特定要求。