c++题目,求大神

c++题目,求大神某天,教务处要统计学生的C++成绩。假设你是计算机某班的班长,现在已经知道了所有学生的学号,姓名,C++成绩,统计你班学生的人数与你班C++的平均成绩。... c++题目,求大神某天,教务处要统计学生的C++成绩。

假设你是计算机某班的班长,现在已经知道了所有学生的学号,姓名,C++成绩,统计你班学生的人数与你班C++的平均成绩。请定义一个名为Student的类,其中,用成员数据myID来记录学生id,myName来记录学生姓名,myScore来记录学生成绩,并用成员数据classSize记录班级人数和averageScore记录平均成绩,编写成员函数getNum()来统计班级人数,getAverage()来计算平均成绩。
展开
 我来答
老冯文库
2017-06-24 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8733

向TA提问 私信TA
展开全部

C++程序:

#include <iostream>
#include <string.h>

using namespace std;

class Student
{
protected:
int myID; //学号
char myName[20]; //姓名
double myScore; //C++成绩
static int classSize; //班级人数
static double averageScore; //平均成绩
public:
Student();
Student(int id, char *name, double score);
static int getNum();
static double getAverage();
};

int Student::classSize = 0;
double Student::averageScore = 0.0;

Student::Student() : myID(0), myScore(0)
{
}

Student::Student(int myID, char *myName, double myScore) : myID(myID), myScore(myScore)
{
strcpy(this->myName, myName);
averageScore = (averageScore * classSize + myScore) / (classSize + 1);
classSize++;
}

int Student::getNum()
{
return classSize;
}

double Student::getAverage()
{
return averageScore;
}


void main()
{
Student stu;

stu = Student(1001, "张三其", 90);
cout<<"学生人数:"<<Student::getNum()<<endl;
cout<<"平均成绩:"<<Student::getAverage()<<endl;

stu = Student(1002, "李师煊", 87);
cout<<"学生人数:"<<Student::getNum()<<endl;
cout<<"平均成绩:"<<Student::getAverage()<<endl;

stu = Student(1003, "王五五", 76);
cout<<"学生人数:"<<Student::getNum()<<endl;
cout<<"平均成绩:"<<Student::getAverage()<<endl;
}


运行测试:

学生人数:1
平均成绩:90
学生人数:2
平均成绩:88.5
学生人数:3
平均成绩:84.3333
百度网友c281b4c
2017-06-24 · TA获得超过2293个赞
知道大有可为答主
回答量:2382
采纳率:50%
帮助的人:1026万
展开全部
class student
{
    int myid;
    string myname;
    int myscore;
    static int classsize;
    static double sum;
    static double averagescore;
public:
    student(int id=0,string nm="",int sc=0):myid(id),myname(nm),myscore(sc)
    {
        ++classsize;
        sum+=myscore;
        averagescore = sum/classsize;
    }
    int getnum()
    {
        return classsize;
    }
    double getaverage()
    {
        return averagescore;
    }
};
int student::classsize=0;
double student::sum = 0;
double student::averagescore = 0;
int main()
{
    student s1(1,"zhang",95);
    student s2(2,"wang",98);
    student s3(3,"li",92);
    student s4(4,"zhao",85);
    cout <<s1.getnum()<<endl;;
    cout <<s1.getaverage()<<endl;
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式