OJ第六批——Problem N: 填空题:静态成员---计算学生个数

问题及代码:

 

Problem N: 填空题:静态成员---计算学生个数

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 234   Solved: 173
[ Submit][ Status][ Web Board]

Description

学生类声明已经给出,在主程序中根据输入信息输出实际建立的学生对象个数,以及所有学生对象的成绩总和。
在下面的程序段基础上完成设计,只提交begin到end部分的代码
#include <iostream>
#include <string>
using namespace std;
class student
private:
string name;  //学生姓名
int age;      //学生年龄
int score;    //学生成绩
       static int count; //记录学生对象个数
static int sum;  //记录所有学生的总成绩
public:
student(string n,int a,int s);  //构造函数
static int get_count();  //静态成员函数,获取count的值
static int get_sum();   //静态成员函数,获取sum的值
};
 
//将程序需要的成份写下来,只提交begin到end部分的代码
//******************** begin ********************
int student::count=0;
_____(1)_______;
________(2)___________
{
     name=n;
age=a;
score=s;
count++;
sum+=s;
}
int student::get_count()
{
    ______(3)_______;
}
int student::get_sum()
{
    ______(4)______;
}
//********************* end ********************
int  main( )
{
  string name;
  int age;
  int score;
  int n;
  cin>>n;  //输入学生对象个数
  while(n--)
  {
         cin>>name>>age>>score;
new student(name,age,score);
  }
  cout<<"the count of student objects=";
  cout<<student::get_count()<<endl;
  cout<<"the sum of all students score=";
  cout<<student::get_sum()<<endl;
  return 0;
}

Input

学生个数

对应学生个数的学生信息(姓名    年龄    成绩)

Output

学生个数

所有学生的成绩之和

Sample Input

3
guo  34  98
zhang    56  60
li   23   87

Sample Output

the count of student objects=3
the sum of all students score=245

HINT

#include <iostream> 
#include <string> 
using namespace std; 
  
class student 
{  
private: 
    string name;  //学生姓名 
    int age;      //学生年龄 
    int score;    //学生成绩 
    static int count; //记录学生对象个数 
    static int sum;  //记录所有学生的总成绩 
public: 
    student(string n,int a,int s);  //构造函数 
    static int get_count();  //静态成员函数,获取count的值 
    static int get_sum();   //静态成员函数,获取sum的值 
}; 
 int student::count=0; 
int student::sum=0; 
student::student(string n,int a,int s) 
{ 
    name=n; 
    age=a; 
    score=s; 
    count++; 
    sum+=s; 
} 
int student::get_count() 
{ 
    return count; 
} 
int student::get_sum() 
{ 
    return sum; 
} 
int main() 
{ 
  string name; 
  int age; 
  int score; 
  int n; 
  cin>>n;  //输入学生对象个数 
  while(n--) 
  { 
     cin>>name>>age>>score; 
     new student(name,age,score); 
  } 
  cout<<"the count of student objects="; 
  cout<<student::get_count()<<endl; 
  cout<<"the sum of all students score="; 
  cout<<student::get_sum()<<endl; 
  return 0; 
} 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值