# include<string>
# include<iostream>
using namespace std;
class Student
{
public:
Student(int num = 0,string n="zhangsan",char x='m',int s_m=0,int s_e=0,int s_p=0)
:num(num),name(n),sex(x),math(s_m),english(s_e),politics(s_p)
{average = (math + english + politics)/3;}
friend void sort( Student * );
friend void show(Student * );
void Print();
private:
int num;
string name;
char sex;
int math,english,politics;
int average;
};
void Student::Print()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"Math:"<<math<<endl;
cout<<"English:"<<english<<endl;
cout<<"Politics:"<<politics<<endl;
cout<<"average:"<<average<<endl;
}
void sort(Student * student)
{
int x,y,t;
for(x = 0; x<4; x++)
{
for(y=0; y<5-x-1; y++)
{
if(student[y].average > student[y+1].average)
{
t = student[y].average;
student[y].average = student[y+1].average;
student[y+1].average = student[y].average;
}
}
}
}
void show(Student * student)
{
for(int i=1;i<=5; i++)
{
cout<<"学生整体信息(按平均成绩降序排列):"<<endl;
student[i].Print();
cout<<"-------------------------------"<<endl;
}
}
int main(void)
{
cout<<"【学生信息管理系统】"<<endl;
Student stud[5]={
Student (2020366,"rsw",'f',60,60,60),
Student (2020366,"jl",'f',70,70,70),
Student (2020366,"gym",'f',80,80,80),
Student (2020366,"byy",'f',90,90,90),
Student (2020366,"rsj",'m',10,10,10)
};
sort(stud);
show(stud);
return 0;
}
**有没有人知道哪里错啦?显示结果是这样。
**
【学生信息管理系统】
学生整体信息(按平均成绩降序排列):
num:2020366215
name:jly
sex:f
Math:70
English:70
Politics:70
average:10
-------------------------------
学生整体信息(按平均成绩降序排列):
num:2020366216
name:gym
sex:f
Math:80
English:80
Politics:80
average:10
-------------------------------
学生整体信息(按平均成绩降序排列):
num:2020366217
name:byy
sex:f
Math:90
English:90
Politics:90
average:10
-------------------------------
学生整体信息(按平均成绩降序排列):
num:2020366224
name:rsj
sex:m
Math:10
English:10
Politics:10
average:10
-------------------------------
学生整体信息(按平均成绩降序排列):
num:-858993460
萅 N 1 Ld哋 P 鵒 | O 貍 H鵒 Z X鵒 )v 1 v殆O 瀦Tw 1 鎓 1 d鵒 践O @璘w(憎 涅O nzTw2奦w N 1 ? 请按任意键继续. . .
5555谢谢大家!谢谢大家!