考勤管理系统C语言课程设计.docx

上传人:b****1 文档编号:261517 上传时间:2022-10-08 格式:DOCX 页数:39 大小:232.77KB
下载 相关 举报
考勤管理系统C语言课程设计.docx_第1页
第1页 / 共39页
考勤管理系统C语言课程设计.docx_第2页
第2页 / 共39页
考勤管理系统C语言课程设计.docx_第3页
第3页 / 共39页
考勤管理系统C语言课程设计.docx_第4页
第4页 / 共39页
考勤管理系统C语言课程设计.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

考勤管理系统C语言课程设计.docx

《考勤管理系统C语言课程设计.docx》由会员分享,可在线阅读,更多相关《考勤管理系统C语言课程设计.docx(39页珍藏版)》请在冰豆网上搜索。

考勤管理系统C语言课程设计.docx

HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGY

C语言程序设计课程设计报告

课设题目:

考勤管理系统

专 业:

自动化

班 级:

T1123-5

姓 名:

薛志波

成 绩:

完成日期:

2012年6月28日-2012年6月30日

指导教师:

史旅华 孙剑萍

目 录

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)主菜单界面:

构造函数voidmenu(),实现系统主菜单的显示。

2)删除职工资料:

构造函数void Del(Link l),实现职工资料的删除。

并且要密码输入的要求(可以修改密码)。

3)职工资料录入:

构造函数voidQur1(Linkl)和voidQur2(Linkl)。

分别对应上班时间和下班时间的录入。

4)查询职工资料:

构造函数void find(Link l),实现对需要修改资料的

学生的查询,并提供姓名和工号两种查询方式。

5)修改职工资料:

构造函数void Modify(Link l),实现职工对工号和姓名的修改。

6)保存职工资料:

构造函数voidSave(Linkl),实现资料修改,删除等功能之后的保存。

7)整体浏览:

构造函数void Disp(Link l),实现对全部职工的全部信息的浏览。

4.详细设计

4.1数据结构设计

(根据具体的题目来写这部分,不要照抄)

根据系统要求,系统中需要保存的数据信息,其结构如下:

数据项名称

数据项系统表示

数据类型

数据长度

备注

工号

num

char

13

姓名

name

char

20

早退

early

int

迟到

late

int

根据系统要求,系统中需要保存的类别信息,其结构如下:

类别代号

类别名称

(根据具体的题目来写这部分,不要照抄)

职工信息1

职工信息4

职工信息2

职工信息3

为了能实现不受限制的增加职工信息,采用链表的结构保存职工信息,在增加职工的基本信息时,创建一个职工信息的节点,将其插入到链表中,示意图如下。

为此,先声明一个类型为structwrker的结构体,其成员为学生的简历信息。

然后通过对指针、链表、文件等数据结构的操作,实现对学生简历信息的录入,插入,存盘,查询,浏览,删除,修改等一系列操作。

其中,结构体定义如下:

ststructworker

{

charnum[13];/*工号*/

charname[20];/*姓名*/intlate;

intearly;intnowork;

};



Comment[Sun1]:

你定义了两个全局变量,还有一个number

Comment[Sun2]:

主要模块的实现应包含程序中重要功能的函数的实现的介绍

typedefstructnode

{

structworkerdata;structnode*next;

}Node,*Link;/*结构体指针*/4.2模块接口设计

1)所有函数模块声明如下:

voidmenu();/*显示菜单*/

node*search/*定位链表中符合要求的接点,并返回该指针*/voidQur1(Linkl)/*职工上班录入功能*/

voidQur2(Linkl)/*职工下班录入功能*/voidfind(Linkl)/*查询职工的信息*/voidDel(Linkl)/*删除职工信息*/

voidModify(Linkl)/*修改职工板块*/voidDisp(Linkl)/*浏览全体职工的信息*/voidSave(Linkl)/*职工信息的保存*/

intmain()/*主函数*/

2)并定义一个全局变量:

typedefstruct*Link;

主要模块的实现

3)

系统以主函数void main()为入口,首先通过textcolor(black)以及

textbackgroud(white)将文本颜色置为黑色,背景颜色置为白色。

然后调用voidmai()函数,进入主菜单界面。

系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。

4.3以下是几个主要模块的流程图:

1)主菜单函数:

是否合法

接收用户选项

打印主菜单

是否为0

退出系统

调用对应选项函数进入下一级菜单

图2主函数流程图

2)全体信息浏览函数:

显示子菜单

是否合法

打印全部链表的内容

用户输入选择

3)信息查询函数:

图3 全体员工信息浏览流程

按工号查询还是按姓名查询

按工号

按姓名

输入工号

输入姓名

显示信息

显示信息

5.运行结果

5.1主菜单界面:

图5主菜单界面输入功能选择,系统自动进入相应功能界面。

5.2信息删除界面:

图6信息录入界面

5.3信息浏览界面:

图7全部信息浏览

5.3信息查询界面

图8按工号查询

图9按姓名查询

5.4信息修改界面:

从键盘中输入选择,可以修改学号和姓名。

5.5信息保存界面:

图10 修改信息

从键盘中输入选择。

图11文件保存

5.5信息录入界面:

(1)上班录入界面

(2)下班录入界面

6.程序调试与测试

6.1程序调试

主菜单功能调试

删除功能调试:

录入功能调试:

查询功能调试:

修改功能调试:

6.2程序测试

(1)各模块测试用例数据的确定。

随机确定的。

(2)测试结果。

正常

(3)测试中出现的问题的原因和分析。

出现读取错误的现象。

原因是因为疏忽忘了在前面加地址符。

7.问题与不足

(1)在编写代码时,总是犯一些低级的错误,例如大小写字母的切换,分号和大括号的遗漏等。

(2)需求中的返回主菜单,仍需要改进,应在每个子菜单输出打印后都能返回主菜单。

(3)界面的设计不是很灵活,有些东西略显多余。

8.建议

课程设计的过程第一个综合学习的过程,需要运用很多以前学过甚至是没学过的知识点和相关函数。

因此同学们必须查大量的资料或者是问同学们、老师们,此阶段用的时间较长。

在老师验收程序时,希望老师能考虑到这一点。

9.编程体会

此次的课程设计让我真正的体会到了c语言的魅力。

此过程是一个漫长的过程,需要我们认真耐心的对待,只有这样,我们的程序才会达到预期的完美效果。

这个可设差不多做了两个星期左右,这几天每天都呆在机房中。

刚开始对题目根本没有什么头绪,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1