考勤管理系统源代码

上传人:枫** 文档编号:459589368 上传时间:2023-12-31 格式:DOCX 页数:19 大小:31.07KB
返回 下载 相关 举报
考勤管理系统源代码_第1页
第1页 / 共19页
考勤管理系统源代码_第2页
第2页 / 共19页
考勤管理系统源代码_第3页
第3页 / 共19页
考勤管理系统源代码_第4页
第4页 / 共19页
考勤管理系统源代码_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《考勤管理系统源代码》由会员分享,可在线阅读,更多相关《考勤管理系统源代码(19页珍藏版)》请在金锄头文库上搜索。

1、#include#include#include#include#include#include/*所使用的头文件*/typedef struct/*时间结构体定义*/int hour;int minute;TIME;typedef struct worker /*职工结构体定义*/ char id10;char name10;TIME time20; struct worker *next;worker;int menu_select();void welcome();void createInfo();void createRec();void listRec();void searchR

2、ec();void saveRec();void deleteRec();void modifyRec();void loadRec();void resetPassword();int fun();worker *head=NULL; writeinfo_flag=0;char password16=888888; struct tm *timeinfo;int main()char s16;welcome();loadRec();/*主菜单*/*欢迎界面*/ /*新建职工信息*/ /*录入考勤信息*/ /*浏览当天考勤信息*/ /*/查询考勤信息*/*保存所有信息*/*删除考勤信息*/*修

3、改考勤信息*/*加载文件信息*/ /*重设密码*/ /*判断输入选择是否正确*/*链表头指针 head*/*信息保存标记*/*初始密码*/*主函数*/*欢迎界面*/*加载文件信息*/printf(n提示:nn初始密码为:888888n);/*进入系统密码管理*/printf(tttnnnnn请输入密码,进去系统(密码不超过15个字符):); scanf(%s,s);while(strcmp(password,s)!=0)printf(n密码错误,请重新输入:”); scanf(%s,s); system(cls);for(;)/*菜单循环*/ switch(menu_select()case

4、0:system(cls);createInfo();break;case 1:system(cls);createRec();break;case 2:system(cls);listRec();break;case 3:system(cls);searchRec();break;case 4:system(cls);deleteRec();break;case 5:system(cls);modifyRec();break;case 6:system(cls);saveRec();break;case 7:system(cls);resetPassword();break;case 8:s

5、ystem(cls);if(writeinfo_flag=1)saveRec();return 0; default:printf(n选择错误,请按回车键返回后,重新输入(08)!);getchar();getchar();system(cls); break; return 0;/*选择菜单*/int menu_select() worker *p=head;int c,k;time_t nowtime;time( &nowtime );timeinfo = localtime( &nowtime );/*在菜单中显示当前时间*/if(timeinfo-tm_wday=0)printf(”时

6、间:星期天”);printf( %d:%d,timeinfo-tm_hour,timeinfo-tm_min);elseprintf(时间:星期 %d %d:%d,timeinfo-tm_wday,timeinfo-tm_hour,timeinfo-tm_min);printf(n);printf(tttO.新建职工信息 n); printf(ttl.录入考勤信息 n); printf(tt2.浏览考勤信息 n); printf(tt3.查询考勤信息 n); printf(tt 4.删除考勤信息 n); printf(tt5.修改考勤信息 n); printf(tt6.保存所有信息、n); p

7、rintf(tt7.重设密码 n);printf(tt8.退出(退出后信息会自动保存在磁盘中)ntt(任何情况下按Ctrl+C退出程 序)n);printf(n);printf(nn请输入您的选择(08):);scanf(%d,&c); if(timeinfo-tm_wday=0&p!=NULL)/*每周周日所有考勤信息初始化*/for(k=0;ktimek.hour=88;p-timek.minute=88; return c;void loadRec()/*从磁盘导入信息*/worker *rear,*p,*pre;FILE *fp,*key;int i,pos=0; key=fopen(

8、key.txt,r);if(key!=NULL)fscanf(key,%s,password);fclose(key);fp=fopen(workerRec.txt,r); if(fp!=NULL)fseek(fp, 0, SEEK_END);pos= ftell(fp); if(fp=NULL|0 = pos) 件*/*指针移到文件末尾*/*打开职工信息文件和密码文 printf(nnnnnntt 提示: nntt 数据库中没有职工信息 ,文本为空或文件不存 在!n);printf(ntt请按回车键进入主菜单新建职工信息A_An);getchar();system(cls);return;f

9、seek(fp, 0, SEEK_SET);while(!feof(fp)/*清屏*/*指针移到文件开头*/*fp 不指向文件末尾*/p=(worker*)malloc(sizeof(worker);/*开辟一个新单元*/fscanf(fp,%s%s,p-id,p-name);for(i=0;itimei.hour,&p-timei.minute);if(head=NULL)head=p;pre=p;rear=p;else rear-next=p;pre=rear; rear=p;/*关闭文件*/ pre-next=NULL;fclose(fp);return;void createInfo(

10、)/*新建职工信息*/worker *p,*rear;int i,k,n;char s10; if(head!=NULL)printf(nnnnnnnttt职工信息数据库已存在nnttt新建职工信息将续接在信息 库的后面nnnttt按回车键继续”);getchar();getchar();rear=head; while(rear-next!=NULL) rear=rear-next; system(cls);printf(nn 请输入希望建立职工信息条数:); scanf(%s,s);if(fun(s)=0)return;elsen=atoi(s);printf(n请输入职工的工号(至多6个

11、字符)和姓名(至多5个字符):n); for(i=0;iid,p-name);if(strlen(p-id)6|strlen(p-name)5)printf(n职工工号或姓名输入长度不合法!nn请按回车键返回主菜单n,n); rear-next=NULL;free(p);getchar();getchar();system(cls);return;for(k=0;ktimek.hour=88; p-timek.minute=88;if(head=NULL)head=p; rear=p;else rear-next=p; rear=p;p-next=NULL;printf(n%d条信息建立完毕!

12、nn请按回车键返回主菜单5小);getchar();getchar();system(cls);writeinfo_flag=1;return;void createRec()/*录入考勤信息*/time_t nowtime;worker *p;char s10,k10,*g=k,ss10;int c,m,week;time( &nowtime );timeinfo = localtime( &nowtime );week=timeinfo-tm_wday; if(head=NULL)printf(nnnnttt数据库中没有职工信息55代但无法使用该功能nnttt请按回 车键返回主菜单新建职工

13、信息!);getchar();getchar();system(cls);return; if(timeinfo-tm_wday=6|timeinfo-tm_wday=0)printf(nnnnttt今天不是工作日nnttt无法录入考勤信息nnttt请按回车键 返回主菜单!);getchar();getchar();system(cls);return;printf(nnnttt请选择录入考勤种类:nnttt1.上午上班(8:00)nnttt2.上午下班 (ll:30)nnttt3.下午上班(14:00)nnttt4.下午下班(17:30)nn);printf(ntt 您的选择(以回车键结束):);scanf(%s,k); if(fun(k)=0)return;e

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 电气技术

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