C++课程设计——职工工作量管理系统

文章描述了一个职工管理系统的对象设计,包括职工对象的属性如姓名、职工号、工作量等,以及添加、查询、显示、编辑、删除、统计、保存和读取等功能。此外,还提到了worker类和Dy_arr类的数据成员和操作方法,如深拷贝、尾插法和尾删法。
摘要由CSDN通过智能技术生成

设计对象:职工

     对象属性:姓名、职工号、性别、年龄、所在部门、联系方式、职工号、完成的产品数量。

     实现功能:

(1)添加功能:程序能够添加职工的记录和工作量,可提供选择界面供用户选择所要添加

的类别,要求职工的编号要唯一,如果添加了重复职工号的职工记录时,则提示数据添加重

复并取消添加。

(2)查询功能:可根据职工号、姓名等信息对已添加的职工记录进行查询。还可以按职工

号对工作量进行查询。如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信

息。

(3)显示功能:可显示当前系统中所有职工记录和工作量统计信息,每条记录占据一行。

(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能:主要实现对已添加的人员记录进行删除和工作量进行删除。如果当前系统

中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编

号,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存

在。

(6)统计功能:对职工可按工作量进行统计,并排名次。可将职工信息按照职工号或者完成的产品数量进行相应的排序,以及升序降序任选。

(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。

(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。

(3.1)类:worker类,Dy_arr类

(3.2)数据成员:string w_name;

                 int w_id;

                 int w_age;

                 string w_gender;

                 string w_department;

                 long long w_contact;//联系方式

                 int w_number;//完成产品的数量

                 T* parr;

                 int m_Capacity;

                 int m_Size;

worker(string name, int id,string gender,int age, string department, long long contact, int number)//创建对象——职工

void Push_back(const T& val)//尾插法,添加数据

void Pop_back()//尾删法。删除选定的数据

Dy_arr(const Dy_arr& arr)//深拷贝,改变新数组的时候,不改变原数组

T& operator[](int index)//通过下标访问

Dy_arr& operator=(const Dy_arr& arr) //operator深拷贝

void input(Dy_arr<worker>& arr)//输入

void query(Dy_arr<worker>& arr)//查询

void display(Dy_arr<worker>& arr)//显示

void modify(Dy_arr<worker>& arr)//编辑

void strike(Dy_arr<worker>& arr) //删除信息

void count(Dy_arr<worker>& arr) //排序

void save(Dy_arr<worker>& arr) //写入文档

void init_Emp(Dy_arr<worker>& arr) //读取文档数据

部分代码

尾插法

    void Push_back(const T& val) {

         if (this->m_Capacity == this->m_Size) {

             return;

         }

         this->parr[this->m_Size] = val;

         this->m_Size++;

    }

    尾删法

    void Pop_back() {//用户无法访问最后一个元素,逻辑删除

         if (this->m_Size = 0)

             return 0;

         this->m_Size--;

    }

    深拷贝

    Dy_arr(const Dy_arr& arr) {

         this->m_Capacity = arr.m_Capacity;

         this->m_Size = arr.m_Size;

         this->parr = new T[arr.m_Capacity];

         for (int i = 0; i < this->m_Size; i++) {//拷贝原有数据

             this->parr[i] = arr.parr[i];

         }

    }

 完整代码和word请私聊我

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值