1、c语言课程设计职工考勤管理系统青岛理工大学C语言程序设计题目 职工考勤管理程序 指导教师: 姓名: 学号: 班级: 专业: 计算机工程 地点: 计算机工程学院机房 时间: 至 一、内容 此系统以对职工考勤为背景,提供对职工信息、上下班时间的录入、显示、查询、删除等功能。具体功能实现如下:1、 职工信息新建:实现职工工号、姓名、顺序号、上下班时间的录入功能,并能将其以文件形式加以保存。2、 考勤信息浏览:实现对全体职工所投的的考勤信息的浏览功能。3、 查询功能:实现按工号或姓名查询职工一周的上下班时间的功能。4、 删除功能:实现对职工考勤信息的删除管理。5、 系统以菜单方式工作,界面清晰,易于操
2、作。二、上机环境操作系统:windows xp/开发工具:三、函数调用关系图 四、各函数功能说明对每个函数功能加以说明,说明该函数主要实现了什么内容。例如:1 main() 主函数2. void input(); 录入函数3. void display(); 显示函数4. void search0(); 查找函数5. void del(); 删除函数五、算法描述或流程图(或者进行描述,或者绘出流程图,例子见下)主函数 欢迎界面程序 主菜单输入要选择的选项前的序号,给x赋值 Switch() Case条件Case1Case2Case3Case4Case5DefultInput()Display(
3、)Search0()Del()Exit()录入函数 定义局部变量i,x 打开文件打不开文件(x!=n) Do-while循环 Scanf输入职工信息进入结构Fwrite把输入的职工信息写入文件 输入结束标记x(是n就结束,否则继续输入),判断是否跳出循环输出“打不开文件”显示函数 定义局部变量i 打开文件 Fseek查询文件的末尾,计算n Rewind将指针指向文件开头in for循环 i=0; fread读取文件,printf输出读取到的文件 i+; 查询函数 定义局部变量 打开文件 Fseek查询文件的末尾,计算n(结构体个数) Rrewind将指针指向文件开头in for循环 i=0;
4、fread读取文件,printf输出读取到的文件 i+; 读取显示结束后,跳出循环,在fclose关闭文件删除函数 定义局部变量 打开文件 Fseek查询文件的末尾,计算n(结构体个数) Rrewind将指针指向文件开头in for循环 i=0; fread读取文件,遍历结构体数组,找到信息并删除 i+; 读取显示结束后,跳出循环,在fclose关闭文件六、程序运行效果图;欢迎界面主菜单录入考勤信息显示考勤信息查询考勤信息删除考勤信息删除考勤信息成功七、总结通过这次做C语言课设,我发现这学期在老师那学的只是一些皮毛而已。编程的知识博大精深,还有许许多多的函i数我都不知j道,不会用,在今后自己还
5、要不断i的学习。通过这几天做课设,我体会到这个过程是艰辛并快乐着的,这个过程中充满了编程的乐趣。每次为如何把实际中的问题转化为计算机可以识别的语言而苦恼、烦躁,不停的在图书馆和网上查找自己需要的资料,可是一旦自己把程序编出来了,并在计算机上运行通过,自己心里又是快乐的,有一种巨大的成就感回荡在心头,把坐在电脑前几个小时的苦和累都忘了。这次课设,是我自己第一次靠自己编出来的一个完整的程序,我会把这个程序一直的保存着,随着我今后在编程方面的学习加深,我会自己慢慢的改进它,让它见证我的成长历程。总言而之,这几天做课设我过得非常的充实,也让我学习到了很多。八、参考文献 1 李春葆等C语言程序设计清华大
6、学出版社,20112 谭浩强C程序设计(第三版)清华大学出版社,2005九、程序清单#include#include#include#include 入职工考勤信息n); printf(tttt2.显示职工考勤信息n); printf(tttt3.查找职工考勤信息n); printf(tttt4.删除职工考勤信息n); printf(tttt5.退出并保存n); printf(请输入要选择选项前的序号:); scanf(%d,&x); getchar(); system(cls); switch(x) case 1: input();break; case 2: display();break
7、; case 3: search();break; case 4: del();break; case 5: exit(0); default: goto haha; while(1); return 0; void input() xt,ab+)=NULL) if(fp=fopen(C:职工考勤信息管理.txt,wb+)=NULL) printf(不能建立文件!n); exit(0); printf(nttt 输入职工考勤信息 nn); do printf( 输入格式:职工号t姓名t顺序数t上班时间t下班时间n); printf(考勤信息录入:); scanf(%s%s%d%s%s,fli.
8、no,fli.name,&fli.number,fli.go,fli.back); fwrite(&fli,sizeof(struct worker),1,fp); xt,rb+)=NULL) printf(不能打开文件!n); exit(1); fseek(fp,0,2); o,fli.name,fli.number,fli.go,fli.back); printf(nntt 按任意键返回主菜单nntt ); ch=getch(); while(!ch); fclose(fp); system(cls);void search() xt,rb+)=NULL) printf(不能打开文件!n)
9、; exit(1); fseek(fp,0,2); n=ftell(fp)/sizeof(struct worker); do haha: printf(ttt 考勤信息查询 n); printf(ttt1.按职工号查询n); printf(ttt2.按姓名查询n); printf(ttt3.按上班时间查询n); printf(ttt4.按下班时间查询n); printf(ttt5.返回主菜单n); printf(ttt6.退出并保存nn); printf(ttt 选择功能选项(输入功能前的数字) nn); printf(ttt); scanf(%d,&x); getchar(); syste
10、m(cls); for(i=0;in;i+) switch(x) case 1: strcpy(si,fli.no);break; case 2: strcpy(si,fli.name);break; case 3: strcpy(si,fli.go);break; case 4: strcpy(si,fli.back);break; case 5: goto ap; case 6: exit(0); default: goto haha; do printf(nnttt请输入查询信息: ); gets(z); for(i=0;i不能创建文件n); exit(0); fseek(fp,0,2)
11、; n=ftell(fp)/sizeof(struct worker); fclose(fp); fp=fopen(C:职工考勤信息管理.txt,wb); printf(n); printf(ttt 考勤信息删除n); printf(tttnn); printf(ttt1.按职工号删除n); printf(ttt2.按姓名删除n); printf(ttt3.按上班时间删除n); printf(ttt4.按下班时间删除n); printf(ttt 选择功能选项(输入功能前的数字) nn); printf(nttt); scanf(%d,&l); getchar(); o);break; case 2: strcpy(st,fli.name);break; case 3: strcpy(st,fli.go);break; case 4: strcpy(st,fli.back);bre
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1