C++员工考勤管理系统

news2025/6/29 23:37:02

目录
1 考勤管理系统的设计 1
1.1 需求分析 1
1.2 功能模块构成 1
1.3 数据库结构设计 2
2 考勤管理系统的实现 4
2.1 系统登陆功能的实现 4
2.2 基本信息管理模块 5
4.2.1 节假日信息管理 5
4.2.2 部门信息管理 6
4.2.3 员工信息管理 8
2.3 考勤管理模块 10
4.3.1 出勤信息管理 10
4.3.2 加班信息管理 11
4.3.3 请假信息管理 13
4.3.4 出差信息管理 14
2.4 统计查询模块 16
4.4.1 日考勤统计表 16
4.4.2 月考勤统计表 17
4.4.3 当日考勤人员列表 19
2.5 用户管理模块 20

1考勤管理系统的设计
1.1需求分析
考勤管理系统的用户是各单位负责考勤管理的员工和领导,它可以有效的管理公司单位员工的出勤情况,规范人事制度的管理。管理员可以创建用户,修改用户信息以及删除用户,和对公司一些员工信息的编辑等。该系统包括基本信息管理,考勤信息管理,统计查询和用户管理等主要模块。每一个功能模块都需要针对不同的表来完成相同的数据库操作,即添加记录,修改记录,删除记录以及查询显示记录信息。具体功能有以下几个方面。
1、基本信息的添加,修改,删除和查询。节本信息管理包括节假日日期设置,部门信息管理和员工信息管理。
2、考勤信息管理包括出勤管理,加班管理,请假管理和出差管理等功能。
3、统计查询功能包括日考勤统计表,月考勤统计表和当日缺勤人员列表。
4、用户管理包括Admin用户管理和其他用户管理。
1.2功能模块构成
考勤管理系统由基本信息管理模块、考勤信息模块、统计查询模块和用户管理模块四个主要功能模块构成。
基本信息管理模块,包括节假日日期设置,部门信息管理缓和员工信息管理。节假日日期信息只包括具体的日期数据,部门信息包括部门名称和部门功能的描述,员工信息包括员工姓名,性别,生日,身份证号等。
考勤信息包括出勤,加班,请假,出差等信息。出勤信息包括全勤,休息,旷工,迟到和早退等信息;加班信息包括员工信息,加班时间,加班类型和加班描述;请假信息包括员工信息,请假类型和原因;出差信息包括员工信息和出差原因。
统计查询模块包括日考勤统计表,月考勤统计表和当日缺勤人员列表。日考勤统计表包括员工姓名,考勤日期,是否全勤,是否请假等信息,月考勤统计表包括员工姓名,考勤月份,全勤天数,出差天数等信息,当日缺勤人员列表包括系统当前日期缺勤员工的姓名,所在部门和联系电话等信息。
用户管理模块用户包括Admin用户和普通用户。Admin用户可以修改自己的密码,创建修改和删除普通用户信息。普通用户只能修改自身的信息
功能模块构成如图1:
在这里插入图片描述

图1 功能模块

具体代码如下:
void CLoginDlg::OnOK() 
{	UpdateData(TRUE); //将对话框中编辑框的数据读取到成员变量中
	if(m_User == "")// 没有输入用户名
	{	MessageBox("请输入用户名", "信息提示");
		GetDlgItem(IDC_USER_EDIT)->SetFocus();
		return;}
	CUserInfo User; // 定义用户信息表变量
	if(!User.IsExistUser(m_User)) // 判断用户是否存在
	{count++;
		if(count < 3)
		{MessageBox("用户名不存在,请重新输入!", "用户名错误", MB_ICONINFORMATION);
			UpdateData(FALSE);
			GetDlgItem(IDC_USER_EDIT)->SetFocus();
			return;}
		else
		{	MessageBox("重试次数已到,不能再输入用户名和密码,即将退出系统!", "用户名错误", MB_ICONEXCLAMATION);
			exit(0);}}
	User.GetInfo(m_User); // 判断密码是否正确
	if(User.Passwd != m_Passwd)
	{……//同用户判断}
	CDialog::OnOK();// 关闭对话框}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么才能学会Python?

前言 新手小白学Python在还没有人带的情况下很容易半途而废&#xff0c;首先给大家总结一下我这两年Python的学习、开发经验遇到一些问题&#xff0c;大家首先得正视这些问题&#xff0c;因为超90%的人在初学Python时都会也遇到。 ①自学网上资料多&#xff0c;但质量参差不齐…

[报错解决](Error Creating bean with name ‘xxx‘)类问题解决思路

遇到Error Creating bean with name ’ 这类问题的解决思路 错误日志关键部分&#xff1a; org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name productHandler: Unsatisfied dependency expressed through field productMap…

【vue】实现打印功能

文章目录一、vue-print-nb【1】安装【2】引用【3】API【4】示例代码【5】vue-print-nb插件的一些优化【6】注意事项&#xff1a;二、print.js &#xff1a;解决了无法打印本地图片的问题【1】安装【2】使用【3】注意点&#xff1a;三、lodop打印功能&#xff08;可以指定打印机…

困于二手电商打转,转转拿什么“拯救世界”?

“双碳”战略下&#xff0c;转转集团也加入了&#xff0c;从数据上来看做得还可以。 都知道&#xff0c;近期转转集团试图向市场讲新故事。11月7日&#xff0c;转转集团在北京举办了品牌升级发布会&#xff0c;会上宣布其不再是一家互联网电商公司&#xff0c;而是定位在一家循…

爱心动画效果,教你如何更改颜色背景的爱心

如何运行该代码&#xff1f; 方法一&#xff1a; 1.创建一个.txt文件 2.把代码复制粘贴cv进去&#xff0c;并将其保存下来ctrls 3.改后缀名&#xff0c;将.txt改为.html 此时图标变了 4.此时点击&#xff0c;即可看见爱心效果 方法二&#xff1a; vscode dddd&#x1…

《数据结构》八大排序(详细图文分析讲解)

目录 排序 排序的应用 排序简介 排序的分类 排序算法的好坏评判 冒泡排序法 思路分析 代码实现 选择排序法 思路分析 代码实现 插入排序 思路分析 代码实现 希尔排序 思路分析 代码演示 归并排序法 思路分析 代码演示 快速排序 思路分析 代…

剑指Offer07.重建二叉树_解题思路代码实现

一、题目描述 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 二、示例输入输出 示例1&#xff1a; Input: preorder [3,9,20,15,7], inorder [9,3,15,20,7] Output: [3,9…

LeetCode 1752. 检查数组是否经排序和轮转得到

思路&#xff1a;两段单调性均为递增 最多出现一次前大后小 代码&#xff1a; class Solution { public:bool check(vector<int>& nums) {int res 0;for (int i 0; i < nums.size(); i) if (nums[i] > nums[(i 1) % nums.size()]) res ;return res < 1…

Java中next()和nextLine()的区别(为什么nextLine()输入回车没显示)

一、问题描述&#xff1a; 前几天遇到了一个小问题&#xff1a;为了简化&#xff0c;我手打了一段简单的代码&#xff0c;如下&#xff1a; import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner sc new Scanner(System.in);Sys…

kafka使用场景与设计原理

目录 1 kafka的介绍 2 架构 2.1 工作流程 2.2 副本原理 2.3 分区和主题的关系 2.4 生产者 2.4.1 为什么分区-可以水平扩展 2.4.2 分区策略 2.5 消费者 2.5.1 消费方式 2.5.2 分区分配策略 2.6 数据可靠性保证 2.6.1 副本数据同步策略 2.6.2 ACK 应答机制 2.6.3 …

MATPOWER下载安装教程

MATPOWER安装包官网下载链接&#xff1a; https://matpower.org/download/ 一、从官网下载后解压 点开解压后的文件&#xff0c;可以看到MATPOWER的安装包实际为一个程序包&#xff1a; 二、将MATPOWER放在bin目录下 将MATPOWER文件复制在C:\Program Files (x86)\MATLAB\R2…

植树节种树-第12届蓝桥杯Scratch选拔赛真题精选

[导读]&#xff1a;超平老师计划推出Scratch蓝桥杯真题解析100讲&#xff0c;这是超平老师解读Scratch蓝桥真题系列的第87讲。 蓝桥杯选拔赛每一届都要举行4~5次&#xff0c;和省赛、国赛相比&#xff0c;题目要简单不少&#xff0c;再加上篇幅有限&#xff0c;因此我精挑细选…

用DIV+CSS技术设计的红酒主题网站(web前端网页制作课作业)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

【LeetCode144、145、94. 二叉树遍历】——递归算法、利用栈

144、145、94 二叉树遍历 这三道题分别考察二叉树的前序遍历、后序遍历、中序遍历。 二叉树的遍历问题是二叉树较为基础的一类问题&#xff0c;通常来讲&#xff0c;都是使用递归算法来实现的。而递归算法的关键就在于&#xff0c;确定递归函数的参数以及返回值、终止条件&am…

基于SqlNode的血缘解析

案例分析 基于社区当前最新版本calcite-1.32.0进行分析 当前的SqlValidatorTest$testFieldOrigin中有一个单测可以直接用来调试 调试后&#xff0c;很快就能在测试专用方法assertFieldOrigin找到SqlValidatorTest$getFieldOrigins这个血缘入口方法 public SqlValidatorFixtu…

AWR1843+DCA1000+mmwave_studio 采集原始数据

项目场景&#xff1a; AWR1843、DCA1000板与mmwave_studio的结合使用 实现数据采集工作 首先就是准备好各种相关的软件unfinish、matlabRuntime、mmwave_studio 没有涉及到css等 只是简单的数据采集工作。 问题1描述 在烧写完开箱demo后&#xff0c;开启mmwave_studio 出现找…

使用jmh框架进行benchmark测试

性能问题 最近在跑flink社区1.15版本使用json_value函数时&#xff0c;发现其性能很差&#xff0c;通过jstack查看堆栈经常在执行以下堆栈 可以看到这里的逻辑是在等锁&#xff0c;查看jsonpath的LRUCache //// Source code recreated from a .class file by IntelliJ IDEA// …

pytorch深度学习实战lesson30

第三十课 更多的芯片 虽然 GPU 现在是目前模型训练的主流芯片然后大家很多时候在做预测的时候也在 C PU 上做预测&#xff0c;但实际上来说这个在慢慢的发生改变。今天看一下目前的一些这样子的芯片。 上图是个手机芯片&#xff0c;可以看到有很多计算单元&#xff0c;比如CPU、…

【数字信号去噪】粒子滤波器与FBS、MAP平滑方法数字信号去噪【含Matlab源码 2179期】

⛄一、平滑分解简介 根据奈奎斯特定理,采样频率必须大于等于有用信号最高频率的2倍。假设对心电信号的采样满足奈奎斯特采样定理,则实测信号采样频率的1/2为有用心电信号的最高频率。通过三点平滑滤波,可以将频率大于1/2采样频率的信号滤除,将滤除的信号定义为第1阶平滑分解分…

使用 IDEA 的 Dedis 插件连接 Redis 服务器

IDEA 中的 Redis 插件作为 Redis 的可视化工具&#xff0c;可以通过此插件连接 Redis 服务器&#xff0c;并且进行增删改查操作 【一】 IDEA 安装 Redis 插件 1. 点击 File >> Setting 2. 点击 Plugings 3. 点击 Marketplace 一栏的搜索框中输入 redis 4. 点击第一个 R…