**
设计一个学生类
**
【问题描述】设计一个学生类,成员变量包括学号,姓名,性别和一门课的成绩。成员函数如下:
(1)构造函数对学生的所有属性初始化,无参数的构造函数设置学号为1001,姓名为zhangsan,性别为M
(2)输入学生信息和输出学生信息。
(3)输入学生学号和成绩
(4)获取学生成绩
在main函数中定义一个班的同学(假如一个班有N个同学,采用对象数组),输出该班的平均成绩。
【输入形式】
【输出形式】
【样例输入】
1001 80
1002 70
1003 87
1004 69
1005 82
【样例输出】
1001 Zhangsan M 80
1002 Zhangsan M 70
1003 Zhangsan M 87
1004 Zhangsan M 69
1005 Zhangsan M 82
Average:77.6
Destructor called
Destructor called
Destructor called
Destructor called
Destructor called
#include<iostream>
#include<string>
using namespace std;
#define N 5
class Student
{
private:
int num;
float score;
string name,sex;
public:
Student();
Student(int ,string ,string ,int );
friend void input(Student *);
friend void output(Student *p);
friend float average(Student *p);
~Student();
};
Student::~Student()
{
cout<<"Destructor called"<<endl;
cout<<endl;
}
Student::Student()
{
num=1001;
name="Zhangsan";
sex="M";
}
Student::Student(int num_,string name_,string sex_,int score_)
{
num=num_;
name=name_;
sex=sex_;
score=score_;
}
void input(Student *p)//输入对象数组
{
for(int i=0;i<N;i++)
{
cin>>p[i].num>>p[i].score;
}
}
void output(Student *p)//输出对象数组
{
for(int i=0;i<N;i++)
{
cout<<p[i].num<<" "<<p[i].name<<" "<<p[i].sex<<" "<<p[i].score<<endl;
cout<<endl;
}
}
float average(Student *p)//计算平均数
{
return (p[0].score+p[1].score+p[2].score+p[3].score+p[4].score)/5;
}
int main()
{
Student stu[N];
input(stu);
output(stu);
cout<<"Average:"<<average(stu)<<endl<<endl;;
return 0;
}
本文介绍了如何设计一个C++的学生类,包含学号、姓名、性别和成绩等属性,并提供了构造函数、输入输出学生信息、成绩管理和计算班级平均成绩等功能。通过样例输入和输出展示了类的使用方法。
1534

被折叠的 条评论
为什么被折叠?



