1.要求
考勤系统是公司人事管理重要环节,用于记录员工迟到、早退、缺席、请假等出勤情况,并能提供数据统计功能。系统需求如下:
认证用户,如密码方式;
设置上下班时间,并能判断是否迟到、早退;
记录出勤状况,能记录每日上下班时间,对请假或出差详细情况进行记录;统计出勤信息,可多种方式检索;
添加删除员工信息、出勤信息。新增员工进行记录、统计、查询。
示例如下(仅供参考,可不限于此)
假定公司有职工10入,职工有职工号·姓名以周为记录时长的考勒情况〈迟到次数﹑早退次数﹑旷工天数〉三项记录,一周上班五天,每天上午上班时间为8:00,下班时间为11∶30、下午2:00上班,5:30下班。
试设计—考勤管理系统,使之能提供以下功能:
(1)系统以菜单方式工作(用键盘输入1~5之间的数来选择功能﹐其中6为退出)
(2)职工上班、下班录入功能〈职工号、姓名任意给一个即可,上班时间〈自动获取系统时间)、下班时间〈自动获取系统时间)>
(3)职工出勒情况整体浏览功能〈职工号、姓名、(迟到、早退、旷工)、无前项则显示全勒)
(4)查询功能,按职工号、姓名、迟到、早退、旷工、全勤查询〈至少—种查询方式)
(5)职工考勤信息的删除(给定密码后可按职工号、姓名、考勒情况任—项进行余〉
(6)考勤信息的修改〈给定密码后可按职工号、姓名、考勤情况任一项)
2.主要代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#define gohour 8 //上午上班时
#define gominuter 0 //上午上班分
#define outhour 11 //上午下班时
#define outminuter 30//上午下班分
#define gohour1 13 //下午上班时
#define gominuter1 0 //下午上班分
#define outhour1 14 //下午下班时
#define outminuter1 30 //下午下班分
char password[50]="123456";
char *weekstr[]={"星期一","星期二","星期三","星期四","星期五"};
struct staff//员工结构体
{
int id;//员工号
char name[50]; //姓名
int state;//所在状态
struct staff *next;
}
pstaff[1000];//定义一个员工对象
int staffnum=0;//定义员工对象数量初始为0
struct attendance//考勤结构体
{
int id;//考勤编号
int staffid;//职工编号
int hour;//考勤时
int minuter;//考勤分
char type[50]; //考勤类型
char detail[50]; //详细情况
char xingqi[50];//这个是星期几
struct attendance *next;//下一个节点的指针
}
pattence[1000];//定义一个考勤对象
int attencenum=0;//定义考勤对象数量初始为0
3.运行截图
4.运行视频
b站运行视频
需要私聊作者