编写学生类Stu
1 /* 2 编写学生类Stu, 3 包含学生姓名,成绩, 4 设计一个友员函数, 5 将学生成绩按大到小排序 6 */ 7 #include <iostream> 8 #include <string> 9 10 using namespace std; 11 12 class Stu 13 { 14 friend void sort(Stu &a,Stu &b); //设置友员函数 15 public: 16 Stu(string n=" ",int g=0):name(n),grade(g){} 17 void getinfor(void); 18 void output(void); 19 private: 20 string name; 21 int grade; 22 }; 23 24 void Stu::getinfor(void) 25 { 26 cout<<"请输入学生姓名 成绩:"; 27 cin>>name; 28 cin>>grade; 29 } 30 31 void Stu::output(void) 32 { 33 cout<<"姓名:"<<name; 34 cout<<"成绩: "<<grade<<endl; 35 }; 36 37 void sort(Stu &a,Stu &b) 38 { 39 string temp; 40 int temp1; 41 if (a.grade<b.grade) 42 { 43 temp=a.name; 44 a.name=b.name; 45 b.name=temp; 46 47 temp1=a.grade; 48 a.grade=b.grade; 49 b.grade=temp1; 50 } 51 } 52 53 int main(void) 54 { 55 Stu stu[100]; 56 int i,n,j; 57 cout<<"请输入人数:"; 58 cin>>n; 59 for(i=0;i<n;i++) 60 { 61 stu[i].getinfor(); 62 } 63 cout<<"排序结果为:"<<endl; 64 for(i=0;i<n;i++) 65 { 66 for(j=0;j<n-i-1;j++) 67 { 68 sort(stu[j],stu[j+1]); 69 } 70 } 71 for(i=0;i<n;i++) 72 { 73 stu[i].output(); 74 } 75 return 0; 76 }