53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
|
// 设计一个学生类,包括学号、姓名、成绩,并设计接口函数用来输出这些学生数据并计算平均分。并编写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;
|
|||
|
}
|