参考答案:
main.cpp:
/* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:陈丹妮
* 完成日期:2015年 3 月 28 日
* 版 本 号:v1.0
* 问题描述:下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序
* 输入描述:无输入
* 输出结果:输出姓名和成绩
*/
#include <iostream>
#include "stu.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;
}
stu.h:
#ifndef STU_H_INCLUDED
#define STU_H_INCLUDED
using namespace std;//为了用string类型
#include <cstring>//为了用string类型
class Stu
{
private:
string name;//学生的姓名
float chinese;//语文成绩
float math;//数学成绩
public:
void setStudent(string,double,double);//为对象置姓名,成绩
void setName(string);//为对象置姓名
void show();//打印信息
double average();//计算平均成绩
double sum();//计算总成绩
string getName();//取得学生的姓名
};
#endif // STU_H_INCLUDED
stu.cpp:
#include <iostream>
#include <cstring>
#include "stu.h"
using namespace std;
void Stu::setStudent(string sname,double dchinese,double dmath)
{
name=sname;
chinese=dchinese;
math=dmath;
}
void Stu::setName(string sname)
{
name=sname;
}
void Stu::show() // 打印成绩
{
cout<<"Name:"<<name<<endl;
cout<<"Score:"<<chinese<<'\t'<<math<<endl;
cout<<"average:"<<average()<<'\t'<<"sum:"<<sum()<<endl<<endl;
}
string Stu::getName()
{
return name; //返回姓名
}
double Stu::average()
{
return (chinese+math)/2;//返回平均成绩
}
double Stu::sum()
{
return (chinese+math);//返回总成绩
}
心得体会:做了项目三后,第四个项目做的很顺手,很开心,继续加油!