运用面向对象的方法实现输入若干学生成绩,计算所有学生的平均成绩、最高成绩和最低成绩。请高手帮忙改正
运用面向对象的方法实现输入若干学生成绩,计算所有学生的平均成绩、最高成绩和最低成绩。要求:
学生信息包括:学号、姓名、成绩(单科)
分别设计不同函数实现求平均成绩(Ave)、求最高成绩(Max)和求最低成绩(Min),不能由一个函数来完成以上3个功能
使用对象数组
#include <iostream>
using namespace std;
#include <string>
class student
{
private:
int num ;
float score;
string name;
public:
void set()
{ cout<<"\n学号:" ;
cin>>num;
cout<<"\n成绩:";
cin>>score;
cout<<"\n姓名:" ;
cin>>name;
}
void print()
{cout<<"\n学号:"<<num;
cout<<"\n成绩:"<<score;
cout<<"\n姓名:"<<name;
}
float getScore(){return score;}
};
int main()
{ student a[3];
int i,j,max=0,min=0,ave=0,sum=0;
for(i=0;i<3;++i)
a[i].set();
for(j=0;j<2;++j)
{ if(a[j].getScore()<a[j+1].getScore())
max=j+1;
}
for(j=0;j<2;++j)
{ if(a[j].getScore()>a[j+1].getScore())
min=j+1;
}
for(j=0;j<2;++j) {
sum+=a[j].getScore();
}
ave=sum/3;
a[max].print();
a[min].print();
a[ave].print();
return 0;
}
设计完成using namespace std;
#include <string>
class student
{
private:
int num ;
float score;
string name;
public:
void set()
{ cout<<"\n学号:" ;
cin>>num;
cout<<"\n成绩:";
cin>>score;
cout<<"\n姓名:" ;
cin>>name;
}
void print()
{cout<<"\n学号:"<<num;
cout<<"\n成绩:"<<score;
cout<<"\n姓名:"<<name;
}
float getScore(){return score;}
};
int main()
{ student a[3];
int i,j,max=0,min=0,ave=0,sum=0;
for(i=0;i<3;++i)
a[i].set();
for(j=0;j<2;++j)
{ if(a[j].getScore()<a[j+1].getScore())
max=j+1;
}
for(j=0;j<2;++j)
{ if(a[j].getScore()>a[j+1].getScore())
min=j+1;
}
for(j=0;j<2;++j) {
sum+=a[j].getScore();
}
ave=sum/3;
a[max].print();
a[min].print();
a[ave].print();
return 0;
}
结果不好,平均成绩出问题