// 设计一个学生类，包括学号、姓名、成绩，并设计接口函数用来输出这些学生数据并计算平均分。并编写main函数进行测试：
//     输出如：
//         学号 姓名 成绩 1 张XX 98 2 王XX 90 3 XXX 89 平均成绩： XX
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <iomanip>

using namespace std;

class Student
{
private:
    int sid;
    string name;
    float score;

public:
    Student(int sid, const string &name, float score) : sid(sid), name(name), score(score)
    {
    }
    ~Student() {}

public:
    static void avgAndShow(Student *stus, int n);
};

void Student::avgAndShow(Student *stus, int n)
{
    float avg = 0.0f;
    cout << "学号\t"
         << "姓名\t"
         << "成绩" << endl;
    for (int i = 0; i < n; i++)
    {
        cout << stus[i].sid << "\t" << stus[i].name << "\t" << stus[i].score << endl;
        avg += stus[i].score / n;
    }
    cout << "平均成绩: " << setprecision(3) << avg << endl;
}

int main()
{
    Student *stus = new Student[3]{
        Student(1, "张XX", 98),
        Student(2, "王XX", 90),
        Student(3, "XXX", 89)};

    Student::avgAndShow(stus, 3);

    return 0;
}
