c语言课程设计_第1页
c语言课程设计_第2页
c语言课程设计_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

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

2、p/8.1 开发工具:vc6.0三、函数调用关系图四、各函数功能说明对每个函数功能加以说明,说明该函数主要实现了什么内容 例如:1.mai n()主函数2.void in put();录入函数3.void display。;显示函数4.void searchO();查找函数5.void del();删除函数五、算法描述或流程图(或者进行描述,或者绘出流程图,例子见下)主函数欢迎界面程序王采单输入要选择的选项前的序号,给x赋值Switch。Case 条件CaselCase2Case3Case4Case5DefultIn put ()Display ()SearchO()Del()Exit()录入

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

4、读取到的文件i+;读取显示结束后,跳出循环,在fclose关闭文件删除函数定义局部变量打开文件Fseek查询文件的末尾,计算 n (结构体个数)Rrewind将指针指向文件开头i<nfor循环i=0;fread读取文件,遍历结构体数组,找到信息并删除i+;读取显示结束后,跳出循环,在fclose关闭文件六、程序运行效果图;欢迎界面主菜单靑输入要选择选项前的序号:录入考勤信息姓名键维续输入,按阿亭1L毎入:丄倔格事职工号.姓名 g勤生息录入;小王伶回聿键継续输入 按H停止输入:职工号:102考勤>1棄单自a自一自一息 考考考考存 工工丄工保 眼职职职幷 人示找雷1 2 T- 4 5输

5、入职二考勤信息I耐数上班时间12813072B0930顺序数上班时间220130727O9Q0I丽数上班时间3201307200900显示考勤信息下班时间201307261700下班时间201307271700下班时间2013072B170O考勤信息鬲王红 姓wh. 号fl- 0 1 2 0 0 0 4 111上班时间20130726890020130V27090B2013H728R9fiHTW寸间2&13072G17&0201372717062813B72817Hfl按任意健返回三菓里查询考勤信息请输人查询信息:2013 07270900职工号难蚩 顺序数上班时间bWl

6、9;al101 小王 2201387270900201397271700按回车键M续查询,按N停匕宜询:删除考勤信息考勤信息刪除-V-比雇功此鏈项如人功能刖的数字请输入删除职工的具伍条件:丄师删除考勤信息成功职工信息-删除成功苴他职工信息有:职工号姓名 取序数上班时间F班时间101 I 王 220130727B900201307271700七、总结通过这次做 C 语言课设, 我发现这学期在老师那学的只是一些皮毛而已。编程的知识博大精深,还有许许多多的函 i 数我都不知 j 道,不会用,在今后自己还要不断 i 的学习。通过这几天做课设, 我体会到这个过程是艰辛并快乐着的, 这个过程中充满了编程的

7、乐 趣。每次为如何把实际中的问题转化为计算机可以识别的语言而苦恼、烦躁, 不停的在图书馆和网上查找自己需要的资料, 可是一旦自己把程序编出来了, 并在计算机上运行通过, 自 己心里又是快乐的, 有一种巨大的成就感回荡在心头, 把坐在电脑前几个小时的苦和累都忘 了。这次课设, 是我自己第一次靠自己编出来的一个完整的程序, 我会把这个程序一直的保 存着,随着我今后在编程方面的学习加深, 我会自己慢慢的改进它, 让它见证我的成长历程。 总言而之,这几天做课设我过得非常的充实,也让我学习到了很多。八、参考文献1 李春葆等 C 语言程序设计清华大学出版社, 20112 谭浩强 C 程序设计(第三版) 清

8、华大学出版社, 2005九、程序清单#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>/头文件声明#define N 50void input();void display();void search();void del();/定义函数struct workerr/结构体变量声明char no10;char name10;int number;char go14;char back14;struct worker flN;/定义结构体数组int n;int

9、 main()int x; char ch;doprintf("nttt=nttttnnnn"); printf(" 欢迎使用职工考勤管理系统 nn"); printf("n 编 程 者nnn");printf("*按任意键继续*nnn");ch=getch(); while(!ch); system("cls");dohaha:printf(" n");printf(" 菜单 n"); printf("nn")printf("

10、;tttt1. 录入职工考勤信息 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();b

11、reak;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 文件操作指针职工考勤信息管理 .txt","ab+")=NULL) 职工考勤信息管理 .txt","wb+")=NULL)printf(" 不能建立文件! n"); exit

12、(0); printf("nttt 输入职工考勤信息 nn"); doprintf(”输入格式:职工号t姓名t顺序数t上班时间t下班时间n”);printf(" 考勤信息录入 :");scanf("%s%s%d%s%s",fli.no,,&fli.number,fli.go,fli.back); fwrite(&fli,sizeof(struct worker),1,fp);/ 将结构体数组内容内容写到文件中printf(" 按回车键继续输入,按 N 停止输入 :n");printf

13、("n");getchar();ch=getch();i+;while(ch!='n'&&ch!='N'); fclose(fp);n=i;system("cls");void display()/显示函数int i;char ch;FILE *fp;职工考勤信息管理 .txt","rb+")=NULL)printf(" 不能打开文件! n");exit(1);fseek(fp,0,2); / 将文件指针移到文件尾 n=ftell(fp)/sizeof(st

14、ruct worker);do printf("n");printf("ttt 考勤信息 n");printf("ttt nn"); printf("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) 的数据,存入 fliprintf("tt%st%st

15、%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); printf("nntt 按任意键返回主菜单 nntt "); ch=getch();while(!ch);fclose(fp); system("cls");void search() / 查找函数int x,k=0,i;char z20,sN20,ch;FILE *fp;职工考勤信息管理 .txt","rb+")=NULL)printf(" 不能打开文件! n");exit(1);

16、 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"

17、;);printf("ttt 选择功能选项 (输入功能前的数字 ) nn"); printf("ttt");scanf("%d",&x);getchar();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

18、 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 顺序数 t 上班时间 t 下班时间 n"n");printf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); pri

19、ntf(" if(k=0)printf("nttt 没有此职工信息 !");printf("nnnt 按回车键继续查询,按 N 停止查询 :"); ch=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;职工考勤信息管理 .txt",

20、"rb")=NULL) printf("t>> 不能创建文件 n"); exit(0);fseek(fp,0,2); n=ftell(fp)/sizeof(struct worker);fclose(fp); 职工考勤信息管理 .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();s

温馨提示

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

评论

0/150

提交评论