用C++编写一个人事管理系统

  • 1.问题描述
  • 2.实现思路
  • 3.部分代码
  • 4.运行截图

1.问题描述

用C++编写一个简单的人事管理系统,具有建立、插入、删除、查询和打印功能,可以从文件输入,输出到文件。
管理的人员有:
本科生:姓名、性别、年龄、身份证号码、高考总分
脱产研究生:姓名、性别、年龄、身份证号码、专业
在职研究生:姓名、性别、年龄、身份证号码、学号、专业、工资
职工:姓名、性别、年龄、身份证号码、工资、岗位
教师:姓名、性别、年龄、身份证号码、工资、专业

2.实现思路

构建基类person,具体包含“姓名”、“性别”、“年龄”、“身份证号码”这四个属性。从基类派生出5个派生类,即本科生、脱产研究生、在职研究生、职工和教师。

通过建立异质链表,对不同的对象实现建立、插入、删除等操作。

异质链表:定义链表指针时,将其定义为基类指针,可用该指针指向派生类对象。

3.部分代码

基类

class person{   //定义共同基类friend class list;
protected:char name[20];int sex;    //0-男; 1-女int age;char ID[20];person *next;
public:person(){}//无参构造函数person(char *name, int sex, int age, char *ID);//构造函数virtual void display();//输出到屏幕virtual void fdisplay();//输出到文件virtual void create();//从屏幕输入创建对象结点virtual void fcreat();//从文件输入创建对象结点
};

派生类

class student:public person{//派生类  本科生friend class list;int score;  //高考总分
public:student(){}student(char *name, int sex, int age, char *ID, int score);void display();void fdisplay();void create();void fcreat();
};
class offstudent:public person{//派生类  脱产研究生friend class list;char major[20];
public:offstudent(){}offstudent(char *name, int sex, int age, char *ID, char *major);void display();void fdisplay();void create();void fcreat();
};
class onstudent:public person{//派生类  在职研究生friend class list;char stuID[20];char major[20];float salary;
public:onstudent(){}onstudent(char *name, int sex, int age, char *ID, char *stuID,char *major, float salary);void display();void fdisplay();void create();void fcreat();
};
class staff:public person{//派生类  职工friend class list;float salary;char job[20];
public:staff(){}staff(char *name, int sex, int age, char *ID, float salary, char *job);void display();void fdisplay();void create();void fcreat();
};
class teacher:public person{//派生类  教师friend class list;float salary;char major[20];
public:teacher(){}teacher(char *name, int sex, int age, char *ID, float salary, char *major);void display();void fdisplay();void create();void fcreat();
};

链表类

class list{person *root;//链表头指针
public:list(){root = 0;}~list();void insert_person(person *node);//插入对象结点void remove();//移除对象结点void display_list();//输出链表到屏幕void fdisplay_list();//输出链表到文件void create();//从键盘创建一个对象结点void fcreat();//从文件读入,建立链表void search();//查找
};

4.运行截图




点击下载链接下载完整源代码。

用C++编写一个人事管理系统相关推荐

  1. 用C#和sql server语言编写的人事管理系统

    用C#和sql server语言编写的人事管理系统 博主作为一位新人刚自学完C#语言和SQL server也是第一次在CSDN这个程序猿的大家庭上发表博客,想通过这一篇博客与各位前辈进行学习交流,如写 ...

  2. 停车场管理系统 java_使用java编写一个停车场管理系统

    使用java编写一个停车场管理系统 发布时间:2020-11-30 16:00:28 来源:亿速云 阅读:145 作者:Leah 这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感 ...

  3. 用C语言编写一个电话簿管理系统

    用C语言编写一个电话簿管理系统 仅供参考 #include<stdio.h> #include<stdlib.h> #include<string.h> #incl ...

  4. Java基础——利用DMO4J编写一个商品管理系统

    题目:这里有一份XML文件用于储存商品信息,编写一个商品管理系统,可以对XML文件进行增删查改的操作. <?xml version="1.0" encoding=" ...

  5. 基于python编写一个名片管理系统

    我们小做一个名片管理系统,首先要确定系统的框架,要实现增删改查的功能,可以定义 1:增加 2:查看 3:查询(并修改)4:退出系统,我们确定了这几项功能,然后我们就可以编写主程序了. 功能列表 1 新 ...

  6. 使用Qt5编写一个学生管理系统

    程序使用Qt5编写了一个学生管理系统 首先介绍一下项目框架,项目包含一个主窗口mainwindow Mainwindow使用的就是最常见的Mainwindow带对话框的,带标题栏等等的窗口 两个子窗口 ...

  7. 用java编写一个图书管理系统_手把手教你编写第一个java程序

    安装完jdk后我们就可以试着编写第一个java程序了,让我们一起来试试吧! 第一步 点击开始--所有程序--附件--记事本,新建记事本,输入以下代码: class HelloWorld { publi ...

  8. java使用switch编写功能菜单_使用switch编写一个购物管理系统

    在编写过程中,可能没有做到语句的精简,这个是需要解决的事. package nzcc4; import java.util.Scanner; public class Shopmain { publi ...

  9. 实习日志(编写一个商城管理系统)

    2021.08.16  星期一 今天开始写小系统.首先对初始化了git的远程仓库.根据步骤将本地的仓库上传到了码云上的仓库.弄完了之后便准备测试一下后台的接口是否正常有效.一开始先将给的sql文件导入 ...

最新文章

  1. 引入外部css_css
  2. 运营商认为虚拟化也难快速降低企业OPEX
  3. 2021年春季学期-信号与系统-第一次作业参考答案-第一题
  4. 对象必须实现 iconvertible_Java I/O 流之数据流_对象流
  5. UGUI全面实践教程
  6. 反转 鼠标_梦幻西游:剧情反转?挖图挖出环装,在晶清加持下3000W到手
  7. neo4j cypher_Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String...
  8. 消息摘要算法HmacMD5的实现
  9. JDBC 获取被插入数据的主键ID值
  10. 安装Vim,提示“Could not get lock......”
  11. 论文笔记_S2D.54_2020-TIP_用于精确深度估计的无监督多视图约束卷积网络
  12. 姓名常用汉字代码查询器
  13. oracle排除非数字,oracle字段中找出字段中含有非数字的方法!!!
  14. ssh 报 You don't exist, go away
  15. AFM代码解析及tensorflow复现
  16. 2013硕士毕业生薪资待遇
  17. Java:pdf转word
  18. 程序员的阿里命---一个总想馋着你的阿里巴巴
  19. linux中的快捷键
  20. 小白从0开始学习推荐系统

热门文章

  1. ue4远程服务器xcode,UE4 使用Xcode真机调试的方法
  2. js计算字符串包含几个字符
  3. 学生优化(一)------输入文本限制
  4. 金格控件java版本_金格全文批注中间件软件下载
  5. elastic-Job配置参数详解
  6. Chrome 浏览器字体不显示问题
  7. 管理感悟:工作中的客观题与主观题,及主管工作
  8. 刷题汇总(三)leetcode 精选50题 C++答案总结
  9. 自考计算机专业实践好多,自考计算机实践难考吗?
  10. 自定义虚拟摇杆组件让你一劳永逸