怎么用C++代码实现学校人员管理系统
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了怎么用C++代码实现学校人员管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用C++代码实现学校人员管理系统文章都会有所收获,下面我们一起来看
千家信息网最后更新 2025年01月18日怎么用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安全错误
数据库的锁怎样保障安全
美人图下载软件开发
闵行区信息化数据库研发市场价
大话西游手游共话江湖服务器
杭州扬兆网络技术有限公司
网络技术公司提成一般几个点
天然气网络安全应急预案
下载程序网络安全常识
闵行区常规网络技术参考价格
青浦区电子网络技术质量服务
公主岭市网络安全和信息化委员会工作会议
安徽慧暖软件开发有限公司
30岁不想做软件开发了
国家积极开展什么网络技术研究
o2o电商软件开发怎么样
万盛区新华软件开发培训
达蒙数据库替代
用友财务软件连接不上数据库
云原生软件开发
网络技术研修总结
临床软件开发
数据库推荐
网络安全意识培养300
安居天津网络技术有限公司
网络安全应急演练费用计划表
互联网科技展示ppt模板
吉林大学数据库
华东师范大学公共数据库入口登陆
滨海颐创互联网科技有限公司
网络安全公司主要是干什么
销售串口终端服务器报价