c++练习一

题目:设计一个学生类stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num ,分别存放总分和人数,另有一个构造函数,一个普通成员函数disp()和一个静态成员函数avg(),用于计算平均分。本程序实现,已有若干个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。

代码

#include "stdafx.h"
#include
#include
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;
}

 

你可能感兴趣的:(算法)