语言课程设计职工考勤管理系统_第1页
语言课程设计职工考勤管理系统_第2页
语言课程设计职工考勤管理系统_第3页
语言课程设计职工考勤管理系统_第4页
语言课程设计职工考勤管理系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、青岛理工大学C语言程序设计题目 职工考勤管理程序 指导教师: 姓名: 学号: 班级: 专业: 计算机工程 地点: 计算机工程学院机房 时间: 至 2014.7.4 一、内容此系统以对职工考勤为背景,提供对职工信息、上下班时间的录入、显示、查询、删除等功能。具体功能实现如下:1、 职工信息新建:实现职工工号、姓名、顺序号、上下班时间的录入功能,并能将其以文件形式加以保存。2、 考勤信息浏览:实现对全体职工所投的的考勤信息的浏览功能。3、 查询功能:实现按工号或姓名查询职工一周的上下班时间的功能。4、 删除功能:实现对职工考勤信息的删除管理。5、 系统以菜单方式工作,界面清晰,易于操作。二、上机环

2、境操作系统:windows xp/8.1开发工具:vc6.0三、函数调用关系图 录入函数 input()主函数显示函数 display()查询函数 search0()删除函数 del()四、各函数功能说明对每个函数功能加以说明,说明该函数主要实现了什么内容。例如:1 main()主函数2. void input();录入函数3. void display();显示函数4. void search0();查找函数5. void del();删除函数五、算法描述或流程图(或者进行描述,或者绘出流程图,例子见下)主函数 欢迎界面程序 主菜单输入要选择的选项前的序号,给x赋值 Switch() Cas

3、e条件Case1Case2Case3Case4Case5DefultInput()Display()Search0()Del()Exit()录入函数 定义局部变量i,x 打开文件打不开文件(x!=n) Do-while循环 Scanf输入职工信息进入结构Fwrite把输入的职工信息写入文件 输入结束标记x(是n就结束,否则继续输入),判断是否跳出循环输出“打不开文件”显示函数 定义局部变量i 打开文件 Fseek查询文件的末尾,计算n Rewind将指针指向文件开头i<n for循环 i=0; fread读取文件,printf输出读取到的文件 i+; 查询函数 定义局部变量 打开文件 F

4、seek查询文件的末尾,计算n(结构体个数) Rrewind将指针指向文件开头i<n for循环 i=0; fread读取文件,printf输出读取到的文件 i+; 读取显示结束后,跳出循环,在fclose关闭文件删除函数 定义局部变量 打开文件 Fseek查询文件的末尾,计算n(结构体个数) Rrewind将指针指向文件开头i<n for循环 i=0; fread读取文件,遍历结构体数组,找到信息并删除 i+; 读取显示结束后,跳出循环,在fclose关闭文件六、程序运行效果图;欢迎界面主菜单录入考勤信息显示考勤信息查询考勤信息删除考勤信息删除考勤信息成功七、总结通过这次做C语言

5、课设,我发现这学期在老师那学的只是一些皮毛而已。编程的知识博大精深,还有许许多多的函i数我都不知j道,不会用,在今后自己还要不断i的学习。通过这几天做课设,我体会到这个过程是艰辛并快乐着的,这个过程中充满了编程的乐趣。每次为如何把实际中的问题转化为计算机可以识别的语言而苦恼、烦躁,不停的在图书馆和网上查找自己需要的资料,可是一旦自己把程序编出来了,并在计算机上运行通过,自己心里又是快乐的,有一种巨大的成就感回荡在心头,把坐在电脑前几个小时的苦和累都忘了。这次课设,是我自己第一次靠自己编出来的一个完整的程序,我会把这个程序一直的保存着,随着我今后在编程方面的学习加深,我会自己慢慢的改进它,让它见

6、证我的成长历程。总言而之,这几天做课设我过得非常的充实,也让我学习到了很多。八、参考文献1 李春葆等C语言程序设计清华大学出版社,20112 谭浩强C程序设计(第三版)清华大学出版社,2005九、程序清单#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h> /头文件声明#define N 50void input();void display();void search();void del(); /定义函数struct worker /结构体变量声明 cha

7、r no10; char name10; int number; char go14; char back14;struct worker flN; /定义结构体数组int n;int main() int x; char ch; do printf("nttt=nttttnnnn"); printf(" 欢迎使用职工考勤管理系统 nn"); printf("n 编程者: nnn"); printf(" *按任意键继续*nnn"); ch=getch(); while(!ch); system("cls&

8、quot;); do haha: printf(" -n"); printf(" 菜单 n"); printf(" _nn");printf("tttt1.录入职工考勤信息n"); printf("tttt2.显示职工考勤信息n");printf("tttt3.查找职工考勤信息n");printf("tttt4.删除职工考勤信息n");printf("tttt5.退出并保存n");printf("请输入要选择选项前的序号:&q

9、uot;); scanf("%d",&x); getchar(); system("cls"); switch(x) case 1: input();break; case 2: display();break; case 3: search();break; case 4: del();break; case 5: exit(0); default: goto haha; while(1); return 0; void input() /录入函数 int i=0; char ch; FILE *fp; /定义FLIe文件操作指针 if(fp=

10、fopen("C:职工考勤信息管理.txt","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&q

11、uot;,fli.no,,&fli.number,fli.go,fli.back); fwrite(&fli,sizeof(struct worker),1,fp); /将结构体数组内容内容写到文件中 printf("按回车键继续输入,按N停止输入:n"); printf("n"); getchar(); ch=getch(); i+; while(ch!='n'&&ch!='N'); fclose(fp); n=i; system("cls");void

12、 display() /显示函数 int i; char ch; FILE *fp; if(fp=fopen("C:职工考勤信息管理.txt","rb+")=NULL) printf("不能打开文件!n"); exit(1); fseek(fp,0,2); /将文件指针移到文件尾 n=ftell(fp)/sizeof(struct worker); do printf("n"); printf("ttt 考勤信息 n"); printf("ttt nn"); printf(&

13、quot;tt职工号t姓名t顺序数t上班时间t下班时间n"); rewind(fp); for(i=0;i<n;i+) fread(&fli,sizeof(struct worker),1,fp); /从文件指针fp读取一个size为sizeof(struct worker)的数据,存入fli printf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); printf("nntt 按任意键返回主菜单nntt "); ch=getch(); while

14、(!ch); fclose(fp); system("cls");void search() /查找函数 int x,k=0,i; char z20,sN20,ch;FILE *fp; if(fp=fopen("C:职工考勤信息管理.txt","rb+")=NULL) printf("不能打开文件!n"); exit(1); fseek(fp,0,2); n=ftell(fp)/sizeof(struct worker); do haha: printf("ttt 考勤信息查询 n"); pri

15、ntf("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); get

16、char(); system("cls");for(i=0;i<n;i+) switch(x) case 1:strcpy(si,fli.no);break; case 2: strcpy(si,);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); fo

17、r(i=0;i<n;i+) if(!strcmp(si,z) k+; printf(" -n"); printf("tt职工号t姓名t顺序数t上班时间t下班时间n"); printf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); printf(" -n"); if(k=0) printf("nttt没有此职工信息!"); printf("nnnt按回车键继续查询,按N停止查询:"); c

18、h=getch();while(ch!='N'&&ch!='n'); system("cls"); while(1);fclose(fp); ap: system("cls");void del() /删除函数char st20,m20; int i,j,l;FILE *fp; if (fp=fopen("C:职工考勤信息管理.txt","rb")=NULL) printf("t>>不能创建文件n"); exit(0); fseek(f

19、p,0,2);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();/存放回车符printf("请输入删除职工的具体条件:"); scanf("%s",m); /输入的具体条件存入m数组getchar(); system("cls"); printf("ttt n");

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论