【无标题】

202130310265

#include<iostream>

using namespace std;

class Score

{

public:

    Score(int stnumber = 2)

    {

        if (stnumber > 100)

             number = 100;

        else number = stnumber;

    }

    void input()

    {

        for (int i = 0; i < number; i++)

        {

             //输入姓名

             cout << "请输入学生姓名:" << endl;

             cin >> name[i];

             //输入学生成绩

             cout << "请输入科目A成绩:" << endl;

             cin >> grade[i][1];

             cout << "请输入科目B成绩:" << endl;

             cin >> grade[i][2];

             cout << "请输入科目C成绩:" << endl;

             cin >> grade[i][3];

        }

    }

    void showallstu()

    {

        for (int i = 0; i < number; i++)

        {

             cout << "姓名:" << name[i] << " 科目A成绩:" << grade[i][1] << " 科目B成绩:" << grade[i][2] << " 科目C成绩:" << grade[i][2] << endl;

        }

    }

    void showstuavg(int m)

    {

        cout << "姓名:" << name[m] << " 平均成绩:" << (grade[m][1] + grade[m][2] + grade[m][3]) / 3 << endl;

    }

    void showavg(int i)

    {

        double all = 0;

        switch (i)

        {

        case 1:

             for (int m = 0; m < number; m++)

             {

                 all += grade[m][1];

             };

             cout << "课程名称:A平均成绩:" << all / number << endl;

             break;

        case 2:

             for (int m = 0; m < number; m++)

             {

                 all += grade[m][2];

             };

             cout << "课程名称:B平均成绩:" << all / number << endl;

             break;

        case 3:

             for (int m = 0; m < number; m++)

             {

                 all += grade[m][3];

             };

             cout << "课程名称:C平均成绩:" << all / number << endl;

             break;

        }

    }

    void rank(int m)

    {

        int temp;

        char tempname[100];

        switch (m)

        {

        case 1:cout << "课程名:A" << endl;

             break;

        case 2:cout << "课程名:B" << endl;

             break;

        case 3:cout << "课程名:C" << endl;

             break;

        }

        for (int i = 0; i < number - 1; i++)

        {

             if (grade[i][m] > grade[i + 1][m])

             {

                 temp = grade[i + 1][m];

                 grade[i + 1][m] = grade[i][m];

                 grade[i][m] = grade[i + 1][m];

                 tempname[99] = name[i + 1][99];

                 name[i + 1][100] = name[i][100];

                 name[i][100] = tempname[200];

             }

        }

        for (int i = number - 1; i > -1; i--)

        {

             cout << "姓名:" << name[i] << " 成绩:" << grade[i][m] << endl;

        }

    }

private:

    int number;

    char name[100][100];

    double grade[100][3];

};

int main()

{

    Score stu;

    stu.input();

    stu.showallstu();

    stu.showstuavg(1);

    stu.showavg(1);

    stu.rank(1);

    getchar();

    getchar();

    return 0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值