问题及代码:
(1)原程序:
/*
* Copyright (c) 2015, 烟台大学计算机学院
* All rights reserved.
* 文件名称:lei.cpp
* 作 者:陈旭
* 完成日期:2015年3月25日
* 版 本 号:v1.0
*
* 问题描述:参考如图的运行结果,完成类的定义,并用多文件形式组织程序
* 输入描述:考了语文数学的考生
* 程序输出:略
*/
#include<iostream>
using namespace std;
class Stu
{
private:
string name; //学生姓名
float chinese; //语文成绩
float math; //数学成绩
public:
void setStudent(string,float,float);
string getName();
void setName(string);
void show();
float average();
float Sum();
};
float Stu::average()
{
return (chinese+math)/2;
}
float Stu::Sum()
{
return chinese+math;
}
void Stu::setStudent(string x,float y,float z)
{
name=x;
chinese=y;
math=z;
}
void Stu::show()
{
cout<<"Name: "<<name<<endl;
cout<<"Score: "<<chinese<<" "<<math<<endl;
cout<<"average: "<<average();
cout<<" Sum: "<<Sum()<<endl;
cout<<endl;
}
string Stu::getName()
{
return name;
}
void Stu::setName(string n)
{
name=n;
}
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;
}
(2)多文件组织后的
main.cpp
#include<cstring>
#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;
}
student.cpp
#include "student.h"
#include<cstring>
#include<iostream>
using namespace std;
float Stu::average()
{
return (chinese+math)/2;
}
float Stu::Sum()
{
return chinese+math;
}
void Stu::setStudent(string x,float y,float z)
{
name=x;
chinese=y;
math=z;
}
void Stu::show()
{
cout<<"Name: "<<name<<endl;
cout<<"Score: "<<chinese<<" "<<math<<endl;
cout<<"average: "<<average();
cout<<" Sum: "<<Sum()<<endl;
cout<<endl;
}
string Stu::getName()
{
return name;
}
void Stu::setName(string n)
{
name=n;
}
student.h
#ifndef STUDENT_H
#define STUDENT_H
#include<iostream>
using namespace std;
class Stu
{
private:
string name; //学生姓名
float chinese; //语文成绩
float math; //数学成绩
public:
void setStudent(string,float,float);
string getName();
void setName(string);
void show();
float average();
float Sum();
};
#endif // STUDENT_H
运行结果:
本文介绍了一个使用C++实现的学生信息类,该类能够存储学生的姓名、语文和数学成绩,并提供计算平均分和总分的方法。通过多文件组织的方式提高了代码的可维护性和复用性。

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



