职工考勤管理系统

2024-06-02 21:48
文章标签 管理系统 考勤 职工

本文主要是介绍职工考勤管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>#define PASS_WORD "123456"typedef struct _Stuff
{int no;//工号char name[20];//姓名struct tm * tm_strat;//上班时间struct tm * tm_end;//下班时间char state[20];//出勤状况
}Stuff,*PStuff;void Save_Info(PStuff mon,int n)
{int i;FILE* pFile = fopen("Mon_Info.dat","w");if(pFile==NULL){return;}for(i=0;i<n;i++){fwrite(&mon[i],1,sizeof(Stuff),pFile);}fclose(pFile);
}int Read_Info(PStuff mon)
{int i=0;FILE* pFile = fopen("Mon_Info.dat","r");if(pFile==NULL){return 0;}while(fread(&mon[i++],1,sizeof(Stuff),pFile));fclose(pFile);if(i>=1){return i-1;}return 0;
}int menu()
{int chioce;system("cls");printf("1:职工上班打卡\n");printf("2:职工下班打卡\n");printf("3:职工出勤情况\n");printf("4:按职工号查询\n");printf("5:按职工名查询\n");printf("6:考勤信息删除\n");printf("7:考勤信息修改\n");printf("8:退出\n");printf("请输入选择:");scanf("%d",&chioce);while(chioce<1||chioce>8){printf("请重新选择:");scanf("%d",&chioce);}	return chioce;
}void Print_Stuff(PStuff stu,int n)
{int i;system("cls");printf("%10s%10s%10s\n","工号","姓名","出勤");for(i=0;i<n;i++){printf("%10d",stu[i].no);printf("%10s",stu[i].name);printf("%10s\n",stu[i].state);}system("pause");
}void Modfiy_Menu(PStuff stu,int n)
{int i,temp;int chioce;char str[20];system("cls");printf("请输入要修改信息的职工号:");scanf("%d",&temp);for(i=0;i<n;i++){if(stu[i].no==temp){break;}}if(i==n){printf("无该职工号信息!\n");system("pause");return;}else{Print_Stuff(&stu[i],1);}printf("1:修改职工号\n");printf("2:修改职工姓名\n");printf("3:修改出勤情况\n");printf("0:返回\n");printf("请输入选择:");scanf("%d",&chioce);while(chioce<0||chioce>3){printf("请重新选择:");scanf("%d",&chioce);}	switch(chioce){case 1:printf("请输入新职工号:");scanf("%d",&stu[i].no);break;case 2:printf("请输入新职工名:");scanf("%s",&stu[i].name);break;case 3:printf("请输入新出勤情况:");scanf("%s",str);strcpy(stu[i].state,str);break;case 0:return ;break;}printf("修改成功!\n");Print_Stuff(&stu[i],1);
}struct tm * Set_Time()
{time_t tmpcal_ptr;  struct tm *tmp_ptr = NULL;  time(&tmpcal_ptr);tmp_ptr = gmtime(&tmpcal_ptr);   tmp_ptr = localtime(&tmpcal_ptr);printf ("%d.%d.%d ", (1900+tmp_ptr->tm_year), (1+tmp_ptr->tm_mon), tmp_ptr->tm_mday);  printf("%d:%d:%d\n", tmp_ptr->tm_hour, tmp_ptr->tm_min, tmp_ptr->tm_sec);return tmp_ptr;
}int Start_Work(PStuff stu,int n)
{system("cls");printf("请输入员工工号:");scanf("%d",&stu[n].no);printf("请输入员工姓名:");scanf("%s",stu[n].name);stu[n].tm_strat = Set_Time();stu[n].tm_end=NULL;if(stu[n].tm_strat->tm_hour >= 9){strcpy(stu[n].state,"迟到");}else{strcpy(stu[n].state,"全勤");}printf("上班打卡成功!\n");system("pause");return n+1;
}void End_Work(PStuff stu,int n)
{int temp,i;system("cls");printf("请输入员工工号:");scanf("%d",&temp);for(i=0;i<n;i++){if(temp==stu[i].no)break;}if(i==n){printf("无该职工号!\n");system("pause");return ;}if(stu[i].tm_end!=NULL){printf("下班打卡重复 本次无效!\n");system("pause");return;}stu[i].tm_end = Set_Time();if(stu[i].tm_end->tm_hour <= 17){strcat(stu[n].state,"早退");}printf("下班打卡成功!\n");system("pause");
}void Serach_Stuff(PStuff stu,int n)
{int i,temp;system("cls");printf("请输入要查询的职工号:");scanf("%d",&temp);for(i=0;i<n;i++){if(stu[i].no==temp){break;}}if(i==n){printf("无该职工号信息!\n");system("pause");}else{Print_Stuff(&stu[i],1);}
}void Serach_Stuff_Name(PStuff stu,int n)
{int i;char temp[20];system("cls");printf("请输入要查询的职工名:");scanf("%s",temp);for(i=0;i<n;i++){if(!strcmp(stu[i].name,temp)){break;}}if(i==n){printf("无该职工名信息!\n");system("pause");}else{Print_Stuff(&stu[i],1);}
}int Delete_Stuff(PStuff stu,int n)
{int i,num,j;char temp[20];system("cls");printf("请输入管理密码:");scanf("%s",temp);if(strcmp(temp,PASS_WORD)){printf("密码错误!\n");system("pause");return n;}printf("请输入要删除的工号:");scanf("%d",&num);for(i=0;i<n;i++){if(stu[i].no==num){break;}}if(i==n){printf("无该职工号信息!\n");system("pause");return n;}for(j=i;j<n;j++){stu[j]=stu[j+1];}printf("删除成功!\n");system("pause");return n-1;
}int main(int argc,char* argv[])
{int chioce;//记录选择Stuff stuff[100];//保存职工信息int NUM=0;//记录职工数量NUM=Read_Info(stuff);do{chioce=menu();switch(chioce){case 1:NUM = Start_Work(stuff,NUM);break;case 2:End_Work(stuff,NUM);break;case 3:Print_Stuff(stuff,NUM);break;case 4:Serach_Stuff(stuff,NUM);break;case 5:Serach_Stuff_Name(stuff,NUM);break;case 6:NUM=Delete_Stuff(stuff,NUM);break;case 7:Modfiy_Menu(stuff,NUM);break;case 8:Save_Info(stuff,NUM);exit(0);break;}}while(chioce!=8);return 0;
}

这篇关于职工考勤管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025177

相关文章

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

基于SSM+Vue+MySQL的可视化高校公寓管理系统

系统展示 管理员界面 宿管界面 学生界面 系统背景   当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业

图书管理系统系统分享

分享一个图书管理系统,Java、SpringBoot、Vue和MySQL开发的图书馆管理系统 gitee项目地址:https://gitee.com/yuanmomoya/open-source-project/tree/master/books-management-system GitHub项目地址:https://github.com/yuanmomoya/open-source-pro

基于springboot+vue+uniapp的“共享书角”图书借还管理系统小程序

开发语言:Java框架:springboot+uniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 后台登录界面 管理员功能界面 出借者管理 图书信息管理 图书归还管理 出租收入管理

2025届计算机毕业设计:如何构建Java SpringBoot+Vue个人健康档案管理系统?

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录