1、文件名:1文件内容:日期 姓名 部门. . .例:2010 3 1 姓名 部门 11 张三 安保部 12 李四 安保部2.2.2.存储员工考勤信息的文件:由日期经过变换后得到。变换方式:(1)给整个系统设置一个基准日期 基准日期:一段时期内的起始日期,通常规定为一个月的1号,考勤所记录的是基准日期之后的考勤信息.(2)考勤记录的日期与基准日期相差的天数加1。由以上变换可得:基准日期的考勤的文件名为“1”。2.2.3.存储考勤一段时期的统计信息的文件:管理员自己输入。起始日期 终止日期 姓名 迟到次数 早退次数 . 例如:2010 4 1 2010 6 3011 张三 1 212 李四 2 0各
2、文件之间的关系:考勤文件是按照当天的员工信息文件的顺序依次记录。在此把请假等排除在外不考虑。2.3代码设计设计代码主要包括: () 第一次输入员工信息 () 专门用于读取存储员工信息的文件的函数 () 专门用于向存储员工信息的文件中写函数 () 输出员工信息 ( ) 添加员工信息 ( ) 删除员工信息 () 管理员工信息总函数 ( ) 计算日期对应的文件名 () 记录每天每个员工的考勤情况 () 统计所有员工某段时间的考勤情况,把统计结果输入文件中 () 查询某一天的考勤情况 () 查询一段连续时间的考勤情况 () 查询的总函数 () 考勤管理的总函数2.4 程序代码 30 最大员工数 员工信
3、息结构体 ; 20; 日期结构体 考勤结构体 统计表结构体 0; 记录员工的人数 1; 涉及插入,输出函数的联合操作时某些位置是否调用(“”) ; 2012,1,1; 基准日期 () 第一次输入员工信息,相当于初始化 (); *1,*2; 1(1,w 2(2tttt 员工信息nntttt姓名t部门ntttt (1,tttt 输入员工信息nntttt姓名t部门n (0) ; (tttn (2,ntttt (1); (2); () 专门用于读存储员工信息的文件的函数 *; (r) n ()(,); ();专门用于向存储员工信息的文件中写函数 () i; (1 2) (0)iii);输出员工信息 (
4、) 读员工信息文件nttttt输出员工信息nnt1.输出全体员工信息t2.按姓名输出员工信息t3.按输出员工信息t4.按部门员工信息t5.返回主菜单nnt请选择(15):t : (5)t输入错误,请重输: (1):ttt姓名t部门nttn (2):ttt输入姓名: (i)0)ii.i); (3):ttt输入: (i)ii, (4):ttt输入部门: (5):添加员工信息 ( ) 有新员工加入时,插入 读文件 (i i1; i;删除员工信息 ( ) 员工辞职,退休等时,删除员工信息,数组方式存储的线性表的删除操作 j; j1;nttttt员工信息管理nnt1.输入员工信息t2.输出员工信息t3.
5、插入员工信息t4.删除员工t6)ttt插入新员工信息nttt请输入员工的:nttt姓名t部门ntttttt删除员工信息nt请输入要删除的员工:计算日期对应的文件名,相当于哈希函数,以一年内为界,一年以天计算 ( ) (1 (i) 2: 28; 3: 31; 4: 30; 5: 6: 7: 8: 9: 10: 11:记录每天每个员工的考勤情况 40; 零时存放某一天的考勤文件的文件名 指向某一天的考勤文件的指针ntttt考勤记录nntt日期: (, 10); 转换成 (,ntt姓名t迟到t早退nt姓名t迟到t早退n) 对所有的员工打考勤,并写入对应的文件中 (i);nttnn统计所有员工某段时间的考勤情况,把统计结果输入文件中 标识,用于判断一个从文件中读入的新记录是否在存中存在,如果不存在则新分配内存,否则追加在已有的记录上 判断是否保存 零时存放某一天的考勤文件的文件 统计的起始日期,最终日期,只能统计连续一段时间的考勤 存储零时的 30; 存储每个员工的迟到,早退次数的信息30) i0;ttt统计员工考勤nnt请输入起止日期nntt起始日期:ntt终止日期: kkkk); () , (j) (1) j;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1