【项目4 - 考了语文数学的学生】

下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序

#include<iostream>
using namespace std;
class Stu
{
private:
string name; //学生姓名
float chinese; //语文成绩
float math; //数学成绩
//接下去写
};



int main()
{
Stu s1,s2;
s1.setStudent("Lin daiyu", 98, 96); //对象置初值
s2.setStudent("Jia baoyu", 90, 88); //对象置初值
s1.show();//打印信息
s2.show();//打印信息
s1.setName("xue baochai");//重新置p1对象的名字
s1.show();
cout<<"s1.Name: "<<s1.getName()<<endl;//打印对象的名字
cout<<"s1.average: "<<s1.average()<<endl;//打印对象的成绩
return 0;
}

《C++语言基础》实践参考——考了语文数学的学生_初值

[参考解答]

stu.h

#ifndef STUDENT_H_INCLUDED
#define STUDENT_H_INCLUDED
using namespace std; //为了用string类型
#include <cstring> //为了用string类型
class Stu
{
private:
string name; //学生姓名
float chinese; //语文成绩
float math; //数学成绩
public:
float average();//计算平均成绩
float sum(); //计算总分
void show(); //打印信息
void setStudent(string,float,float);//为对象置姓名、成绩
void setName(string); //为对象置姓名
string getName(); //取得学生姓名
};

#endif // STUDENT_H_INCLUDED


stu.cpp


#include<iostream>
#include<cstring>
#include "stu.h"
using namespace std;

float Stu::average()
{
return (chinese+math)/2; //平均成绩
}
float Stu::sum()
{
return chinese+math; //总分
}
void Stu::show() //打印信息
{
cout<<"Name: "<<name<<endl;
cout<<"Score: "<<chinese<<'\t'<<math<<endl;
cout<<"average: "<<average()<<'\t'<<"Sum: "<<sum()<<endl<<endl;
}
void Stu::setStudent(string sName, float fChinese, float fMath)
{
name=sName; //置姓名
chinese=fChinese; //置语文成绩
math=fMath; //置数学成绩
}

void Stu::setName(string sName)
{
name=sName; //置姓名
}

string Stu::getName()
{
return name; //返回姓名
}


main.cpp


#include<iostream>
#include"student.h"
using namespace std;

int main()
{
Stu s1,s2;
s1.setStudent("Lin daiyu", 98, 96); //对象置初值
s2.setStudent("Jia baoyu", 90, 88); //对象置初值
s1.show();//打印信息
s2.show();//打印信息
s1.setName("xue baochai");//重新置p1对象的名字
s1.show();
cout<<"s1.Name: "<<s1.getName()<<endl;//打印对象的名字
cout<<"s1.average: "<<s1.average()<<endl;//打印对象的成绩
return 0;
}