怎么用C++代码实现学校人员管理系统
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要介绍了怎么用C++代码实现学校人员管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用C++代码实现学校人员管理系统文章都会有所收获,下面我们一起来看
千家信息网最后更新 2025年02月23日怎么用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安全错误
数据库的锁怎样保障安全
阿里云服务器手机管理端
编程接口数据库
湖南米信网络技术有限公司
电脑服务器限制上传文件
存储服务器工程师的就业岗位
华三服务器开机进安全模式
数据库dicom
综治办网络安全自查报告
数据库及其应用是access吗
查询数据库中一个表的某些内容
光环新网 网络安全产品
天然工坊app软件开发
ultipa图数据库
黑客攻击防范与网络安全技术
陇西贝壳互联网科技公司
移动软件开发培训
惠网络技术有限公司怎么样
中国科学技术大学研究生网络安全
安庆医院软件开发多少钱
北京百卓网络技术有限公
香港云服务器恒创科技信赖
web服务器放在哪个区域
上海网络游戏软件开发招聘
农行软件开发中心面试题目
吉林鸿燚互联网科技有限公司
北大网络安全与管理
计算机等级考试网络技术题型
软件开发自动化搭建
专科有网络安全专业么
风暴英雄服务器