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

📄 student.h

📁 学生成绩管理系统
💻 H
字号:
//student.h
#ifndef H_STUDENT_H_ABCDE
#define H_STUDENT_H_ABCDE
#include <vector>
const int NUM_SUBJECT=5;//科目数
using namespace std;
//每一条记录的结构
struct Record
{
	string number;             //学号(中间不能有空格)
	string name;               //姓名(中间不能有空格)
	string gender;             //性别(中间不能有空格)
	float score[NUM_SUBJECT];  //分别为该学生5门课的成绩
	float sum;                 //总分
	float average;             //平均分
	int index;                 //名次
	bool toBeDeleted;//是否删除的标记

	Record() {toBeDeleted=false;}
	
};

//用于存储通信录
//存储学生信息使用的底层数据结构是数组向量
	class RecordVec : public vector<Record*>
	{
		friend ostream& operator << (ostream& os,const RecordVec& c_r1);
		friend istream& operator >> (istream& is,RecordVec& r1);
	public:
		//销毁数组中记录的所有RECORD所占用的空间,并且清空数组存储的记录
		//该函数覆盖了基类中的同名函数
		void clear()
		{
			//遍历整个记录提取并销毁所有RECORD
			iterator iter;
			iterator it_end=end();
			for(iter = begin(); iter != it_end; iter++)
			{
				delete *iter;
			}
			//调用超类的函数来清空记录
			vector<Record*>::clear();
		}
		//销毁指定的记录,然后从数组中将其删除
		//该函数覆盖了基类中的同名函数
		iterator erase(iterator where)
		{
			delete *where;
			return vector<Record*>::erase(where);
		}
		~RecordVec()
		{
			this->clear();
		}
	};

#endif //H_STUDENT_H_ABCDE

⌨️ 快捷键说明

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