人员签到管理系统.doc

人员签到管理系统.doc

ID:52060608

大小:173.50 KB

页数:38页

时间:2020-03-22

人员签到管理系统.doc_第1页
人员签到管理系统.doc_第2页
人员签到管理系统.doc_第3页
人员签到管理系统.doc_第4页
人员签到管理系统.doc_第5页
资源描述:

《人员签到管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

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

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

3、记录用户每天签到情况。4.总体就是一个用户就是一个链表,每注册一个用户就在横向链表里插入一个节点记录用户名等基本信息,然后就是每个横向节点又作为每个用户签到链表的头结点,这样签到一次就在该用户对应的横节点下插入一个节点记录该用户签到情况。D.程序的不足之处1.没有漂亮的界面,看起来不爽。2.没有提供开除员工的取消用户注册的操作(其实也比较好实现,再多加一个函数就可以解决)。(以实现)3.程序中用到大量的goto语句,这里不提倡使用。4.记录数据不是十分充分,但是随时可以扩充。5.如果程序意外停止,那么所有数据全部

4、丢失,所以本系统不是用来用的,是用来看的。6.程序重复代码有好多,其实可以精简。7《此程序最终可以实现回车重新输入密码》《所有功能都实现了哈哈哈哈哈》#include#include#include#includetypedefstructdays{intstime;//上班时间intgotime;//下班时间charislate;//是否迟到Y为迟到N为没有迟到charisgoearly;//是否早退days*next;}day;typ

5、edefstructemplore{charjoin[20];//用户名charsec[20];//用户密码emplore*next;day*next1;}emp;intfindjoin(emp*head,constchar*name)//通过用户名查找{charC;while(head!=NULL){if(int(strcmp(head->join,name))==0){printf("请输入用户密码:");return1;//查找到对应的用户名}else{head=head->next;}}if(head

6、==NULL){printf("此用户名不存在,您现在需要注册吗?Y注册,N不注册");C=getche();//scanf("%c",&C);if(C=='Y')return2;//需要注册elsereturn3;//不需要注册}return0;}intinsert1(emp*&head,char*name,char*mima1)//用户注册时候需要的链表????注意head要用引用哦!{emp*p;p=(emp*)malloc(sizeof(emp));if(p==NULL){printf("注册失败

7、");return0;}elseprintf("恭喜您注册成功");strcpy(p->join,name);strcpy(p->sec,mima1);p->next=head;p->next1=NULL;//重要的一步一定要初始化为NULL方便标记head=p;return0;}intfindmima(emp*head,constchar*name,constchar*mima1)//一定是在有用户名的情况下{while(head!=NULL){if(int(strcmp(head->join,name

8、))==0){if(strcmp(head->sec,mima1)==0){printf("密码正确请选择签到还是签退:e签到l签退t退出系统");//提供选项让用户选择签到还是签退return0;}else{printf("密码错误请重新输入:");return1;}}elsehead=head->next;}return0;}intcometime(d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。