题目:设计一个学生类stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num ,分别存放总分和人数,另有一个构造函数,一个普通成员函数disp()和一个静态成员函数avg(),用于计算平均分。本程序实现,已有若干个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。
代码
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
#define N 3
class stud {
public:
int no;//学号
string name;//姓名
int deg;//成绩
static int sum;//总分
static int num;//人数
//默认构造函数
stud() = default;
//构造函数
stud(int number, string n, int grade) :no(number), name(n), deg(grade) {}
//输出数据
void print() {
cout << "学号:" << this->no << endl;
cout << "姓名:" << this->name << endl;
cout << "成绩:" << this->deg << endl;
}
//设置总人数和总分
void set() {
sum += this->deg;
num++;
}
//计算平均分
static double avg(){
return(sum / num);
}
};
int stud::num = 0;
int stud::sum = 0;
void main() {
stud student[] = { stud(1,"xubowen",390),stud(2,"zhangzixian",340),stud(3,"wanwentao",370) };
for (int i = 0; i < N; i++) {
student[i].set();
}
cout << "平均分" << stud::avg() << endl;
}