内存:128  时间:1

题目描述

教师最近要涨工资了,需要统计出教师的个数和平均工资。
教师信息的输入如下:
            教师姓名(name)            工资(money)
            张三                               3089.2
            李四                               5040.8
            王五                               6890.97
            赵六                              1000

在下面的程序段基础上完成整个设计,统计教师个数和计算教师们的平均工资。

注意:
(1)程序中与工资相关的数据都用double数据,得到的平均工资也用double表示,保留两位有效数字    
(2)要求用静态数据成员和静态成员函数
(3)只提交begin到end部分的代码

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
class teacher
{
  private:
      string name; //姓名
      double money;  //工资
      static int count;  //记录教师对象个数
      static double total;    //记录所有教师的总工资
  public:
     teacher(); //构造函数
     void input() //输入教师信息
     {
        cin>>name>>money;
     }
    double gettotal();  //计算所有教师工资总数
    static double average(); //获取教师平均工资
    static int getcount();  //获取教师对象个数 
};

//将程序需要的其他成份写在下面,只提交begin到end部分的代码
//******************** begin ********************
 


//********************* end ********************

int main()
{
   int n;
   cin>>n;  //输入教师个数

   teacher *p=new teacher[n];

   while(n–)
   { 
      p->input(); //输入教师信息
      p->gettotal(); //计算d所有教师工资总数
      p++;
   }   
 
   cout<<"teacher count="<<teacher::getcount()<<endl;
   cout<<"average money="<<teacher::average()<<endl;
   return 0;
}

输入

教师个数
每个教师信息(姓名和工资)

输出

教师个数和平均工资

样例输入

4
张三 3089.2
李四 5040.8
王五 6890.97
赵六 1000

样例输出

teacher count=4
average money=4005.24

提示

(1)程序中与成绩相关的数据都用整型数据,得到的平均成绩也用整数表示    

(2)要求用静态数据成员和静态成员函数

(3)只提交begin到end部分的代码

代码如下


#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
class teacher
{
  private: 
      string name; //姓名
      double money;  //工资
      static int count;  //记录教师对象个数
      static double total;    //记录所有教师的总工资
  public:
     teacher(); //构造函数
     void input() //输入教师信息
     {
        cin>>name>>money;
     }
    double gettotal();  //计算所有教师工资总数
    static double average(); //获取教师平均工资
    static int getcount();  //获取教师对象个数  
};


//将程序需要的其他成份写在下面,只提交begin到end部分的代码
//******************** begin ********************


 int teacher::count=0;
double teacher::total=0;
 teacher::teacher()
{
    count+=1;
}
double teacher::gettotal(){total+=money;}
int teacher::getcount()
{
    return count;
}
double teacher::average()
{
    return total/count;
}


//********************* end ********************

int main()
{
   int n;
   cin>>n;  //输入教师个数

   teacher *p=new teacher[n];

   while(n--)
   {  
      p->input(); //输入教师信息
      p->gettotal(); //计算d所有教师工资总数
      p++;
   }    
 
   cout<<"teacher count="<<teacher::getcount()<<endl;
   cout<<"average money="<<teacher::average()<<endl;
   return 0;
}

代码来源于互联网,仅供参考!