编写学生类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 }

 

posted @ 2013-11-13 19:16  乱七八糟 。  阅读(562)  评论(0编辑  收藏  举报