使用C++编写一个学生类

设计一个学生类student,它具有的私有数据成员是:注册号,姓名,数学,英语,计算机成绩;具有共有成员函数是:求三门课总成绩的函数sum();求三门课平均成绩的函数average();显示学生数据信息的函数print();获取学生注册号的函数get_reg_num();设置学生数据信息的函数set_stu_inf();
编制主函数,说明一个student类对象的数组并进行全班学生信息的输入与设置,而后求出每一个学生的总成绩,平均成绩,全班学生总成绩最高分,全班学生总平均分,并在输入一个注册号后,输出与该学生有关的全部数据信息。

第1个回答  推荐于2017-11-28
#include <iostream>
#include <string.h>
using namespace std;
class CStudent
{
public:
CStudent();
float sum();
float average();
void print_inf();
int get_reg_num();
void set_stu_inf(int x,char* na,float s,float y,float j);
private:
int no; //学号
char name[10];
float ma; //数学成绩
float en; //英语成绩
float co;
};
CStudent::CStudent()
{
no = 0;
strset(name,0);
ma = 0;
en = 0;
co = 0;
}
float CStudent::sum()
{
return ma+en+co;
}
float CStudent::average()
{
return sum()/3.0;
}
void CStudent::print_inf()
{
cout<<"注册号:"<<no<<endl;
cout<<"姓名:"<<name<<endl;
cout<<"数学成绩:"<<ma<<endl;
cout<<"英语成绩:"<<en<<endl;
cout<<"计算机成绩:"<<co<<endl;
}
int CStudent::get_reg_num()
{
return no;
}
void CStudent::set_stu_inf(int x,char* na,float s,float y,float j)
{
no = x;
strncpy(name,na,10);
ma = s;
en = y;
co = j;
}
void main()
{
CStudent st[10];
float total[10]; //总分
float maxSum = 0,totalSum = 0; //最高分,总成绩
int x; //注册号
int i;
for (i=0;i<10;++i)
{
char na[10];
float s,y,j;
cout<<"输入学生"<<i<<"的信息:";
cin>>x>>na>>s>>y>>j;
st[i].set_stu_inf(x,na,s,y,j);
}
for (i=0;i<10;++i)
{
cout<<"学生"<<i<<"总成绩为:"<<st[i].sum()<<" 平均成绩为:"<<st[i].average()<<endl;
total[i] = st[i].sum();
maxSum = maxSum>total[i]?maxSum:total[i];
totalSum += total[i];
}
cout<<"全班学生总成绩最高分:"<<maxSum<<endl;
cout<<"全班学生总平均分:"<<totalSum/10.0<<endl;
cout<<"***********************************************************"<<endl;
cout<<"请输入一个注册号:";
cin>>x;
for (i=0;i<10;++i)
{
if (st[i].get_reg_num() == x)
{
cout<<"该生信息如下:"<<endl;
st[i].print_inf();
break;
}
}
}本回答被网友采纳
第2个回答  2012-04-25
这个程序不是作业么~百度一下有多是的~
第3个回答  2012-04-21
这么基础的,楼主自己写啊,多看看课本就可以写出来了。追问

我不是不会吗?