2020(员工管理)人员签到管理系统

上传人:精****库 文档编号:133784956 上传时间:2020-05-30 格式:DOC 页数:75 大小:117.11KB
返回 下载 相关 举报
2020(员工管理)人员签到管理系统_第1页
第1页 / 共75页
2020(员工管理)人员签到管理系统_第2页
第2页 / 共75页
2020(员工管理)人员签到管理系统_第3页
第3页 / 共75页
2020(员工管理)人员签到管理系统_第4页
第4页 / 共75页
2020(员工管理)人员签到管理系统_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《2020(员工管理)人员签到管理系统》由会员分享,可在线阅读,更多相关《2020(员工管理)人员签到管理系统(75页珍藏版)》请在金锄头文库上搜索。

1、我的第一个管理系统这是我的第一个人员签到签出管理系统。A 可以实现的功能1. 用户注册(只要内存足够可以实现无穷多个用户注册)2. 用户签到 记录用户员工是否迟到3. 用户签退 记录用户员工是否早退4. 员工出勤情况查询(包括总共上班天数,迟到次数,早退次数)B我认为程序比较好的地方1如果内存可以系统可以让无穷多个用户实现注册。2可以让用户在任意时刻签到或者签退,并且如果内存足够可以实现无穷多次的签到或者签退,并且完整记录信息。3用户注册时候提供了注册名不会重复的功能,如果重复提示用户重新确定注册名。4在输入注册密码时让用户两次输入密码比较是否一样,如果不一样则提示用户密码不一致请重新输入。5

2、所有密码在输入时全部以*回显,保证密码不会泄露。6每一步都有完整的提示指导用户操作,对每一种可能发生的情况都做了相应的处理(当然还会有我没有想到的情况)。7本程序是用纯C编写出来的,依靠的是链表指针操作,看起来不是很容易。C程序的主要思想1不用C+里面的类,完全用结构体来代替。2先创建一个用户emp结构体,用来作为横向链表的节点,存储用户名,用户密码等基本信息。3再创建一个day签到签退结构体用来作为竖向节点,用来记录用户每天签到情况。4总体就是一个用户就是一个链表,每注册一个用户就在横向链表里插入一个节点记录用户名等基本信息,然后就是每个横向节点又作为每个用户签到链表的头结点,这样签到一次就

3、在该用户对应的横节点下插入一个节点记录该用户签到情况。D程序的不足之处1没有漂亮的界面,看起来不爽。2没有提供开除员工的取消用户注册的操作(其实也比较好实现,再多加一个函数就可以解决)。(以实现)3程序中用到大量的goto语句,这里不提倡使用。4记录数据不是十分充分,但是随时可以扩充。5如果程序意外停止,那么所有数据全部丢失,所以本系统不是用来用的,是用来看的。6程序重复代码有好多,其实可以精简。7此程序最终可以实现回车重新输入密码所有功能都实现了哈哈哈哈哈#include#include#include#includetypedef struct daysint stime;/上班时间int

4、 gotime;/下班时间char islate;/是否迟到Y为迟到N为没有迟到char isgoearly;/是否早退days *next;day;typedef struct emplorechar join20;/用户名char sec20;/用户密码emplore *next;day *next1;emp;int findjoin(emp *head,const char *name)/通过用户名查找char C;while(head!=NULL)if(int(strcmp(head-join,name)=0)printf(请输入用户密码:n);return 1;/查找到对应的用户名e

5、lsehead=head-next;if(head=NULL)printf(此用户名不存在,您现在需要注册吗?Y注册,N不注册n);C=getche();/scanf(%c,&C);if(C=Y)return 2;/需要注册else return 3;/不需要注册return 0;int insert1(emp *&head,char *name,char *mima1)/用户注册时候需要的链表?注意head要用引用哦!emp *p;p=(emp*)malloc(sizeof(emp);if(p=NULL)printf(注册失败n);return 0;elseprintf(n恭喜您注册成功n)

6、;strcpy(p-join,name);strcpy(p-sec,mima1);p-next=head;p-next1=NULL;/重要的一步一定要初始化为NULL方便标记head=p;return 0;int findmima(emp *head,const char *name,const char *mima1)/一定是在有用户名的情况下while(head!=NULL)if(int(strcmp(head-join,name)=0)if(strcmp(head-sec,mima1)=0)printf(n密码正确请选择签到还是签退:ne签到l签退t退出系统n);/提供选项让用户选择签到

7、还是签退return 0;elseprintf(n密码错误请重新输入:);return 1;elsehead=head-next;return 0;int cometime(day *&p)/输入签早到信息并且处理信息printf(请输入签早到时间,相信你是诚实的哦n);scanf(%d,&(p-stime);/这个地方一定要注意,这不是C+是纯C一定要注意啊if(p-stime8)p-isgoearly=Y;elsep-isgoearly=N;p-islate=N;/实现分开处理的必要条件printf(您已经完成签到n);return 0;int goouttime(day *&p)/输入签

8、退信息并且处理信息printf(n请输入签退时间,相信你是诚实的哦n);scanf(%d,&(p-gotime);if(p-gotimeislate=Y;elsep-islate=N;p-isgoearly=N;/实现分开处理的必要条件printf(您已经完成签退n);return 0;int insert2(emp *head,char *name,day *p)/找到本用户的头结点并插入,这里找到的head就是该用户的头结点while(head!=NULL)if(int(strcmp(head-join,name)=0)p-next=head-next1;head-next1=p;retu

9、rn 0;head=head-next;return 0;int findrec(emp *head,char *name)/查找用户信息int rday=0,rlate=0,rearly=0; day *p=NULL;while(head!=NULL)if(int(strcmp(head-join,name)=0)p=head-next1;while(p!=NULL) rday+;/记录一共签到多少次if(p-isgoearly=Y)rearly+;if(p-islate=Y)rlate+;p=p-next;printf(总共有记录的条数:%dn,rday); printf(总共有记录迟到的

10、次数:%dn,rlate); printf(总共有记录早退的次数:%dn,rearly);return 0;/这一步是必要的哦head=head-next;/这一步不要忘记啊return 0;int findname(emp *head,char *name)/查找用户信息while(head!=NULL)if(int(strcmp(head-join,name)=0)return 1;head=head-next;if(head=NULL)return 0;return 0;int delete_q(emp *p)/删除本人还有其所有的记录day *p1,*p2;if(p=NULL)retu

11、rn 0;p1=p-next1;free(p);while(p1!=NULL)p2=p1;p1=p1-next;free(p2);return 0;int goout(emp *&p,char *name,char *mima)/用户注销,返回一注销成功删除所有记录 emp *p1;if(p=NULL)printf(n用户名不存在或密码错误n);return 0;if(p-next=NULL)/一定不是不能操作if(strcmp(p-join,name)=0&strcmp(p-sec,mima)=0)delete_q(p);p=NULL;printf(注销成功);return 1; elsep

12、rintf(密码错误,注销失败);return 0;if(strcmp(p-join,name)=0)if(strcmp(p-next-join,mima)!=0)p1=p;p=p-next;delete_q(p1);/printf(册成功yue);return 1; p1=p;while(p1-next!=NULL)if(strcmp(p1-next-join,name)=0&strcmp(p1-next-sec,mima)=0)/printf(%s %s,p1-next-sec,mima);p1-next=p1-next-next;delete_q(p1-next);printf(注销成功);return 1;p1=p1-next;printf(注销失败n); return 0;i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号