求C++程序 学生成绩管理系统

学生成绩管理系统
要求:
(1)由键盘输入每个学生的学号和四门课程的成绩;
(2)计算每个学生的平均分和总分;
(3)按总分从高到低排出名次,并按名次输出学生的基本信息,包括学号、各科成绩,平均分和总分;
(4)根据用户要求,输出某门课程(由键盘输入课程号且成绩在90分以上(含90分))且总分在前五名的学生情况,包括学号、各科成绩、平均分和总分;

第1个回答  推荐于2016-01-05
#include <iostream>
using namespace std;

class student
{
private:
int stunum;
float score[3];
public:
inline void add(int &num,float *sc);
inline void read();
inline float sum();
inline float average();
};

inline float average(student * a);
inline float sum(student *a);

inline void student::add(int &num,float *sc)
{
stunum = num;
score[0] = sc[0];
score[1] = sc[1];
score[2] = sc[2];
}

inline void student::read()
{
cout<<"The Student number is: "<<stunum<<endl;
cout<<"The score is: ";
for(int i = 0;i<3;i++)
{
cout<<score[i]<<" ";
}
cout<<"the sum is: "<<sum();
cout<<"the average is: "<<average();
}

inline float student::sum()
{
int sum = 0;
for (int i = 0;i<3;i++)
sum = sum + score[i];
return sum;
}

inline float student::average()
{
return sum()/3;
}

int main()
{
int i;
cout<<"enter 0 to exit"<<endl;
cin>>i;
while(i != 0)
{
cout<<"<1>Add <2>Read <3>Print Score"<<endl;
switch(i)
{
student *stu = new student [i];
case 1:
cout<<"how many students?"<<endl;
cin>>i;
cout<<"follow the order like this: Student Number,score(3 subjects)"<<endl;

int num;
float sc[3];
for (int j= 0;j <i;j++)
{
cout<<i<<" student:";
cin>>num;
for (int n = 0;n<3;n++)
{
cin>>sc[n];
}
stu[j].add(num,sc);
}
break;
case 2:
for (int i = 0;i<sizeof(stu)/sizeof(stu[0]);i++)
{
stu[i].read();
}
break;
case 3:
break;
}
}
}
我有点事,先这么多,回来有空再写本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网