版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.青岛理工大学C 语言程序设计题目职工考勤管理程序指导教师:姓名:学号:班级:专业:计算机工程地点:计算机工程学院机房word 专业资料.时间:至 word 专业资料.一、内容此系统以对职工考勤为背景,提供对职工信息、上下班时间的录入、显示、查询、删除等功能。具体功能实现如下:1、 职工信息新建:实现职工工号、姓名、顺序号、上下班时间的录入功能,并能将其以文件形式加以保存。2、 考勤信息浏览:实现对全体职工所投的的考勤信息的浏览功能。3、 查询功能:实现按工号或姓名查询职工一周的上下班时间的功能。4、 删除功能:实现对职工考勤信息的删除管理。5、 系统以菜单方式工作,界面清晰,易于操作。二、上
2、机环境操作系统: windows xp/8.1开发工具: vc6.0三、函数调用关系图录入函数input()主函显示函数display()数查询函数search0()删除函数del()四、各函数功能说明word 专业资料.对每个函数功能加以说明,说明该函数主要实现了什么内容。例如:1 main()主函数2.void input();录入函数3.void display();显示函数4.void search0();查找函数5.void del();删除函数五、算法描述或流程图 (或者进行描述, 或者绘出流程图, 例子见下)主函数欢迎界面程序主菜单输入要选择的选项前的序号,给x 赋值Switch
3、()Case条件Case1Case2Case3Case4Case5DefultInput ()Display ()Search0 ()Del ()Exit ()录入函数定义局部变量 i ,xword 专业资料.打开文件打不开文件(x!= n)Do-while 循环输出“打Scanf输入职工信息进入结构不开文件”Fwrite 把输入的职工信息写入文件输入结束标记 x(是 n 就结束,否则继续输入) ,判断是否跳出循环显示函数定义局部变量i打开文件Fseek查询文件的末尾,计算nRewind将指针指向文件开头i<nfor循环i=0;fread读取文件, printf输出读取到的文件i +;w
4、ord 专业资料.查询函数定义局部变量打开文件Fseek查询文件的末尾,计算n(结构体个数)Rrewind将指针指向文件开头i<nfor循环i=0;fread读取文件, printf输出读取到的文件i+;读取显示结束后,跳出循环,在fclose关闭文件删除函数定义局部变量打开文件Fseek查询文件的末尾,计算n(结构体个数)Rrewind将指针指向文件开头i<nfor循环i=0;fread读取文件,遍历结构体数组,找到信息并删除i+;读取显示结束后,跳出循环,在fclose关闭文件word 专业资料.六、程序运行效果图;欢迎界面主菜单录入考勤信息word 专业资料.显示考勤信息wo
5、rd 专业资料.查询考勤信息删除考勤信息删除考勤信息成功word 专业资料.七、总结通过这次做 C 语言课设, 我发现这学期在老师那学的只是一些皮毛而已。编程的知识博大精深,还有许许多多的函i 数我都不知 j道,不会用,在今后自己还要不断i 的学习。通过这几天做课设, 我体会到这个过程是艰辛并快乐着的,这个过程中充满了编程的乐趣。每次为如何把实际中的问题转化为计算机可以识别的语言而苦恼、烦躁, 不停的在图书馆和网上查找自己需要的资料,可是一旦自己把程序编出来了,并在计算机上运行通过, 自己心里又是快乐的, 有一种巨大的成就感回荡在心头,把坐在电脑前几个小时的苦和累都忘了。这次课设, 是我自己第
6、一次靠自己编出来的一个完整的程序,我会把这个程序一直的保存着,随着我今后在编程方面的学习加深,我会自己慢慢的改进它, 让它见证我的成长历程。总言而之,这几天做课设我过得非常的充实,也让我学习到了很多。八、参考文献1 李春葆等 C语言程序设计清华大学出版社,20112 谭浩强 C程序设计(第三版) 清华大学出版社, 2005九、程序清单#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>/头文件声明#define N 50word 专业资料.void input
7、();void display();void search();void del();/定义函数struct worker/结构体变量声明char no10;char name10;int number;char go14;char back14;struct worker flN;/定义结构体数组int n;int main()int x;char ch;doprintf("nttt=nttttnnnn");printf("欢迎使用职工考勤管理系统nn");printf("n编程者:nnn");printf("*按 任 意
8、 键 继 续*nnn");ch=getch();while(!ch);system("cls");dohaha:printf("-n");printf("菜单n");printf("_nn"word 专业资料.);printf("tttt1.录入职工考勤信息n");printf("tttt2.显示职工考勤信息n");printf("tttt3.查找职工考勤信息n");printf("tttt4.删除职工考勤信息n");prin
9、tf("tttt5.退出并保存 n");printf("请输入要选择选项前的序号:");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;cha
10、r ch;FILE *fp;/定义 FLIe 文件操作指针职工考勤信息管理.txt","ab+")=NULL)职工考勤信息管理.txt","wb+")=NULL)printf("不能建立文件!n");exit(0);printf("nttt输入职工考勤信息nn");doword 专业资料.printf("输入格式 : 职工号 t 姓名 t 顺序数 t 上班时间 t 下班时间 n");printf("考勤信息录入:");scanf("%s%s%d%
11、s%s",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 disp
12、lay()/显示函数int i;char ch;FILE *fp;职工考勤信息管理.txt","rb+")=NULL)printf("不能打开文件!n");exit(1);fseek(fp,0,2); / 将文件指针移到文件尾 n=ftell(fp)/sizeof(struct worker);doprintf("n");printf("ttt考勤信息n");printf("tttnn");printf("tt职工号 t姓名 t顺序数 t上班时间 t下班时间 n")
13、;rewind(fp);for(i=0;i<n;i+)fread(&fli,sizeof(struct worker),1,fp);/从文件指针fp读取一个size 为 sizeof(struct worker)的数据,存入fliprintf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,fli.back);word 专业资料.printf("nntt按任意键返回主菜单nntt");ch=getch();while(!ch);fclose(fp);system("cls
14、");void search()/查找函数int x,k=0,i;char z20,sN20,ch;FILE *fp;职工考勤信息管理.txt","rb+")=NULL)printf("不能打开文件!n");exit(1);fseek(fp,0,2);n=ftell(fp)/sizeof(struct worker);dohaha:printf("ttt考勤信息查询n");printf("ttt1.按职工号查询n");printf("ttt2.按姓名查询 n");printf
15、("ttt3.按上班时间查询n");printf("ttt4.按下班时间查询n");printf("ttt5.返回主菜单 n");printf("ttt6.退出并保存 nn");printf("ttt选择功能选项( 输入功能前的数字)nn");printf("ttt");scanf("%d",&x);getchar();system("cls");for(i=0;i<n;i+)switch(x)case 1:strcpy(
16、si,fli.no);break;case 2:strcpy(si,);break;case 3:strcpy(si,fli.go);break;word 专业资料.case 4:strcpy(si,fli.back);break;case 5:goto ap;case 6:exit(0);default:goto haha;doprintf("nnttt请输入查询信息:");gets(z);for(i=0;i<n;i+)if(!strcmp(si,z)k+;printf("-n");printf("tt职工号 t姓名 t
17、顺序数 t上班时间 t下班时间 n");printf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,f li.back);printf("-n");if(k=0)printf("nttt没有此职工信息!");printf("nnnt按回车键继续查询,按N 停止查询 :");ch=getch();while(ch!='N'&&ch!='n');system("cls");whil
18、e(1);fclose(fp);ap:system("cls");void del()/删除函数word 专业资料.char st20,m20;int i,j,l;FILE *fp;职工考勤信息管理.txt","rb")=NULL)printf("t>>不能创建文件n");exit(0);fseek(fp,0,2);n=ftell(fp)/sizeof(struct worker);fclose(fp);职工考勤信息管理.txt","wb");printf("n"
19、);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("tttn");printf("职
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年辽宁省灯塔市高二生物下册期末考试测试卷(培优)附答案
- 2025年云南省腾冲市高二生物下册期末考试试卷及一套完整答案
- 2025年辽宁省盖州市高二生物下册期末考试模拟卷及参考答案【培优A卷】
- 2026年湖北省洪湖市高二生物下册期末考试测试卷【学生专用】附答案
- 2026年山东省乐陵市高二生物下册期末考试试卷附参考答案(培优B卷)
- 2026年广东省普宁市高二生物下册期末考试检测卷附参考答案【预热题】
- 2026年四川省江油市高二生物下册期末考试检测卷及答案(名师系列)
- 2025年云南省泸水市高二生物下册期末考试试卷及参考答案【综合卷】
- 2026年山西省霍州市高二生物下册期末考试模拟卷附参考答案(B卷)
- 2026年江苏省启东市高二生物下册期末考试考试卷及答案【真题汇编】
- 精神科急救知识培训课件
- 光伏安装培训资料
- 药厂质量意识培训
- 二手交易平台运营管理规则
- 陕西榆林能源集团有限公司招聘真题
- 敦煌学智慧树知到期末考试答案章节答案2024年西北师范大学
- 光伏发电站逆变器检修维护规程
- 软件系统调试方案
- 中建悬挑卸料平台专项施工方案
- 2023年电机拖动极其控制(运动控制)期末考试题库
- 铸件验收标准
评论
0/150
提交评论