编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。要求:
(1)设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数;
(2)另有两个普通成员函数setdata()和disp(),分别用于给数据成员赋值和输出数据成员的值;
(3)另有一个静态成员函数avg(),它用于计算平均分;
(4)在编写测试函数main()函数时,定义一个学生对象数组用于存储输入的学生数据,然后输出这些学生的信息并计算学生的平均成绩并输出。
#define _CRT_SECURE_NO_WARNINGS#include <iostream>
#include <cstring>
using namespace std;#define N 3 //需要输入的学生数量
class Stud
{
public:Stud();~Stud();void setdata();void disp();static double avg();private:int no;string name;double deg;static double sum;static int num;};
int Stud::num = 0;
double Stud::sum = 0;Stud::Stud()
{
}Stud::~Stud()
{
}
void Stud::setdata() //手动输入学生信息
{cin >> no >> name >> deg;num++;sum += deg;
}
void Stud::disp()
{cout << "no:" << no << " - name:" << name << " - deg:" << deg << "- num:" << num << " - sum" << sum << endl;;
}
double Stud::avg()
{return double(sum / num);
}
int main()
{Stud S[N];for (int i = 0; i < N; i++) //输入要计算的学生信息{S[i].setdata();S[i].disp();}cout << "avg:" << S[N - 1].avg() << endl;}