C语言课程设计:职工考勤管理系统

版权申诉
0 下载量 186 浏览量 更新于2024-06-26 1 收藏 71KB DOCX 举报
"C语言课程设计职工考勤管理系统" 本次课程设计是基于C语言实现的职工考勤管理系统,旨在培养学生在实际场景中运用C语言解决问题的能力。系统提供了职工信息管理、考勤信息录入、显示、查询及删除等一系列功能,旨在模拟实际的职工考勤管理过程。 一、系统功能详解 1. 职工信息新建:用户可以输入新职工的工号、姓名、顺序号以及上下班时间,并将这些信息保存到文件中,以便后续查询和管理。 2. 考勤信息浏览:系统能够展示所有职工的考勤记录,方便管理者全面了解员工的出勤情况。 3. 查询功能:支持按照工号或姓名搜索特定职工的一周上下班时间,便于快速定位和查看特定员工的考勤状态。 4. 删除功能:允许用户删除某个职工的考勤信息,实现信息的动态管理。 二、开发环境 本系统在Windows XP/8.1操作系统上运行,采用Visual C++ 6.0作为开发工具。VC6.0是一款经典的C/C++集成开发环境,支持语法高亮、调试等功能,适合初学者进行程序开发。 三、函数功能说明 1. main():主函数,程序执行的入口,负责调用其他各个功能函数,控制程序的流程。 2. void input():录入函数,用于接收用户输入的职工信息,并存储到适当的数据结构中。 3. void display():显示函数,读取文件中的考勤数据,并在屏幕上展示给用户。 4. void search0():查找函数,根据用户输入的工号或姓名,查找相应的考勤记录。 5. void del():删除函数,允许用户选择并删除指定的考勤信息。 四、算法描述与流程 系统主要通过循环菜单的方式交互,用户根据提示选择对应的功能。每个功能的实现可能涉及数据的读写、查找、排序等算法。例如,录入函数可能需要使用文件操作,而查询函数则可能使用字符串匹配算法。 五、程序界面展示 系统包括一个欢迎界面和主菜单,用户通过主菜单选择操作,如录入考勤信息、显示考勤信息、查询考勤信息和删除考勤信息。成功删除考勤信息后,系统会给出相应的提示。 六、项目总结 完成这个课程设计,学生认识到C语言编程的广泛性和深度,同时也体验到了编程的挑战和乐趣。通过实际操作,不仅锻炼了编程技能,也提升了问题解决和自我学习的能力。尽管过程中可能遇到困难,但一旦解决问题,收获的满足感和成就感将推动学生继续深入学习。 七、参考资料 本设计参考了以下两本书籍: 1. 李春葆等.C语言程序设计.清华大学出版社 2. 谭浩强.C程序设计 通过本次课程设计,学生不仅巩固了C语言的基础知识,还掌握了文件操作、用户交互、数据管理等实践技能,为今后的学习和职业生涯打下了坚实基础。
2023-05-31 上传
目 录 1.课程设计目的 2 2.需求分析 2 2.1要求 2 2.2任务描述 2 2.3运行环境 3 2.4开发工具 3 3.总体设计 3 3.1系统流设计 3 3.2系统模块设计 4 4.详细设计 5 4.1数据结构设计 5 4.2模块接口设计 6 4.3 以下是几个主要模块的流程图: 6 5.运行结果 9 5.1主菜单界面: 10 5.2信息录入界面: 11 5.3信息浏览界面: 12 5.4 信息查询界面: 14 5.5信息修改界面: 15 6.程序调试与测试 16 6.1程序调试 16 6.2程序测试 16 7.问题与不足 17 8.建议 17 9.编程体会 17 10.程序源代码: 17 11.参考文献 32 12.用户使用手册 33 1.课程设计目的 1) 通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合 理的模块化结构。 2) 通过课程设计,进一步掌握C语言中重要的数据结构。掌握并熟练运用指针、链表、结 构体、文件等数据结构。 3) 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。 4) 通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来 ,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。 5) 通过课程设计,加强了自己的程序分析能力。 2.需求分析 2.1要求 1) 遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力 。 2) 运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计 、概要设计、详细设计、编写代码、调试和测试C程序等过程。 3) 学会利用数组、结构体、链表进行相关信息表示。 4) 功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述 5) 各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口 等关系正确。 6) 所设计的C程序较好的可读性和可靠性;程序书写风格规范,注释清晰。 7) 界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入 信息有较完善的值域分析。 8) 程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。 9) 学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。 10) 掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。 11) C语言课程设计报告的内容反应实际设计过程,且符合格式要求,无抄袭现象。 2.2任务描述 假定公司有职工10人,职工有职工号、姓名、以周为记录时长的考勤情况(迟到次数 、早退次数、旷工天数)三项记录,一周上班五天,每天上午上班时间为8:00,下班时 间为11:30、下午2:00上班,5:30下班。 试设计一考勤管理系统,使之能提供以下功能: (1) 系统以菜单方式工作(用键盘输入1~5之间的数来选择功能,其中6为退出) (2) 职工上班、下班录入功能(职工号、姓名任意给一个即可,上班时间(自动获取系统时 间)、下班时间(自动获取系统时间)) (3) 职工出勤情况整体浏览功能(职工号、姓名、(迟到、早退、旷工)、无前项则显示全 勤) (4) 查询功能,按职工号、姓名、迟到、早退、旷工、全勤查询(至少一种查询方式) (5) 职工考勤信息的删除(给定密码后可按职工号、姓名、考勤情况任一项进行删除) (6) 考勤信息的修改(给定密码后可按职工号、姓名、考勤情况任一项进行删除) (7) 所有数据符合实际应用要求 2.3运行环境 1) WindowsXP/7系统 2) VC++6.0编译环境 2.4开发工具 C语言 3.总体设计 3.1系统流设计 本系统的功能模块如图1所示,主要有以下模块: 图1系统功能模块图 3.2系统模块设计 1) 主菜单界面:构造函数void menu(),实现系统主菜单的显示。 2) 删除职工资料:构造函数void Del(Link l),实现职工资料的删除。并且要密码输入的要求(可以修改密码)。 3) 职工资料录入:构造函数void Qur1(Link l)和void Qur2(Link l)。分别对应上班时间和下班时间的录入。 4) 查询职工资料:构造函数void find(Link l),实现对需要修改资料的学生的查询,并提供姓名和工号两种查询方式。 5) 修改职工资料:构造函数void Modify(Link l),实现职工对工号和姓名的修改。 6) 保存职工资料:构造函数void Save(Link l),实现资料修改,删除等功能之后的保存。 7) 整体浏览:构造函数void Disp(Link l),实现对全部职工的全部信息的浏览。 4.详细设计 4.1数据结构设计 (根据具体的题目