怎么用C++代码实现学校人员管理系统
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍了怎么用C++代码实现学校人员管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用C++代码实现学校人员管理系统文章都会有所收获,下面我们一起来看
千家信息网最后更新 2025年11月08日怎么用C++代码实现学校人员管理系统
这篇文章主要介绍了怎么用C++代码实现学校人员管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用C++代码实现学校人员管理系统文章都会有所收获,下面我们一起来看看吧。
题目要求
学校人员管理系统
1、建立一个学校类,在其中定义按照姓名增加人员的增加函数,删除人员的删除的函数和查询函数(以姓名为准)。
2、建立一个人员基类,要具有姓名和性别属性,并有输出函数(可定义为虚函数)。
3、建立一个员工类和一个学生类,均由人员类继承而来。要求:可以输出员工类(学生类)对象的属性(如:姓名、性别和工作证号码或学生学号),分别写出它们的输出函数的具体实现。
4、重载">>",实现用cin为员工类、学生类和在职学生类对象赋值。(选做)
5、编写main()主函数,测试上述功能,并以菜单方式实现对各种人员的增加、删除和查询(以姓名为线索)。
6、程序应采用多文件结构。
7、vs2019编译
实验源代码
head.h头文件函数声明
/*头文件Head.h,声名所有需要的函数或者系统头文件*///系统头文件#include#include using namespace std;//全局变量extern int p ;//保存人类个数extern int Re;//保存当前学生所在位数extern int Rs;//保存当前员工所在位数extern int s ;//保存学生个数extern int e ;//保存员工个数//全局类数组的声明extern int maxEmployee;extern int maxStudent;extern Employee* employee;extern Student* student;//人类声明class Person {private: string name;//姓名 string sex;//性别 int age;//年龄 string status;//身份 void init();//初始化函数public: void setPerson();//调用初始化函数 void setStatus(string);//设置身份 string getName();//获取人的名字 string getStatus();//获取人的身份 static void setP(int);//当前添加第几个人 static void setRs(int);//当前添加第几个学生 static void setRe(int);//当前添加第几个员工 static int getRe();//获取Re static int getRs();//获取Rs static int getP();//获取p virtual void show();//虚函数};//学校类class school {private: //增加人员 static bool addPerson(); //删除人员 static bool deletePerson(); //查询人员 static Person queryPerson();public: static bool getAdd(); static bool getDel(); static Person getQue();};//学生类class Student :public Person {private: string StudentNumber; string StudentDormitory;public: //构造函数 Student(); // >>重载 friend istream& operator >> (istream& i, Student& p); static int getTotal(); static void setTotal(int); string getStuId(); void show();};//员工类class Employee : public Person {private: string EmployeeNumber; string EmployeeDormitory;public: Employee(); friend istream& operator >> (istream& i, Employee& p); static int getTotal(); static void setTotal(int); string getEpyId(); void show();};//main 函数里的函数声明void view();bool doSwitch(char n);extern char n;char Cin();
Remain.cpp文件实现头文件
#include"Head.h"//引用全局变量int p = 0;int s = 0;int e = 0;int Re = 0;int Rs = 0;int maxEmployee = 1000;int maxStudent = 1000;Employee* employee = new Employee[maxEmployee];Student* student = new Student[maxStudent];char n;/*人类*///人初始化函数void Person::init() { cout << "姓名:" << endl; cin >> name;cout << "性别:" << endl; cin >> sex; cout << "年龄:" << endl; cin >> age;}//void Person::setPerson() { init();}//string Person::getName() { return name;}void Person::setP(int i) { p = p + i;}int Person::getP() { return p;}void Person::setStatus(string s) { status = s;}string Person::getStatus() { return status;}void Person::setRs(int j) { Rs = j;}void Person::setRe(int j) { Re = j;}int Person::getRs() { return Rs;}int Person::getRe() { return Re;}//人类show函数void Person::show() { cout << "姓名:" << name << "\t" << "性别:" << sex << "\t" << "年龄:" << age << "\t" << "工作:" << status << "\t";}//员工//空参构造Employee::Employee(){}void Employee::show() { cout << "工号:" << EmployeeNumber << "\t" << "宿舍:" << EmployeeDormitory << endl;}int Employee::getTotal() { return e;}void Employee::setTotal(int i) { e = e + i;}string Employee::getEpyId() { return EmployeeNumber;}//员工>>重载istream& operator >> (istream& i, Employee& p) { p.setPerson(); cout << "工号:" << endl; i >> p.EmployeeNumber; cout << "宿舍:" << endl; i >> p.EmployeeDormitory; return i;}//学生Student::Student(){}void Student::show() { cout << "学号:" << this->StudentNumber << "\t" << "宿舍:" << this->StudentDormitory << endl;}int Student::getTotal() { return s;}void Student::setTotal(int i) { s = s + i;}string Student::getStuId() { return StudentNumber;}//学生>>重载istream& operator >> (istream& i, Student& p) { p.setPerson(); cout << "学号:" << endl; i >> p.StudentNumber; cout << "宿舍:" << endl; i >> p.StudentDormitory; return i;}/*添加*/bool school::addPerson() { int n; cin >> n; if (n != 1 && n != 2) return false; if (n == 2) { Student t; cin >> t; t.setStatus("学生"); student[Student::getTotal()] = t; Student::setTotal(1); Person::setP(1); return true; } if (n == 1) { Employee e; cin >> e; e.setStatus("员工"); employee[Employee::getTotal()] = e; Employee::setTotal(1); Person::setP(1); return true; } return false;}bool school::getAdd() { return addPerson();}/*删除员工和学生,删除对象*/bool delS() { cout << "请输入你要删除的学生学号!" << endl; string s; cin >> s; int Sl = Student::getTotal(); for (int i = 0; i < Sl; i++) { if (s == student[i].getStuId()) { //所有数组元素前移 for (int j = i; j < Sl; j++) { student[j] = student[j + 1]; } Student::setTotal(-1); return true; } } return false;}bool delE() { cout << "请输入你要删除的员工工号!" << endl; string s; cin >> s; int El = Employee::getTotal(); for (int i = 0; i < El; i++) { if (s == employee[i].getEpyId()) { //所有数组元素前移 for (int j = i; j < El; j++) { employee[j] = employee[j + 1]; } Employee::setTotal(-1); return true; } } return false;}bool school::deletePerson() { int n; cin >> n; if (n != 1 && n != 2) return false; if (n == 1) { return delS(); } else return delE(); return false;}bool school::getDel() { return deletePerson();}//查询Person school::queryPerson() { string s; cin >> s; Person p; for (int j = 0; j < Student::getTotal(); j++) { if (s == student[j].getName()) { student[j].setRs(j); p = (Person)student[j]; break; } } for (int j = 0; j < Employee::getTotal(); j++) { if (s == employee[j].getName()) { employee[j].setRe(j); p=(Person)employee[j]; break; } } return p;}Person school::getQue(){ return queryPerson();}//菜单bool doSwitch(char n) { if (n == '#')return false; switch (n) { case '1': cout << "----请说明你要添加的人员种类1.员工,2.学生------" << endl; if (school::getAdd()) cout << "添加成功!" << endl; else cout << "添加失败!" << endl; break; case '2': cout << "----请说明你要删除的人员种类1.学生,2.员工------" << endl; if (school::getDel())cout << "删除成功!"<> n; return n;}void view() { cout << "------------欢迎来到学校人员管理系统------------" << "\n" << "----------------请选择以下选项-------------------" << "\n" << "----------------1.添加人员-----------------------" << "\n" << "----------------2.删除人员-----------------------" << "\n" << "----------------3.查询人员-----------------------" << "\n" << "-------------------#退出!--------------------" << endl;} Main.cpp撰写main函数
#include"Head.h"int main() { while (true) { view(); if (!doSwitch(Cin())) { delete[] student; delete[] employee; break; } } return 0;}关于"怎么用C++代码实现学校人员管理系统"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"怎么用C++代码实现学校人员管理系统"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
人员
函数
学生
员工
学校
系统
姓名
文件
管理系统
管理
查询
性别
代码
C++
人类
学号
宿舍
个数
全局
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器更新后怎么退出
软件开发甲方公司工作内容
绍兴电脑软件开发需要学什么
没有添加到数据库
古丈软件开发项目管理
网络安全风险评估原则
数据库配置最大插入大小
数据库处理图片的方案
数据库逻辑设计约束范围
扬州浪潮服务器供应商
苹果手机视频软件开发
软件开发美工工作描述
贵阳九中 网络安全法
软件数据库工程师考试时间
明日之后双子岛服务器在哪条线
文件管理系统数据库表格设计
地下管线数据库 诚信所
怎么拒绝服务器开端口
软件开发 分层
北京网络技术公司
2021年网络安全人才报告
曲靖网络安全部位置
武汉哪个软件开发好
安捷伦cds2数据库
宝塔面板禁止访问服务器
挂Q软件开发
网络安全执法工作检查
我国网络安全漏洞
英德深圳java软件开发
关于网络安全的党课PPT