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

设计一个学生类student,它具有的私有数据成员是:注册号,姓名,数学,英语,计算机成绩;具有共有成员函数是:求三门课总成绩的函数sum();求三门课平均成绩的函数av... 设计一个学生类student,它具有的私有数据成员是:注册号,姓名,数学,英语,计算机成绩;具有共有成员函数是:求三门课总成绩的函数sum();求三门课平均成绩的函数average();显示学生数据信息的函数print();获取学生注册号的函数get_reg_num();设置学生数据信息的函数set_stu_inf();
编制主函数,说明一个student类对象的数组并进行全班学生信息的输入与设置,而后求出每一个学生的总成绩,平均成绩,全班学生总成绩最高分,全班学生总平均分,并在输入一个注册号后,输出与该学生有关的全部数据信息。
展开
 我来答
wggood1
推荐于2017-11-28 · TA获得超过102个赞
知道答主
回答量:84
采纳率:66%
帮助的人:49.5万
展开全部
#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;
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SWQSMEBEST
2012-04-25 · 超过12用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:35.1万
展开全部
这个程序不是作业么~百度一下有多是的~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-21
展开全部
这么基础的,楼主自己写啊,多看看课本就可以写出来了。
追问
我不是不会吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式