




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 职工考勤信息管理系统hubei university of automotive technologyc语言程序设计课程设计报告课设题目: 职工考勤信息管理系统 专 业: 电气工程及其自动化 班 级: * 姓 名: * 成 绩: 完成日期: 2012年12月28日2013年1月11日 指导教师: * 目 录c语言程序设计0课程设计报告01.课程设计目的22.需求分析22.1要求22.2任务描述22.3运行环境32.4开发工具33.总体设计33.1系统流设计33.2系统模块设计54.详细设计54.1数据结构设计54.2模块接口设计74.3 以下是几个主要模块的流程图:85.运行结果145.1欢
2、迎界面:145.2录入职工信息界面:145.3主菜单界面:155.4显示题目界面:165. 5上午上班时间录入界面:155.6上午下班时间录入界面:175.7下午上班时间录入界面:175.8下午下班时间录入界面:185.9晚上上班时间录入界面:185.10晚上下班时间录入界面:195.11全部考勤信息的浏览界面:195.12查询职工考勤信息界面:205.13修改职工考勤信息界面:205.14删除职工考勤信息界面:215.15保存职工考勤记录界面:215.16退出系统界面:226.程序调试与测试226.1程序调试226.2程序测试247.问题与不足338.建议349.编程体会3410.程序源代码
3、:3411.参考文献5712.用户使用手册571.课程设计目的1) 通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。2) 通过课程设计,进一步掌握c语言中重要的数据结构。掌握并熟练运用指针、链表、结构体、文件等数据结构。3) 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。4) 通过课程设计,培养c语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。5) 通过课程设计,加强了自己的程序分析能力。2.需求分析2.1要求1) 遵循软件开发过程的基本规范;能灵活应用,初步
4、具备运用c程序解决实际问题的能力。2) 运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试c程序等过程。3) 学会利用数组、结构体、链表进行相关信息表示。4) 功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5) 各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口等关系正确。6) 所设计的c程序较好的可读性和可靠性;程序书写风格规范,注释清晰。7) 界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析。8) 程序经上机调试通过,不应出现语法
5、型、功能型错误,并获得满意的结果。9) 学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。10) 掌握编写、调试和测试c语言程序的基本技巧,充分理解结构化程序设计的基本方法。11) c语言课程设计报告的内容反应实际设计过程,且符合格式要求,无抄袭现象。2.2任务描述此系统以公司上班考勤为背景,职工有职工号、姓名、以周为记录时长的考勤情况(迟到次数、早退次数、旷工天数)三项记录,一周上班五天,每天上午上班时间为8:00,下班时间为11:30、下午2:00上班,5:30下班。该考勤管理系统,提供以下功能:1) 系统以菜单方式工作(用键盘输入数字来选择功能);2) 考勤录入功能:职
6、工上班、下班录入(职工号、姓名任意给一个即可,上班时间(自动获取系统时间)、下班时间(自动获取系统时间);3) 职工出勤情况整体浏览功能:浏览职工出勤情况(职工号、姓名、(迟到、早退、旷工)、无前项则显示全勤);4) 查询功能:按职工号、姓名、迟到、早退、旷工、全勤查询(至少一种查询方式)查询职工的出勤状况;5) 职工考勤信息的删除功能:给定密码后可按职工号、姓名、考勤情况任一项进行删除;6) 职工考勤信息的修改功能:给定密码后可按职工号、姓名、考勤情况任一项进行修改;7) 所有数据符合实际应用要求;2.3运行环境1) windowsxp/7系统2) vc+6.0编译环境2.4开发工具c语言3
7、.总体设计3.1系统流设计本系统的功能模块如图1所示,主要有以下模块:显示题目要求上午上班时间录入上午下班时间录入下午上班时间录入下午下班时间录入晚上上班时间录入晚上下班时间录入显示所有职工信息查找职工考勤信息删除职工考勤信息保存职工考勤信息退出考勤系统修改职工考勤信息按职工号进行录入按职工号进行录入按职工号进行录入按职工号进行录入按职工号进行录入按职工号进行录入输 入 密 码按职工号进行录入输 入 密 码按职工号进行删除按职工号进行修改从文件录入考勤信息主菜单打印欢迎界面图1系统功能模块图3.2系统模块设计1) 系统欢迎界面:构造函数void welcome(),实现欢迎使用职工考勤管理系统
8、的显示。2) 主菜单界面:构造函数void menuprint(),实现系统主菜单的显示。3) 职工考勤信息录入:构造函数void loadinf(),实现从磁盘录入职工考勤信息及显示职工考勤信息。4) 显示题目要求:构造函数void printtimu(),实现对题目要求的显示。5) 考勤信息的录入:构造函数void monuprecord()、void mondownrecord()、void afteruprecord()、void afterdownrecord()、void evenuprecord()、void evendownrecord(),实现对上午上下班、下午上下班和晚上上
9、下班的录入,构造函数void getjudge(char wh)对输入的职工号进行判断。6) 显示所有学生信息:构造函数void allprint(),实现对所有职工考勤信息的浏览。7) 查询职工考勤信息:构造查找函数void seek(),并通过对密码函数void putsecret()、职工号判断函数void getjudge(char wh)的调用,实现相应的职工考勤信息的浏览。8) 修改职工考勤信息:构造修改函数void change()并通过对密码函数void putsecret()、职工号判断函数void getjudge(char wh)的调用,实现相应的职工考勤信息(姓名、迟到
10、次数、早退次数、旷工次数)的修改。9) 删除职工考勤信息:构造删除函数void cutoff()并通过对密码函数void putsecret()、职工号判断函数void getjudge(char wh)的调用,实现相应的职工考勤信息(姓名、迟到次数、早退次数、旷工次数)的删除。10) 保存职工考勤信息:构造函数void inforsave(),通过保存标志全局变量writenflag将考勤信息保存入文件中。4.详细设计4.1数据结构设计根据系统要求,系统中需要保存的数据信息,其结构如下:数据项名称数据项系统表示数据类型数据长度备注职工号p1-number字符串20个字节职工姓名p1-name
11、字符串20个字节迟到次数p1-late整型4个字节早退次数p1-earlyleave整型4个字节旷工次数notwork整型4个字节根据系统要求,系统中需要保存的类别信息,其结构如下:类别代号char number20char name20int lateint earlyleaveint notwork类别名称职工号职工姓名迟到次数早退次数旷工次数为了能实现系统的优越性和c语言的精华采用链表的建立职工考勤信息,示意图如下。 职工信息1职工信息22通讯录信息1221职工信息3职工信息4为此,先声明一个类型为struct worker的结构体,其成员为职工考勤信息。然后通过对指针、链表、文件等数据
12、结构的操作,实现对职工考勤信息的录入,存盘,查询,浏览,删除,修改等一系列操作。其中,结构体定义如下:struct worker char number20;char name20;int late; int earlyleave;int notwork;struct student *next; ; 为了实现程序的功能,还要定义一个时间的结构体,用于存放系统时间,具体定义如下:时间结构体:typedef struct nowint year;int month;int weekday;int hour;int minute;now;now nowtime;4.2模块接口设计1) 所有函数模块
13、声明如下:void welcome;/* 显示欢迎界面*/void printtimu();/*显示题目*/void menuprint();/*主菜单打印*/void loadinf();/*从磁盘导入职工信息到内存*/void monuprecord(); /*上午上班时间录入*/void mondownrecord();/*上午下班时间录入*/void afteruprecord(); /*下午上班时间录入*/void afterdownrecord();/*下午下班时间录入*/void evenuprecord();/*晚上上班时间录入*/void evendownrecord();/
14、*晚上下班时间录入*/void allprint();/*显示所有考勤职工信息*/void seek();/*查找考勤职工信息*/void change();/*修改考勤职工信息*/void cutoff();/*删除考勤职工信息*/void inforsave()/*保存考勤信息*/void quit();/*退出*/void input();/*输入选择*/void getjudge(char wh); /*输入判断*/void putsecret();/*密码*/2) 并定义一个全局变量以及结构体指针:结构体指针:struct worker *head=null,*p1,*p2,*p3;
15、保存职工信息标志的全局变量:int writenflag=0;3) 主要模块的实现系统以主函数int main()为入口,首先调用void welcome()函数,显示系统欢迎界面。然后调用void menuprint()函数,显示主菜单界面。其次调用void loadinf()函数,从文件读入职工考勤信息。最后调用void input()函数,使系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。4.3 以下是几个主要模块的流程图:1) 文件读入考勤信息并打印函数:打印主菜单输出文件内容返回主菜单界面打开文件图2 文件读入信息流程图2) 主菜单函数: 否打印主菜单接收用户选
16、项是否合法调用对应选项函数进入下一级菜单退出系统是否是是否为0图3 主菜单函数流程图3) 考勤信息录入函数:输入职工号否判断是否合法是考勤信息录入按任意键返回主菜单图4上下班时间函数流程图4) 显示所有职工考勤信息函数:输入职工号否判断是否合法是显示所有职工考勤信息按任意键返回主菜单图5显示所有职工考勤信息函数流程图5) 查找职工考勤信息函数:输入密码否是否正确是否是否正确是输入职工号指定职工号的职工考勤信息的显示按任意键返回主菜单图6 显示指定职工号的职工考勤信息6) 修改职工考勤信息函数:按任意键返回主菜单职工旷工次数的修改职工姓名的修改职工早退次数的修改职工迟到次数的修改输入密码否是否正
17、确是否是否合法是输入职工号图7 修改职工考勤信息函数流程图7) 删除职工考勤信息函数:指定职工号的职工考勤信息的删除按任意键返回主菜单输入密码否是否正确是否是否正确是输入职工号图8 删除指定职工号的职工考勤信息8) 保存职工考勤信息函数:0判断全局变量writenflag的值1否判断数据库中是否有考勤信息是按任意键返回主菜单将职工考勤信息写入文件信息保存完毕关闭文件判断文件路径是否正确是否数据库中是没有考勤信息数据库中考勤信息无法保存图9保存职工考勤信息5.运行结果5.1欢迎界面:图10 欢迎界面5.2录入职工信息界面:图11 职工信息录入界面5.3主菜单界面:图12主菜单界面5. 4上午上班
18、时间录入界面:图13上午上班时间录入界面5.5显示题目界面:图14题目显示界面5.6上午下班时间录入界面:图15 上午下班时间录入界面5.7下午上班时间录入界面: 图16 下午上班时间录入界面5.8下午下班时间录入界面:图17 下午下班时间录入界面5.9晚上上班时间录入界面: 图18 晚上上班时间录入界面5.10晚上下班时间录入界面: 图19 晚上下班时间录入界面5.11全部考勤信息的浏览界面:图20 全部职工考勤信息的浏览界面5.12查询职工考勤信息界面: 图21 查询职工考勤信息界面5.13修改职工考勤信息界面: 图21 修改职工考勤信息界面5.14删除职工考勤信息界面: 图22 删除职工
19、考勤信息界面5.15保存职工考勤记录界面: 图23 保存职工考勤信息界面5.16退出系统界面: 图24 退出系统界面6.程序调试与测试6.1程序调试文件录入信息出错的界面 图25 文件录入信息出错的界面主菜单选择输入错误的界面例如,输入“aubds”会出现以下运行结果: 图26 择输入错误的界面职工号输入不合法的的界面例如,在上午上班考勤时间录入时,输入的职工号为“1aedhi”会出以下运行结果(其它要输入职工号的地方与此处相同):图27 选择输入错误的界面密码输入错误的界面例如,在用查找、修改和删除功能时输入错误密码“sdfusoif”会出现以下运行结果:图28 密码输入错误的界面6.2程序
20、测试(1) 各模块测试用例数据的确定建立的文件为:123.txt;文件路径为:c:123.txt;初始密码为:abc123;文件中的数据为:1001 范小城 0 0 01002 李小贤 0 0 01003 冯小刚 0 0 01004 何小适 0 0 01005 李小震 0 0 01006 李小林 0 0 01007 吴小坤 0 0 01008 冷小龙 0 0 01009 艾小鹏 0 0 01010 李小贝 0 0 0职工按职工号、姓名、迟到次数、早退次数、旷工次数的格式保存。规定:早上8:00上班11:30下班;中午2:00上班5:30;晚上6:00上班9:00下班。上班要求准点,五分钟以内算
21、迟到,30分钟后到算旷工,早于规定下班时间算旷工。(2) 测试结果从文件录入职工信息图29 从文件录入职工信息的界面考勤信息录入界面此处以上午上班时间录入(其它考勤信息与此类似)为例,现在已对职工号为1001和1010的职工进行此操作:图30职工号为1001考勤信息录入的界面图31 职工号为1010考勤信息录入的界面全部考勤信息浏览界面图32 全部职工考勤信息的浏览界面查询指定职工号职工考勤记录界面现在已对职工号为1001和1010的职工进行此操作:图33 查询职工号为1001职工考勤信息的界面图34 查询职工号为1010职工考勤信息的界面修改指定职工号职工考勤记录界面现在对职工号为1001和
22、1010的职工进行此操作。职工号为1001更改结果为姓名 “q”,迟到次数“1”,早退次数“3”,旷工次数“2”。图35 修改职工号为1001职工考勤信息的界面职工号为1001更改结果为姓名 “p”,迟到次数“1”,早退次数“3”,旷工次数“2”。图37 修改职工号为1010职工考勤信息的界面1001和1010的职工进行此操作后文件中的结果为:图38 修改职工号为1001和1010职工考勤信息后的文件界面删除指定职工号职工考勤记录界面现在对职工号为1001和1010的职工进行此操作。图38 删除职工号为1001职工考勤信息的界面图39 删除职工号为1010职工考勤信息的界面图40删除职工号为1
23、001和1010职工考勤信息后的文件界面保存考勤信息图41保存职工考勤信息的界面(3) 测试中出现的问题的原因和分析特别注意:每执行一个操作后一定要执行保存功能,这样才能将信息及时准确无误的把存入文件。7.问题与不足(1) 需求分析中存在的问题和分析题目中没有说明是否需要添加职工,如果在题目中加上密码修改功能,添加职工考勤信息等功能,做出来的系统会更完美。(2) 概要设计中存在的问题和分析系统在记录考勤信息时过于粗糙。(3) 详细设计中存在的问题和分析在记录职工上下班时间时,不应只统计违纪次数,还要把每一次上下班的具体时间组一个记录,可以将此处重新建一个链表,用以存放考勤的具体信息。另外,考虑
24、到实际情况,有些职工可能在上班时不录入考勤信息,此时应在系统中加一个时间的判断,如果咋规定时间内未进入考勤系统,系统将自动视其为上班考勤违纪。(4) 代码编制中存在的问题和分析 在输入函数中,再输入的地方加一个while(1)if()break;对输入的选择进行判断,输入的数据以字符串的形式赋给一个数组对输入数据的前两位进行判断,这样系统会更完美。(5) 调试和测试中存在的问题和分析每执行一个操作后一定要执行保存功能,这样才能将信息及时准确无误的把存入文件。8.建议课程设计的题目涉及范围应该更广,可以增加:机票管理系统和景点售票系统等。对于课设的时间按排,可以提前把题目给学生,这样可以提前做课
25、设以及复习考试。9.编程体会经历了编c语言课程设计后,我弄懂了在前几周课堂上没搞明白的东西,例如,建立链表的具体操作、在进行文件操作时,文件末尾不能存在回车、写入文件时一定要注意文件中数据的格式,否则在后面的读文件中会出错、在用“fscanf“写整型和浮点型的数据到文件是不能把“&”漏掉。10.程序源代码:#include #include #include #include #include #include #define null 0#define len sizeof(struct worker)struct workerchar number20;char name20;int la
26、te;int earlyleave;int notwork;struct worker *next;typedef struct nowint year;int month;int day;int weekday;int hour;int minute;now;now nowtime; struct worker *head=null,*p1,*p2,*p3;/*定义结构体指针head 为头指针p1 为输入数据缓存空间指针p2 为尾指针*/ int writenflag=0;void welcome();/*欢迎函数*/void printtimu();/*显示题目*/void menupri
27、nt();/*主菜单打印*/void loadinf();/*从磁盘导入职工信息到内存*/void monuprecord();/*上午上班时间录入*/void mondownrecord();/*上午下班时间录入*/void afteruprecord();/*下午上班时间录入*/void afterdownrecord();/*下午下班时间录入*/void evenuprecord();/*晚上上班时间录入*/void evendownrecord();/*晚上下班时间录入*/void allprint();/*显示所有职工信息*/void seek();/*查找*/void change
28、();/*修改*/void cutoff();/*删除*/void inforsave();/*保存考勤信息*/void quit();/*退出*/int input();/*输入选择*/void getjudge(char wh);/*输入判断*/void putsecret();/*密码*/int main()welcome();/*欢迎函数*/menuprint();loadinf();system(cls);for(;)switch(input()/*显示主菜单*/case 0:printtimu();break;case 1:monuprecord();break;/*上午上班时间录
29、入*/case 2:mondownrecord();break;/*上午下班时间录入*/case 3:afteruprecord();break;/*下午上班时间录入*/case 4:afterdownrecord();break;/*下午下班时间录入*/case 5:evenuprecord();break;/*晚上上班时间录入*/case 6:evendownrecord();break;/*晚上下班时间录入*/case 7:allprint();break;/*显示所有职工信息*/case 8:seek();break;/*查找*/case 9:change();break;/*修改*/
30、case 10:cutoff();break;/*删除*/case 11:inforsave();system(cls);break;/*保存考勤信息*/case 12:system(cls);quit();return 0;/*退出*/default:rewind(stdin);printf(nn输入错误,按任意键返回.n);getch();system(cls);/*清屏*/return 0;void welcome()printf(nnnntt*n);printf(tt* * * * * * * * * * * * * * * * * * * * * * * * * *n);printf
31、(tt* * * * * * * * * * * * * * * * * * * * * * * * * *n);printf(tt* * tttttt* *n);printf(tt* * tttttt* *n);printf(tt* * t 欢 迎 使 用 职 工 考 勤 系 统 ! t* *n);printf(tt* * tttttt* *n);printf(tt* * tttttt* *n);printf(tt* * tttttt* *n);printf(tt* * tt指导老师:*tt* *n);printf(tt* * tttttt* *n);printf(tt* * tt制 作 人
32、:*tt* *n);printf(tt* * tttttt* *n);printf(tt* * * * * * * * * * * * * * * * * * * * * * * * * *n);printf(tt* * * * * * 请 按 任 意 键 进 入 系 统 * * * * * *n);printf(tt*n);getch();system(cls);rewind(stdin);void printtimu()printf(题目描述n);printf(假定公司有职工10人,职工有职工号、姓名、以周为记录时长的考勤情况(迟到次数、早退次数、旷工天数)三项记录,一周上班五天,每天上午
33、上班时间为8:00,下班时间为11:30、下午2:00上班,5:30下班。);printf(试设计一考勤管理系统,使之能提供以下功能:n);printf((1)系统以菜单方式工作(用键盘输入15之间的数来选择功能,其中6为退出)n);printf((2)职工上班、下班录入功能(职工号、姓名任意给一个即可,上班时间(自动获取系统时间)、下班时间(自动获取系统时间)n);printf((3)职工出勤情况整体浏览功能(职工号、姓名、(迟到、早退、旷工)、无前项则显示全勤)n);printf((4)查询功能,按职工号、姓名、迟到、早退、旷工、全勤查询(至少一种查询方式)n);printf((5)职工考
34、勤信息的删除(给定密码后可按职工号、姓名、考勤情况任一项进行删除)n);printf((6)考勤信息的修改(给定密码后可按职工号、姓名、考勤情况任一项进行删除)n);printf((7)所有数据符合实际应用要求n);printf(题目要求n);printf((1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。n);printf((2)考勤信息应该包括:职工号、姓名、上班时间、下班时间(迟到、早退、旷工)等。n);printf((3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。n);printf((4)每个功能操作中,不应
35、有原则性的错误出现;n);printf((5)对输入值用测试用例测试,不应有错误出现;n);printf((6)界面应友好,操作应流畅。n);printf(输入要求n);printf(应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。n);printf(输出要求n);printf((1)应用程序运行后,要在屏幕上显示一个菜单。n);printf((2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。n);printf(提示n
36、);printf(设计一个结构体类型和一维数组类型,用来存放考勤信息。n);printf(扩展功能n);printf(将所有考勤信息存储在一个文件中,并实现文件读写的操作。n);rewind(stdin);printf(n题目已输出,按任意键返回.);getch();system(cls);int input()int c;printf(*主菜单*n);printf(*ttttttttt *n);printf(*tttt0.显示题目。 *n);printf(*tttt1.上午上班时间录入。 *n);printf(*tttt2.上午下班时间录入。 *n);printf(*tttt3.下午上班时间
37、录入。 *n);printf(*tttt4.下午下班时间录入。 *n);printf(*tttt5.晚上上班时间录入。 *n);printf(*tttt6.晚上下班时间录入。 *n);printf(*tttt7.职工整体出勤情况浏览。 *n);printf(*tttt8.查询考勤记录。 *n);printf(*tttt9.修改考勤记录。 *n);printf(*tttt10.删除考勤记录。 *n);printf(*tttt11.保存考勤记录。 *n);printf(*tttt12.退出。(任何情况下按ctrl+c退出) *n);printf(*ttttttttt *n);printf(*n);
38、printf(请输入你的选择(012):);scanf(%d,&c);rewind(stdin);return c;/*主菜单*/void menuprint()printf(*主菜单*n);printf(*ttttttttt *n);printf(*tttt0.显示题目。 *n);printf(*tttt1.上午上班时间录入。 *n);printf(*tttt2.上午下班时间录入。 *n);printf(*tttt3.下午上班时间录入。 *n);printf(*tttt4.下午下班时间录入。 *n);printf(*tttt5.晚上上班时间录入。 *n);printf(*tttt6.晚上下班
39、时间录入。 *n);printf(*tttt7.职工整体出勤情况浏览。 *n);printf(*tttt8.查询考勤记录。 *n);printf(*tttt9.修改考勤记录。 *n);printf(*tttt10.删除考勤记录。 *n);printf(*tttt11.保存考勤记录。 *n);printf(*tttt12.退出。(任何情况下按ctrl+c退出) *n);printf(*ttttttttt *n);printf(*n);/*输入判断*/void getjudge(char wh)char *p;p=wh;rewind(stdin);printf(n请输入职工号(10011010):
40、);while(1)rewind(stdin);gets(wh);rewind(stdin);if(*p=1&*(p+1)=0&*(p+2)=0&*(p+3)=0&*(p+3)=0)printf(n合法输入。n);break;else printf(nn不合法输入,请重新输入职工号:);return;/*密码*/void putsecret()int y;char str18=abc123,str28=0;rewind(stdin);printf(n请输入密码:);while(1)gets(str2);y=strcmp(str1,str2);if(y!=0)printf(n密码输入错误,请重新
41、输入:);elsebreak;return ;/*从磁盘导入职工信息到内存*/void loadinf()file *fp;int n=0;if(fp=fopen(c:123.txt,r)=null)printf(文件不存在或文件无法打开!n);getch();system(cls);return ;printf(ntttt读入考勤信息如下n);printf(n职工号tt姓 名tt迟到次数t早退次数t旷工次数n);head=p1=(struct worker*)malloc(len);p1-next=null;while(!feof(fp)n+;fscanf(fp,%s%s%d%d%d,p1-
42、number,p1-name,&p1-late,&p1-earlyleave,&p1-notwork);if(p1-number0number09)n-;break;printf(%stt%stt%5dtt%5dtt%5dn,p1-number,p1-name,p1-late,p1-earlyleave,p1-notwork);p2=(struct worker *)malloc(len);p1-next=p2;p3=p1;p1=p2;p1-next=null;free(p2);p3-next=null;fclose(fp);printf(n已读取%d项职工信息信息,按任意键返回,n);get
43、ch();system(cls);writenflag=0;if(!fclose(fp)printf(can not close the file!nn);exit(0);/*上午上班时间录入*/void monuprecord()char num20;time_t rawtime;struct tm * timeinfo;time ( &rawtime );timeinfo = localtime ( &rawtime );asctime (timeinfo);if(timeinfo-tm_wday=6|timeinfo-tm_wday=0)printf(n现在是周末,不是上班时间。n);printf(n按任意键返回.);getch();system(cls);return;if(timeinfo-tm_hour=12)printf(n现在不是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金属包装容器智能制造装备选型考核试卷
- 嵌入式系统硬件设计考题及答案
- 医院规则秩序管理制度
- 幼儿开学规矩管理制度
- 学校积分超市管理制度
- 在托儿童健康管理制度
- 学校清洁消毒管理制度
- 网络流量管理工具使用考题及答案
- 学习物资采购管理制度
- 启迪中学宿舍管理制度
- 医疗机构重点环节廉政风险防控措施
- 沪教版(五四学制)(2024)六年级下册单词表+默写单
- (云南卷)2025年中考地理第一次模拟考试(A4考试版)
- 高致病性美人鱼发光杆菌美人鱼亚种PCR检测方法
- 培智学校义务教育生活语文课程标准
- T-CAS 886-2024 输血相容性检测设备检测性能验证技术规范
- 餐饮标准化培训
- 稻鸭共作及其环境效应
- 安徽省A10联盟2024~2025学年高三上学期11月月考生物试题
- 极兔速递客服述职报告
- 触电事故应急救援演练方案和演练记录
评论
0/150
提交评论