⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsstudent.h

📁 学生成绩查询系统.帮忙大家学生和提升对VC++的学生和认识.
💻 H
字号:
#include <string>
using namespace std;

const int EXERCISE	= 0;								// 平时作业分数
const int REPORT	= 1;								// 实验报告分数
const int MIDTERM	= 2;								// 期中考试分数
const int TERMINAL	= 3;								// 期末考试分数
const int MARK		= 4;								// 总评分数

// 基类:抽象类
class Student {
protected:
	string m_ID;										// 数据成员:学号
	string m_Name;										// 数据成员:姓名
	float m_Mark;										// 数据成员:分数
public:
	Student(string ID, string Name, float Mark = 0.)
		: m_ID(ID), m_Name(Name), m_Mark(Mark) {}		// 构造函数
	Student() {}										// 构造函数
	virtual ~Student() {} 								// 虚析构函数
	Student(Student& student)							// 拷贝构造函数
	{
		m_ID = student.m_ID;
		m_Name=student.m_Name;
		m_Mark=student.m_Mark;
	}
	string GetID() { return m_ID; }						// 取学号
	string GetName() { return m_Name; }					// 取姓名
	float GetMark() { return m_Mark; }					// 取总评分数
	void CalcMark()										// 计算总评分数
	{
		m_Mark = MarkAlgo();
	}
	virtual float MarkAlgo() = 0;						// 总评分数算法:纯虚函数
};

// 第一级派生类
class Student1 : public Student {
protected:
	float m_Midterm;									// 期中考试分数
	float m_Terminal;									// 期末考试分数
public:
	Student1(string ID, string Name, float Midterm, float Terminal) : Student(ID, Name)
	{
		m_Midterm = Midterm;
		m_Terminal = Terminal;
	}
	Student1() {}
	void SetStudent(string ID, string Name, float Midterm, float Terminal)
	{
		m_ID = ID;
		m_Name = Name;
		m_Midterm = Midterm;
		m_Terminal = Terminal;
	}
	float GetMidterm() { return m_Midterm; }			// 取期中考试分数
	float GetTerminal() { return m_Terminal; }			// 取期末考试分数
	float MarkAlgo()									// 总评分数算法
	{
		return m_Midterm * 0.3 + m_Terminal * 0.7;
	}
};

// 第二级派生类
class Student2 : public Student1 {
protected:
	float m_Exercise;									// 平时作业分数
	float m_Report;										// 实验报告分数
public:
	Student2(string ID, string Name, float Exercise, float Report, float Midterm, float Terminal) : Student1(ID, Name, Midterm, Terminal)
	{
		m_Exercise = Exercise;
		m_Report = Report;
		m_Midterm = Midterm;
		m_Terminal = Terminal;
	}
	Student2() {}
	void SetStudent(string ID, string Name, float Exercise, float Report, float Midterm, float Terminal)
	{
		m_ID = ID;
		m_Name = Name;
		m_Exercise = Exercise;
		m_Report = Report;
		m_Midterm = Midterm;
		m_Terminal = Terminal;
	}
	float GetExercise() { return m_Exercise; }			// 取平时作业分数
	float GetReport() { return m_Report; }				// 取实验报告分数
	float MarkAlgo()									// 总评分数算法
	{
		return m_Exercise * 0.1 + m_Report * 0.2 + m_Midterm * 0.1 + m_Terminal * 0.6;
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -